diff options
author | Jani Nikula <jani.nikula@intel.com> | 2014-03-14 10:51:14 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-03-18 05:53:16 -0400 |
commit | 884f19e948894fc87b03b631fd03a0998c0ca1ef (patch) | |
tree | c32cfaaa69fd807cabd7c3c82c3146253dd92091 | |
parent | adddaaf4885403a2f2180fb522b5b97e1469b328 (diff) |
drm/i915/dp: move edp vdd enable/disable at a lower level in i2c-over-aux
This is prep work for conversion to generic drm i2c-over-aux helpers
where we won't have the function to do this at.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index b463769b93e5..17d73511e148 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
@@ -461,6 +461,9 @@ intel_dp_aux_ch(struct intel_dp *intel_dp, | |||
461 | uint32_t status; | 461 | uint32_t status; |
462 | int try, clock = 0; | 462 | int try, clock = 0; |
463 | bool has_aux_irq = HAS_AUX_IRQ(dev); | 463 | bool has_aux_irq = HAS_AUX_IRQ(dev); |
464 | bool vdd; | ||
465 | |||
466 | vdd = _edp_panel_vdd_on(intel_dp); | ||
464 | 467 | ||
465 | /* dp aux is extremely sensitive to irq latency, hence request the | 468 | /* dp aux is extremely sensitive to irq latency, hence request the |
466 | * lowest possible wakeup latency and so prevent the cpu from going into | 469 | * lowest possible wakeup latency and so prevent the cpu from going into |
@@ -566,6 +569,9 @@ out: | |||
566 | pm_qos_update_request(&dev_priv->pm_qos, PM_QOS_DEFAULT_VALUE); | 569 | pm_qos_update_request(&dev_priv->pm_qos, PM_QOS_DEFAULT_VALUE); |
567 | intel_aux_display_runtime_put(dev_priv); | 570 | intel_aux_display_runtime_put(dev_priv); |
568 | 571 | ||
572 | if (vdd) | ||
573 | edp_panel_vdd_off(intel_dp, false); | ||
574 | |||
569 | return ret; | 575 | return ret; |
570 | } | 576 | } |
571 | 577 | ||
@@ -678,8 +684,6 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode, | |||
678 | int reply_bytes; | 684 | int reply_bytes; |
679 | int ret; | 685 | int ret; |
680 | 686 | ||
681 | edp_panel_vdd_on(intel_dp); | ||
682 | intel_dp_check_edp(intel_dp); | ||
683 | /* Set up the command byte */ | 687 | /* Set up the command byte */ |
684 | if (mode & MODE_I2C_READ) | 688 | if (mode & MODE_I2C_READ) |
685 | msg[0] = DP_AUX_I2C_READ << 4; | 689 | msg[0] = DP_AUX_I2C_READ << 4; |
@@ -781,7 +785,6 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode, | |||
781 | ret = -EREMOTEIO; | 785 | ret = -EREMOTEIO; |
782 | 786 | ||
783 | out: | 787 | out: |
784 | edp_panel_vdd_off(intel_dp, false); | ||
785 | return ret; | 788 | return ret; |
786 | } | 789 | } |
787 | 790 | ||