[Intel-gfx] [PATCH 0/2] drm/i915: Fix the invisible cursor syndrome

ville.syrjala at linux.intel.com ville.syrjala at linux.intel.com
Mon Dec 14 03:16:46 PST 2015

From: Ville Syrjälä <ville.syrjala at linux.intel.com>

These two should provide the minimal fix for the invisible cursor
problem that's been plaguing me and some other people. It's caused
by the cursor bo getting bound at ggtt offset 0, which the code then
considers to mean "not enabled". These patches get rid of that assumption,
with the caveat that we may do some needless cursor register writes.
I have a more generic fix for that (and a ton of other cursor improvements)
at [1], but I figured that I'll just post the critical fixes now and allow
the others to stew a bit more in the branch until maybe early next year.

I assume the problem is also related to the lack of fbdev pinning that
Chris has fixed [2]. With fbdev permanalty pinned at offset 0, there's
no opportunity for the cursor bo to travel there. Without fbdev I suppose
something else rings, status page, etc. could get permanently placed
at offset 0, so not sure if this can be hit in that case (didn't try it).

I'm a bit wary about adding cc stable to these since I suspect that
backporting them too far will cause regressions, on account of the
atomic/plane stuff probably not being up to the task in older kernels.
So maybe better get these in w/o cc stable and consider a backport again
later if it looks necessary.

[1] git://github.com/vsyrjala/linux.git cursor_improvements
[2] http://lists.freedesktop.org/archives/intel-gfx/2015-December/082114.html

Ville Syrjälä (2):
  drm/i915: Kill intel_crtc->cursor_bo
  drm/i915: Drop the broken cursor base==0 special casing

 drivers/gpu/drm/i915/intel_display.c | 34 ++++++++++++----------------------
 drivers/gpu/drm/i915/intel_drv.h     |  1 -
 2 files changed, 12 insertions(+), 23 deletions(-)

Cc: Takashi Iwai <tiwai at suse.de>
Cc: Jani Nikula <jani.nikula at linux.intel.com>

More information about the Intel-gfx mailing list