]> 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)
commit4d94105a1a6a2975fd888525a659aded99aac542
treec4aec93fcc03ab1287718765dfd6b89220f28fcb
parent0ec635c0e02f5bcda84db4255986c22e3792d41c
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 b26367764c6c ("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: b26367764c6c ("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