linux_dsm_epyc7002/drivers/gpu/drm/i915
Matt Roper a28170f338 drm/i915: Calculate ILK-style watermarks during atomic check (v3)
Calculate pipe watermarks during atomic calculation phase, based on the
contents of the atomic transaction's state structure.  We still program
the watermarks at the same time we did before, but the computation now
happens much earlier.

While this patch isn't too exciting by itself, it paves the way for
future patches.  The eventual goal (which will be realized in future
patches in this series) is to calculate multiple sets up watermark
values up front, and then program them at different times (pre- vs
post-vblank) on the platforms that need a two-step watermark update.

While we're at it, s/intel_compute_pipe_wm/ilk_compute_pipe_wm/ since
this function only applies to ILK-style watermarks and we have a
completely different function for SKL-style watermarks.

Note that the original code had a memcmp() in ilk_update_wm() to avoid
calling ilk_program_watermarks() if the watermarks hadn't changed.  This
memcmp vanishes here, which means we may do some unnecessary result
generation and merging in cases where watermarks didn't change, but the
lower-level function ilk_write_wm_values already makes sure that we
don't actually try to program the watermark registers again.

v2: Squash a few commits from the original series together; no longer
    leave pre-calculated wm's in a separate temporary structure since
    it's easier to follow the logic if we just cut over to using the
    pre-calculated values directly.

