]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/i915: Fix max cursor size for i915g/gm
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 28 Oct 2019 11:30:32 +0000 (13:30 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 15 May 2020 17:07:21 +0000 (20:07 +0300)
Apparently the 128x128 and 256x256 ARGB cursor modes were
only added on LPT/CST.

While the display section of bspec isn't super clear on the
subject, it does highlight these two modes in a different
color, has a few changlog entries indicating the 256x256 mode
was added for a LPT DCN, and that the 128x128 mode was also
added later (though no DCN/platform note there).

The "device dependencies" bspec section does list the 256x256x32
as a new feature for LPT/CST, and goes on to mention that current
hw only has the 64x64x32 mode (which reinforces the notion that
the 128x128 mode was also added at the same time).

Testing on actual hardware confirms all of this. CI shows all
the 128x128 and 256x256 tests failing on GDG, and my ALV
definitely doesn't like them.

So we shall limit GDG/ALV to 64x64 only. And while at it
let's adjust the mobile gen2 case to list the two platforms
explicitly so that the if-ladder looks reasonably uniform.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191028113036.27553-2-ville.syrjala@linux.intel.com
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/display/intel_display.c

index 9c8af50011e7e0f3c3e372f48f8b0bb532568142..bf8fd2f626a01bf17d1c40122a2c6f5cab509894 100644 (file)
@@ -17667,7 +17667,8 @@ static void intel_mode_config_init(struct drm_i915_private *i915)
        if (IS_I845G(i915) || IS_I865G(i915)) {
                mode_config->cursor_width = IS_I845G(i915) ? 64 : 512;
                mode_config->cursor_height = 1023;
-       } else if (IS_GEN(i915, 2)) {
+       } else if (IS_I830(i915) || IS_I85X(i915) ||
+                  IS_I915G(i915) || IS_I915GM(i915)) {
                mode_config->cursor_width = 64;
                mode_config->cursor_height = 64;
        } else {