From: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> As the introduced comment admits this is clearly a workaround, but for me this is the only known way to make my Lenovo X201 work without flickering and crashing. Signed-off-by: Uwe Kleine-König <uwe@xxxxxxxxxxxxxxxxx> [uwe: added changelog, comment and restrict to GEN5] --- Hello, as I don't like having to compile my own kernel (which has this workaround) I suggest to apply this patch until someone with more knowledge than me about i915 finds the muse and time to work on this. If applying this patch means that I will become i915 maintainer, then please don't apply; I'm not ready for this :-) Best regards Uwe drivers/gpu/drm/i915/intel_display.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index f0b9aa7a0483..126825c207b3 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -16488,6 +16488,17 @@ int intel_modeset_init(struct drm_device *dev) } else if (IS_GEN2(dev_priv)) { dev->mode_config.cursor_width = GEN2_CURSOR_WIDTH; dev->mode_config.cursor_height = GEN2_CURSOR_HEIGHT; + } else if (IS_GEN5(dev_priv)) { + /* + * actually the hardware should be capable to handle + * MAX_CURSOR_{WIDTH,HEIGHT} (i.e. 256), but on some GEN 5 + * hardware this results in fifo underruns, occasional + * hardware lockups and display artifacts. + * See https://bugs.freedesktop.org/show_bug.cgi?id=98742 for + * more details. + */ + dev->mode_config.cursor_width = 64; + dev->mode_config.cursor_height = 64; } else { dev->mode_config.cursor_width = MAX_CURSOR_WIDTH; dev->mode_config.cursor_height = MAX_CURSOR_HEIGHT; -- 2.11.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx