diff options
author | David Weinehall <david.weinehall@linux.intel.com> | 2016-08-22 06:32:44 -0400 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2016-08-22 07:19:52 -0400 |
commit | 52a05c302bcfe571aa4896118e3d22feb51ab1c7 (patch) | |
tree | efdf32a68732ee56430e8ab049646ccbe969730a /drivers/gpu/drm/i915/intel_runtime_pm.c | |
parent | 694c2828459e1d048b79c42dd8decbafb099707d (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.c | 30 |
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 | */ |
288 | static void hsw_power_well_post_enable(struct drm_i915_private *dev_priv) | 288 | static 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) | |||
318 | static void skl_power_well_post_enable(struct drm_i915_private *dev_priv, | 319 | static 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 | */ |
2652 | void intel_runtime_pm_get(struct drm_i915_private *dev_priv) | 2653 | void 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 | */ |
2673 | bool intel_runtime_pm_get_if_in_use(struct drm_i915_private *dev_priv) | 2674 | bool 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 | */ |
2715 | void intel_runtime_pm_get_noresume(struct drm_i915_private *dev_priv) | 2716 | void 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 | */ |
2734 | void intel_runtime_pm_put(struct drm_i915_private *dev_priv) | 2735 | void 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 | */ |
2757 | void intel_runtime_pm_enable(struct drm_i915_private *dev_priv) | 2758 | void 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); |