[Intel-gfx] [PATCH 2/2] drm/i915: Disable DSB usage for now
Shankar, Uma
uma.shankar at intel.com
Thu Nov 18 19:40:48 UTC 2021
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces at lists.freedesktop.org> On Behalf Of Ville Syrjala
> Sent: Thursday, October 14, 2021 11:49 PM
> To: intel-gfx at lists.freedesktop.org
> Subject: [Intel-gfx] [PATCH 2/2] drm/i915: Disable DSB usage for now
>
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Turns out the DSB has trouble correctly loading the gamma LUT.
> From a cursory look maybe like some entries do not load properly, or they get
> loaded with some gibberish. Unfortunately our current kms_color/etc. tests do not
> seem to catch this.
>
> I had a brief look at the generated DSB batch and it looked correct. Tried a few quick
> tricks like writing the index register twice/etc. but didn't see any improvement.
> Also tried switching to the 10bit gamma mode in case there is yet another issue with
> the multi-segment mode, but even the 10bit mode was showing issues.
>
> Switching to mmio fixes all of it. I suppose one theory is that maybe the DSB bangs
> on the LUT too quickly and it can't keep up and instead some data either gets
> dropped or corrupted. To confirm that someone should try to slow down the DSB's
> progress a bit.
> Another thought was that maybe the LUT has crappy dual porting and you get
> contention if you try to load it during active scanout. But why then would the mmio
> path work, unless it's just sufficiently slow?
>
> Whatever the case, this is currently busted so let's disable it until we get to the root
> of the problem.
DSB functionally should work, as no potential hw issue is identified. We may have to
handle it better in driver. With this under investigation, we can disable it for now while
the fix is getting identified.
Reviewed-by: Uma Shankar <uma.shankar at intel.com>
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3916
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
> drivers/gpu/drm/i915/i915_pci.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c index
> 7655c7a4f904..bfc7bdde73a1 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -872,7 +872,7 @@ static const struct intel_device_info jsl_info = {
> TGL_CURSOR_OFFSETS, \
> .has_global_mocs = 1, \
> .has_pxp = 1, \
> - .display.has_dsb = 1
> + .display.has_dsb = 0 /* FIXME: LUT load is broken with DSB */
>
> static const struct intel_device_info tgl_info = {
> GEN12_FEATURES,
> --
> 2.32.0
More information about the Intel-gfx
mailing list