]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit - drivers/gpu/drm/i915/intel_display.c
drm/i915: Wait until after wm optimization to drop runtime PM reference
authorMatt Roper <matthew.d.roper@intel.com>
Fri, 4 Mar 2016 23:59:39 +0000 (15:59 -0800)
committerImre Deak <imre.deak@intel.com>
Tue, 22 Mar 2016 12:48:27 +0000 (14:48 +0200)
commit177246a84d133888b5428e44201282d94635f473
tree11b8ba39159d9ca6e0a13155026397cc85fb6f54
parent14b730fcb8d9b9c6fed540829548040ef8d2ca2c
drm/i915: Wait until after wm optimization to drop runtime PM reference

At the end of an atomic commit, we currently wait for vblanks to
complete, call put() on the various runtime PM references, and then try
to optimize our watermarks (on platforms that need two-step watermark
programming).  This can lead to watermark registers being programmed
while the power well is powered down.  We need to wait until after
watermark optimization is complete before dropping our runtime power
references.

Note that in the future the watermark optimization is probably going to
move to an asynchronous workqueue task that happens at some arbitrary
point after vblank.  When we make that change, we'll no longer
necessarily be operating under the power reference held here, so we'll
need to wrap the watermark register programmin in a call to
intel_runtime_pm_get_if_in_use() or similar.

Cc: arun.siluvery@linux.intel.com
Cc: ville.syrjala@linux.intel.com
Cc: maarten.lankhorst@linux.intel.com
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94349
Fixes: ed4a6a7ca853 ("drm/i915: Add two-stage ILK-style watermark programming (v11)")
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1457135979-23727-1-git-send-email-matthew.d.roper@intel.com
drivers/gpu/drm/i915/intel_display.c