]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Use I915_READ_FW for plane updates
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 9 Mar 2017 15:44:33 +0000 (17:44 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 13 Mar 2017 19:15:06 +0000 (21:15 +0200)
commit18100545f91b310f45c7070db9e38fce9f63a358
tree9019cadca3737f4ecbaf2281116d8eec5c75445e
parent8a29cee6dd540492181b2143c6b8fd86e726009c
drm/i915: Use I915_READ_FW for plane updates

Optimize the plane register accesses a little bit by grabbing
the uncore lock manually across the entire pile of accesses and
using I915_READ_FW().

This helps keep the pipe update vblank evade critical section
below our 100 usec deadline, particularly with lockdep enabled.
And in general we want to keep that critical section as short
as possible as it's executed with interrupts disabled.

Not all plane updates currently happen from within the vblank evade
critical section, so we must use the irqsave/irqrestore variants
of the spinlock functions in the plane hooks.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170309154434.29303-5-ville.syrjala@linux.intel.com
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_sprite.c