[Intel-gfx] [PATCH 11/13] drm/i915/dsb: Write each legacy LUT entry twice with DSB

Ville Syrjälä ville.syrjala at linux.intel.com
Fri Feb 3 10:50:33 UTC 2023


On Thu, Feb 02, 2023 at 07:05:27PM +0000, Manna, Animesh wrote:
> 
> 
> > -----Original Message-----
> > From: Intel-gfx <intel-gfx-bounces at lists.freedesktop.org> On Behalf Of Ville
> > Syrjala
> > Sent: Wednesday, January 18, 2023 10:01 PM
> > To: intel-gfx at lists.freedesktop.org
> > Subject: [Intel-gfx] [PATCH 11/13] drm/i915/dsb: Write each legacy LUT entry
> > twice with DSB
> > 
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > 
> > The DSB has problems loading the legacy LUT. Looks like simply writing each
> > LUT entry twice back-to-back is sufficient workaround for this.
> > 
> > Curiously it doesn't even matter what data we provide for the first write, the
> > second write always seems to work 100%. So this doesn't seem to be some
> > kind of simple race where the data gets latched before it's actually available
> > on some bus (which was my first hunch).
> > 
> > TODO: need to figure out what is the actual hw issue here
> > 
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_color.c | 11 ++++++++++-
> >  1 file changed, 10 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_color.c
> > b/drivers/gpu/drm/i915/display/intel_color.c
> > index 4c3344ee473e..8de2dc4b7904 100644
> > --- a/drivers/gpu/drm/i915/display/intel_color.c
> > +++ b/drivers/gpu/drm/i915/display/intel_color.c
> > @@ -860,9 +860,18 @@ static void ilk_load_lut_8(const struct
> > intel_crtc_state *crtc_state,
> > 
> >  	lut = blob->data;
> > 
> > -	for (i = 0; i < 256; i++)
> > +	for (i = 0; i < 256; i++) {
> > +		/*
> > +		 * DSB fails to correctly load the legacy
> > +		 * LUT unless we write each entry twice.
> > +		 * It doesn't actually matter what data we
> > +		 * provide for the first write.
> > +		 */
> 
> Is it confirmed by hardware team?

Haven't filed the hsd yet on account of being busy debugging
other DSB issues. But I should do that soon.

> Is there any difference with indexed register write and single register write.

It doesn't matter what kind of write you use. I also tried all
various other tricks (eg. the non-posted write stuff, and just
slowing things down with other registers writes, etc.).

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list