]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Kill intel_runtime_pm_disable()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 6 Nov 2015 13:08:31 +0000 (15:08 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 11 Nov 2015 11:34:23 +0000 (13:34 +0200)
commit614f70e9ed67866221f65586ad82c70d16e0fec5
treec4aec93fcc03ab1287718765dfd6b89220f28fcb
parentd173154a2349e651ba552cbe4a334344f64c854e
drm/i915: Kill intel_runtime_pm_disable()

intel_runtime_pm_disable() takes an extra rpm reference which combined
with the one we leak from intel_display_set_init_power() leaves the
usage count at <original>+1 after the driver has been unloaded.
The original ref is dropped explicitly in intel_runtime_pm_enable().
So the next time we load the driver we can no longer do runtime PM ever.

This used to work, but
commit 3476772c617f ("drm/i915: Update power domains on readout.")
broke things by not dropping the init power domain during fbdev
teardown. Based on the comment in intel_power_domains_fini(), the
way it used to to work wasn't intentional. As in we weren't supposed
to drop the init power during driver unload. And since we no longer
do, we now leak an extra rpm reference.

So fix things by throwing intel_runtime_pm_disable() to the bin, so
that the only leaked reference comes from the init power domain.

Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Daniel Stone <daniels@collabora.com>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Fixes: 3476772c617f ("drm/i915: Update power domains on readout.")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1446815313-9490-2-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/gpu/drm/i915/intel_runtime_pm.c