v3:
 - Pass intel_crtc instead of drm_crtc to .compute_pipe_wm() entrypoint
   and use intel_atomic_get_crtc_state() to avoid need for extra
   casting.  (Ander)
 - Drop unused intel_check_crtc() function prototype.  (Ander)

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-09-30 17:16:00 +02:00
..
dvo_ch7xxx.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
dvo_ch7017.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
dvo_ivch.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
dvo_ns2501.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
dvo_sil164.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
dvo_tfp410.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
dvo.h drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
i915_cmd_parser.c drm/i915: Fix cmdparser STORE/LOAD command descriptors 2015-09-04 10:43:09 +02:00
i915_debugfs.c drm/i915/skl: Simplify wm structures slightly (v2) 2015-09-30 17:15:15 +02:00
i915_dma.c drm/i915/bdw: Check for slice, subslice and EU count for BDW 2015-09-30 14:13:03 +02:00
i915_drv.c drm/i915/skl Remove the call for csr uninitialization from suspend path 2015-09-30 10:14:23 +02:00
i915_drv.h drm/i915: Calculate ILK-style watermarks during atomic check (v3) 2015-09-30 17:16:00 +02:00
i915_gem_batch_pool.c
i915_gem_batch_pool.h
i915_gem_context.c drm/i915: Always enable execlists on BDW for vgpu 2015-09-02 11:45:50 +02:00
i915_gem_debug.c drm/i915: Implement inter-engine read-read optimisations 2015-05-21 15:11:42 +02:00
i915_gem_dmabuf.c drm/i915: remove unused has_dma_mapping flag 2015-07-13 22:42:41 +02:00
i915_gem_evict.c
i915_gem_execbuffer.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2015-09-30 08:47:41 +02:00
i915_gem_fence.c drm/i915: Parametrize fence registers 2015-09-30 10:20:03 +02:00
i915_gem_gtt.c drm/i915: Add LO/HI PRIVATE_PAT registers 2015-09-30 10:20:13 +02:00
i915_gem_gtt.h drm/i915: Enable querying offset of UV plane with intel_plane_obj_offset 2015-09-23 17:31:29 +02:00
i915_gem_render_state.c drm/i915: Add provision to extend Golden context batch 2015-07-21 09:30:57 +02:00
i915_gem_render_state.h drm/i915: Add provision to extend Golden context batch 2015-07-21 09:30:57 +02:00
i915_gem_shrinker.c
i915_gem_stolen.c drm/i915: don't use the first stolen page on Broadwell 2015-09-30 10:20:05 +02:00
i915_gem_tiling.c Merge tag 'drm-intel-fixes-2015-08-14' into drm-intel-next-fixes 2015-08-14 18:11:30 +02:00
i915_gem_userptr.c drm/i915/userptr: Kill user_size limit check 2015-08-14 18:16:27 +02:00
i915_gem.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2015-09-30 08:47:41 +02:00
i915_gpu_error.c drm/i915: Parametrize fence registers 2015-09-30 10:20:03 +02:00
i915_guc_reg.h drm/i915: Parametrize UOS_RSA_SCRATCH 2015-09-30 10:20:13 +02:00
i915_guc_submission.c drm/i915/guc: Media domain bit needed when notify GuC rc6 state 2015-09-30 17:15:12 +02:00
i915_ioc32.c Merge tag 'drm-intel-fixes-2015-07-15' into drm-intel-next-queued 2015-07-15 16:36:50 +02:00
i915_irq.c drm/i915: Use czclk_freq in vlv c0 residency calculations 2015-09-30 10:20:39 +02:00
i915_params.c drm/i915: Mark debug mod options as _unsafe 2015-09-22 17:10:53 +02:00
i915_reg.h drm/i915/bdw: Check for slice, subslice and EU count for BDW 2015-09-30 14:13:03 +02:00
i915_suspend.c drm/i915: use dev_priv for the FBC functions 2015-07-08 11:39:45 +02:00
i915_sysfs.c drm/i915/bxt: fix RC6 residency time calculation 2015-09-30 17:15:13 +02:00
i915_trace_points.c
i915_trace.h drm/i915: cleanup pipe_update trace functions with new crtc debug info v3 2015-09-18 14:15:19 +03:00
i915_vgpu.c
i915_vgpu.h drm/i915: Update PV INFO page definition for Intel GVT-g 2015-09-02 11:46:12 +02:00
intel_acpi.c drm/i915: Spell vga_switcheroo consistently 2015-09-22 17:10:52 +02:00
intel_atomic_plane.c drm/i915: Do not handle a null plane state. 2015-09-10 18:27:17 +02:00
intel_atomic.c drm/i915/ivb: Move WaCxSRDisabledForSpriteScaling w/a to atomic check 2015-09-30 17:15:42 +02:00
intel_audio.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
intel_bios.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2015-09-30 08:47:41 +02:00
intel_bios.h drm/i915: Ignore "digital output" and "not HDMI output" bits for eDP detection 2015-09-23 16:58:29 +02:00
intel_crt.c drm/i915: s/_FDI_RXA_.../FDI_RX_...(PIPE_A)/ 2015-09-30 17:15:11 +02:00
intel_csr.c drm/i915/skl: Added a check for the hardware status of csr fw before loading. 2015-09-30 10:14:22 +02:00
intel_ddi.c drm/i915: s/_FDI_RXA_.../FDI_RX_...(PIPE_A)/ 2015-09-30 17:15:11 +02:00
intel_display.c drm/i915: Calculate ILK-style watermarks during atomic check (v3) 2015-09-30 17:16:00 +02:00
intel_dp_mst.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
intel_dp.c drm/i915: make backlight hooks connector specific 2015-09-30 10:20:41 +02:00
intel_drv.h drm/i915: Calculate pipe watermarks into CRTC state (v3) 2015-09-30 17:15:56 +02:00
intel_dsi_panel_vbt.c drm/i915: s/dpio_lock/sb_lock/ 2015-05-28 11:13:51 +02:00
intel_dsi_pll.c drm/i915/bxt: Disable DSI PLL for BXT 2015-09-23 10:10:21 +02:00
intel_dsi.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
intel_dsi.h drm/i915/bxt: Disable DSI PLL for BXT 2015-09-23 10:10:21 +02:00
intel_dvo.c drm/i915: Constify adjusted_mode 2015-09-30 10:20:11 +02:00
intel_fbc.c drm/i915: export size_is_valid() from __intel_fbc_update() 2015-09-30 10:20:07 +02:00
intel_fbdev.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2015-09-30 08:47:41 +02:00
intel_fifo_underrun.c
intel_frontbuffer.c drm/i915: fix FBC frontbuffer tracking flushing code 2015-08-05 09:59:44 +02:00
intel_guc_fwif.h drm/i915/guc: Media domain bit needed when notify GuC rc6 state 2015-09-30 17:15:12 +02:00
intel_guc_loader.c drm/i915: Parametrize UOS_RSA_SCRATCH 2015-09-30 10:20:13 +02:00
intel_guc.h drm/i915: Integrate GuC-based command submission 2015-08-14 18:16:44 +02:00
intel_hdmi.c drm/i915: Add HDMI aspect ratio property for SDVO 2015-09-30 10:20:12 +02:00
intel_hotplug.c drm/i915/skl: enable DDI-E hotplug 2015-08-26 10:24:25 +03:00
intel_i2c.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-06-26 13:18:51 -07:00
intel_lrc.c drm/i915: Remove extraneous request cancel. 2015-09-23 17:33:55 +02:00
intel_lrc.h drm/i915: Parametrize LRC registers 2015-09-23 17:13:01 +02:00
intel_lvds.c drm/i915: Always call the adjusted mode 'adjusted_mode' 2015-09-30 10:19:52 +02:00
intel_mocs.c drm/i915: Added Programming of the MOCS 2015-07-14 17:13:14 +02:00
intel_mocs.h drm/i915: Added Programming of the MOCS 2015-07-14 17:13:14 +02:00
intel_modes.c drm/i915: Add HDMI aspect ratio property for SDVO 2015-09-30 10:20:12 +02:00
intel_opregion.c Merge tag 'drm-intel-fixes-2015-07-15' into drm-intel-next-queued 2015-07-15 16:36:50 +02:00
intel_overlay.c drm/i915: Update intel_ring_begin() to take a request structure 2015-06-23 14:02:29 +02:00
intel_panel.c drm/i915: make backlight hooks connector specific 2015-09-30 10:20:41 +02:00
intel_pm.c drm/i915: Calculate ILK-style watermarks during atomic check (v3) 2015-09-30 17:16:00 +02:00
intel_psr.c drm/i915: VLV/CHV PSR: Increase wait delay time before active PSR. 2015-08-05 10:07:44 +02:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h
intel_ringbuffer.c drm/i915/gen8: Move WaHdcDisableFetchWhenMasked to common init fn 2015-09-30 10:20:34 +02:00
intel_ringbuffer.h drm/i915: Refactor common ringbuffer allocation code 2015-09-04 10:17:00 +02:00
intel_runtime_pm.c drm/i915: fixup runtime PM handling v2 2015-09-30 10:20:01 +02:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Add HDMI aspect ratio property for SDVO 2015-09-30 10:20:12 +02:00
intel_sideband.c drm/i915: s/dpio_lock/sb_lock/ 2015-05-28 11:13:51 +02:00
intel_sprite.c drm/i915: Drop intel_update_sprite_watermarks 2015-09-30 17:15:47 +02:00
intel_tv.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2015-09-30 08:47:41 +02:00
intel_uncore.c drm/i915: Include MCHBAR_MIRROR_BASE in ILK_GDSR 2015-09-30 10:20:15 +02:00
Kconfig drm/i915: Use CONFIG_DRM_FBDEV_EMULATION 2015-08-11 14:00:29 +02:00
Makefile Merge tag 'drm-intel-next-fixes-2015-09-02' into drm-intel-next-queued 2015-09-02 14:33:42 +02:00