• Ville Syrjälä's avatar
    drm/i915: Disable DSB usage for now · 99510e1a
    Ville Syrjälä authored
    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.
    
    Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3916Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211014181856.17581-2-ville.syrjala@linux.intel.comReviewed-by: default avatarUma Shankar <uma.shankar@intel.com>
    99510e1a
i915_pci.c 32.1 KB