aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_runtime_pm.c
diff options
context:
space:
mode:
authorDavid Weinehall <david.weinehall@linux.intel.com>2016-08-22 06:32:44 -0400
committerChris Wilson <chris@chris-wilson.co.uk>2016-08-22 07:19:52 -0400
commit52a05c302bcfe571aa4896118e3d22feb51ab1c7 (patch)
treeefdf32a68732ee56430e8ab049646ccbe969730a /drivers/gpu/drm/i915/intel_runtime_pm.c
parent694c2828459e1d048b79c42dd8decbafb099707d (diff)
drm/i915: pdev cleanup
In an effort to simplify things for a future push of dev_priv instead of dev wherever possible, always take pdev via dev_priv where feasible, eliminating the direct access from dev. Right now this only eliminates a few cases of dev, but it also obviates that we pass dev into a lot of functions where dev_priv would be the more obvious choice. v2: Fixed one more place missing in the previous patch set Signed-off-by: David Weinehall <david.weinehall@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20160822103245.24069-5-david.weinehall@linux.intel.com Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_runtime_pm.c')
-rw-r--r--drivers/gpu/drm/i915/intel_runtime_pm.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 7686b7f1d599..6c11168facd6 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -287,6 +287,7 @@ void intel_display_set_init_power(struct drm_i915_private *dev_priv,
287 */ 287 */
288static void hsw_power_well_post_enable(struct drm_i915_private *dev_priv) 288static void hsw_power_well_post_enable(struct drm_i915_private *dev_priv)
289{ 289{
290 struct pci_dev *pdev = dev_priv->drm.pdev;
290 struct drm_device *dev = &dev_priv->drm; 291 struct drm_device *dev = &dev_priv->drm;
291 292
292 /* 293 /*
@@ -299,9 +300,9 @@ static void hsw_power_well_post_enable(struct drm_i915_private *dev_priv)
299 * sure vgacon can keep working normally without triggering interrupts 300 * sure vgacon can keep working normally without triggering interrupts
300 * and error messages. 301 * and error messages.
301 */ 302 */
302 vga_get_uninterruptible(dev->pdev, VGA_RSRC_LEGACY_IO); 303 vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO);
303 outb(inb(VGA_MSR_READ), VGA_MSR_WRITE); 304 outb(inb(VGA_MSR_READ), VGA_MSR_WRITE);
304 vga_put(dev->pdev, VGA_RSRC_LEGACY_IO); 305 vga_put(pdev, VGA_RSRC_LEGACY_IO);
305 306
306 if (IS_BROADWELL(dev)) 307 if (IS_BROADWELL(dev))
307 gen8_irq_power_well_post_enable(dev_priv, 308 gen8_irq_power_well_post_enable(dev_priv,
@@ -318,7 +319,7 @@ static void hsw_power_well_pre_disable(struct drm_i915_private *dev_priv)
318static void skl_power_well_post_enable(struct drm_i915_private *dev_priv, 319static void skl_power_well_post_enable(struct drm_i915_private *dev_priv,
319 struct i915_power_well *power_well) 320 struct i915_power_well *power_well)
320{ 321{
321 struct drm_device *dev = &dev_priv->drm; 322 struct pci_dev *pdev = dev_priv->drm.pdev;
322 323
323 /* 324 /*
324 * After we re-enable the power well, if we touch VGA register 0x3d5 325 * After we re-enable the power well, if we touch VGA register 0x3d5
@@ -331,9 +332,9 @@ static void skl_power_well_post_enable(struct drm_i915_private *dev_priv,
331 * and error messages. 332 * and error messages.
332 */ 333 */
333 if (power_well->data == SKL_DISP_PW_2) { 334 if (power_well->data == SKL_DISP_PW_2) {
334 vga_get_uninterruptible(dev->pdev, VGA_RSRC_LEGACY_IO); 335 vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO);
335 outb(inb(VGA_MSR_READ), VGA_MSR_WRITE); 336 outb(inb(VGA_MSR_READ), VGA_MSR_WRITE);
336 vga_put(dev->pdev, VGA_RSRC_LEGACY_IO); 337 vga_put(pdev, VGA_RSRC_LEGACY_IO);
337 338
338 gen8_irq_power_well_post_enable(dev_priv, 339 gen8_irq_power_well_post_enable(dev_priv,
339 1 << PIPE_C | 1 << PIPE_B); 340 1 << PIPE_C | 1 << PIPE_B);
@@ -2651,8 +2652,8 @@ void intel_power_domains_suspend(struct drm_i915_private *dev_priv)
2651 */ 2652 */
2652void intel_runtime_pm_get(struct drm_i915_private *dev_priv) 2653void intel_runtime_pm_get(struct drm_i915_private *dev_priv)
2653{ 2654{
2654 struct drm_device *dev = &dev_priv->drm; 2655 struct pci_dev *pdev = dev_priv->drm.pdev;
2655 struct device *kdev = &dev->pdev->dev; 2656 struct device *kdev = &pdev->dev;
2656 2657
2657 pm_runtime_get_sync(kdev); 2658 pm_runtime_get_sync(kdev);
2658 2659
@@ -2672,8 +2673,8 @@ void intel_runtime_pm_get(struct drm_i915_private *dev_priv)
2672 */ 2673 */
2673bool intel_runtime_pm_get_if_in_use(struct drm_i915_private *dev_priv) 2674bool intel_runtime_pm_get_if_in_use(struct drm_i915_private *dev_priv)
2674{ 2675{
2675 struct drm_device *dev = &dev_priv->drm; 2676 struct pci_dev *pdev = dev_priv->drm.pdev;
2676 struct device *kdev = &dev->pdev->dev; 2677 struct device *kdev = &pdev->dev;
2677 2678
2678 if (IS_ENABLED(CONFIG_PM)) { 2679 if (IS_ENABLED(CONFIG_PM)) {
2679 int ret = pm_runtime_get_if_in_use(kdev); 2680 int ret = pm_runtime_get_if_in_use(kdev);
@@ -2714,8 +2715,8 @@ bool intel_runtime_pm_get_if_in_use(struct drm_i915_private *dev_priv)
2714 */ 2715 */
2715void intel_runtime_pm_get_noresume(struct drm_i915_private *dev_priv) 2716void intel_runtime_pm_get_noresume(struct drm_i915_private *dev_priv)
2716{ 2717{
2717 struct drm_device *dev = &dev_priv->drm; 2718 struct pci_dev *pdev = dev_priv->drm.pdev;
2718 struct device *kdev = &dev->pdev->dev; 2719 struct device *kdev = &pdev->dev;
2719 2720
2720 assert_rpm_wakelock_held(dev_priv); 2721 assert_rpm_wakelock_held(dev_priv);
2721 pm_runtime_get_noresume(kdev); 2722 pm_runtime_get_noresume(kdev);
@@ -2733,8 +2734,8 @@ void intel_runtime_pm_get_noresume(struct drm_i915_private *dev_priv)
2733 */ 2734 */
2734void intel_runtime_pm_put(struct drm_i915_private *dev_priv) 2735void intel_runtime_pm_put(struct drm_i915_private *dev_priv)
2735{ 2736{
2736 struct drm_device *dev = &dev_priv->drm; 2737 struct pci_dev *pdev = dev_priv->drm.pdev;
2737 struct device *kdev = &dev->pdev->dev; 2738 struct device *kdev = &pdev->dev;
2738 2739
2739 assert_rpm_wakelock_held(dev_priv); 2740 assert_rpm_wakelock_held(dev_priv);
2740 if (atomic_dec_and_test(&dev_priv->pm.wakeref_count)) 2741 if (atomic_dec_and_test(&dev_priv->pm.wakeref_count))
@@ -2756,8 +2757,9 @@ void intel_runtime_pm_put(struct drm_i915_private *dev_priv)
2756 */ 2757 */
2757void intel_runtime_pm_enable(struct drm_i915_private *dev_priv) 2758void intel_runtime_pm_enable(struct drm_i915_private *dev_priv)
2758{ 2759{
2760 struct pci_dev *pdev = dev_priv->drm.pdev;
2759 struct drm_device *dev = &dev_priv->drm; 2761 struct drm_device *dev = &dev_priv->drm;
2760 struct device *kdev = &dev->pdev->dev; 2762 struct device *kdev = &pdev->dev;
2761 2763
2762 pm_runtime_set_autosuspend_delay(kdev, 10000); /* 10s */ 2764 pm_runtime_set_autosuspend_delay(kdev, 10000); /* 10s */
2763 pm_runtime_mark_last_busy(kdev); 2765 pm_runtime_mark_last_busy(kdev);