Re: [PATCH v2 00/19] drm/i915: Load LUTs with DSB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 06, 2023 at 10:14:45PM +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> 
> Another attempt at re-enabling DSB based LUT loads.
> 
> The main change from the last attempt is that we now
> use the DSB's DEwake mechanism to combat PkgC latency
> which was causing the LUT to not always load correctly
> (due to the anti-collision logic not working correctly
> for DSB LUT accesses).
> 
> I also got the non-posted writes working correctly 
> which lets us load the legacy LUT without the 
> "write each entry twice" trick I used previously.
> 
> Ville Syrjälä (19):
>   drm/i915: Constify LUT entries in checker
>   drm/i915/dsb: Use non-locked register access
>   drm/i915/dsb: Dump the DSB command buffer when DSB fails
>   drm/i915/dsb: Define more DSB bits
>   drm/i915/dsb: Define the contents of some intstructions bit better
>   drm/i915/dsb: Avoid corrupting the first register write
>   drm/i915/dsb: Don't use indexed writes when byte enables are not all
>     set
>   drm/i915/dsb: Introduce intel_dsb_noop()
>   drm/i915/dsb: Introduce intel_dsb_reg_write_masked()
>   drm/i915/dsb: Add support for non-posted DSB registers writes
>   drm/i915/dsb: Don't use DSB to load the LUTs during full modeset
>   drm/i915/dsb: Load LUTs using the DSB during vblank
>   drm/i915/dsb: Use non-posted register writes for legacy LUT
>   drm/i915/dsb: Evade transcoder undelayed vblank when using DSB
>   drm/i915: Introduce skl_watermark_max_latency()
>   drm/i915: Introudce intel_crtc_scanline_to_hw()
>   drm/i915/dsb: Use DEwake to combat PkgC latency

Everything up to here pushed now.

>   drm/i915/dsb: Re-instate DSB for LUT updates
>   drm/i915: Do state check for color management changes

I'll do another repost of these two to get a fresh
CI run, just in case.

Thanks for the reviews.

> 
>  drivers/gpu/drm/i915/display/intel_color.c    |  58 +++--
>  drivers/gpu/drm/i915/display/intel_color.h    |   2 +
>  drivers/gpu/drm/i915/display/intel_crtc.c     |  10 +-
>  drivers/gpu/drm/i915/display/intel_display.c  |   3 +
>  drivers/gpu/drm/i915/display/intel_dsb.c      | 217 +++++++++++++++---
>  drivers/gpu/drm/i915/display/intel_dsb.h      |   9 +-
>  drivers/gpu/drm/i915/display/intel_dsb_regs.h |  31 +++
>  .../drm/i915/display/intel_modeset_verify.c   |   2 +
>  drivers/gpu/drm/i915/display/intel_vblank.c   |  14 ++
>  drivers/gpu/drm/i915/display/intel_vblank.h   |   1 +
>  drivers/gpu/drm/i915/display/skl_watermark.c  |  14 ++
>  drivers/gpu/drm/i915/display/skl_watermark.h  |   2 +
>  12 files changed, 317 insertions(+), 46 deletions(-)
> 
> -- 
> 2.39.3

-- 
Ville Syrjälä
Intel



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux