[Intel-gfx] [PATCH 00/35] drm/i915: ILK+ watermark rewrite
ville.syrjala at linux.intel.com
ville.syrjala at linux.intel.com
Fri Jul 5 10:57:12 CEST 2013
Here's my big ILK+ watermark rewrite. The main idea of the series is to
write the watermark registers at vblank to make the changes (almost) in
sync with the plane changes that caused the change in watermarks.
I sent a massive RFC patch a while back, and this is now the somewhat
split up version.
It's still not quite where we need to get wrt. pre-computing and
properly checking the LP0 watermarks, but at least it gets us a bit
closer to that goal.
There's quite a bit of refactoring, small fixes, renaming, and what have you
at the beginning of the series, so a lot of it should be mergeable w/o too much
risk. Many of the patches only touch codepaths that are used by HSW currently,
but by the end of the series, ILK,SNB,IVB,HSW are all using the exact same
code.
So far I've run this somewhat succesfully on ILK and IVB.
----------------------------------------------------------------
Ville Syrjälä (35):
drm/i915: Add scaled paramater to update_sprite_watermarks()
drm/i915: Pass the actual sprite width to watermarks functions
drm/i915: Calculate the sprite WM based on the source width instead of the destination width
drm/i915: Rename hsw_wm_get_pixel_rate to ilk_pipe_pixel_rate
drm/i915: Rename most wm compute functions to ilk_ prefix
drm/i915: Pass the watermark level to primary WM compute functions
drm/i915: Don't pass "mem_value" to ilk_compute_fbc_wm
drm/i915: Change the watermark latency type to uint16_t
drm/i915: Split out reading of HSW watermark latency values
drm/i915: Don't multiply the watermark latency values too early
drm/i915: Add SNB/IVB support to intel_read_wm_latency
drm/i915: Add ILK support to intel_read_wm_latency
drm/i915: Store the watermark latency values in dev_priv
drm/i915: Use the stored cursor and plane latencies properly
drm/i915: Print the watermark latencies during init
drm/i915: Disable specific watermark levels when latency is zero
drm/i915: Pull watermark level validity check out
drm/i915: Split watermark level computation from the code
drm/i915: Kill fbc_enable from hsw_lp_wm_results
drm/i915: Rename hsw_data_buf_partitioning to intel_ddb_partitioning
drm/i915: Rename hsw_lp_wm_result to intel_wm_level
drm/i915: Calculate max watermark levels for ILK+
drm/i915; Pull some watermarks state into a separate structure
drm/i915: Split plane watermark parameters into a separate struct
drm/i915: Pass crtc to our update/disable_plane hooks
drm/i915: Don't try to disable plane if it's already disabled
drm/i915: Pass plane and crtc to intel_update_sprite_watermarks
drm/i915: Always call intel_update_sprite_watermarks() when disabling a plane
drm/i915: Pass crtc to intel_update_watermarks() and call it in one place during modeset
drm/i915: Replace the ILK/SNB/IVB/HSW watermark code
drm/i915: Move HSW linetime watermark handling to modeset code
hack: Add debug prints to watermark compute funcs
hack: Don't disable underrun reporting on the first error on ILK/SNB/IVB
hack: Make fifo underruns DRM_ERROR
hack: Print watermark programming duration
drivers/gpu/drm/i915/i915_drv.h | 41 +-
drivers/gpu/drm/i915/i915_irq.c | 32 +-
drivers/gpu/drm/i915/i915_reg.h | 2 +
drivers/gpu/drm/i915/intel_display.c | 45 +-
drivers/gpu/drm/i915/intel_drv.h | 47 +-
drivers/gpu/drm/i915/intel_pm.c | 1796 +++++++++++++++++-----------------
drivers/gpu/drm/i915/intel_sprite.c | 54 +-
7 files changed, 1039 insertions(+), 978 deletions(-)
More information about the Intel-gfx
mailing list