diff mbox

[3/6] drm/i915/dp: move edp vdd enable/disable at a lower level in i2c-over-aux

Message ID 422b1286918bc758ec704c1d712c92c0eaf50143.1394808141.git.jani.nikula@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jani Nikula March 14, 2014, 2:51 p.m. UTC
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>
---
 drivers/gpu/drm/i915/intel_dp.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

Rodrigo Vivi March 17, 2014, 2:09 p.m. UTC | #1
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>

On Fri, Mar 14, 2014 at 11:51 AM, Jani Nikula <jani.nikula@intel.com> wrote:
> 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>
> ---
>  drivers/gpu/drm/i915/intel_dp.c |    9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 94e7577da484..22134edc03dd 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,
>         uint32_t status;
>         int try, clock = 0;
>         bool has_aux_irq = HAS_AUX_IRQ(dev);
> +       bool vdd;
> +
> +       vdd = _edp_panel_vdd_on(intel_dp);
>
>         /* dp aux is extremely sensitive to irq latency, hence request the
>          * lowest possible wakeup latency and so prevent the cpu from going into
> @@ -566,6 +569,9 @@ out:
>         pm_qos_update_request(&dev_priv->pm_qos, PM_QOS_DEFAULT_VALUE);
>         intel_aux_display_runtime_put(dev_priv);
>
> +       if (vdd)
> +               edp_panel_vdd_off(intel_dp, false);
> +
>         return ret;
>  }
>
> @@ -678,8 +684,6 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>         int reply_bytes;
>         int ret;
>
> -       edp_panel_vdd_on(intel_dp);
> -       intel_dp_check_edp(intel_dp);
>         /* Set up the command byte */
>         if (mode & MODE_I2C_READ)
>                 msg[0] = DP_AUX_I2C_READ << 4;
> @@ -781,7 +785,6 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>         ret = -EREMOTEIO;
>
>  out:
> -       edp_panel_vdd_off(intel_dp, false);
>         return ret;
>  }
>
> --
> 1.7.9.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 94e7577da484..22134edc03dd 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,
 	uint32_t status;
 	int try, clock = 0;
 	bool has_aux_irq = HAS_AUX_IRQ(dev);
+	bool vdd;
+
+	vdd = _edp_panel_vdd_on(intel_dp);
 
 	/* dp aux is extremely sensitive to irq latency, hence request the
 	 * lowest possible wakeup latency and so prevent the cpu from going into
@@ -566,6 +569,9 @@  out:
 	pm_qos_update_request(&dev_priv->pm_qos, PM_QOS_DEFAULT_VALUE);
 	intel_aux_display_runtime_put(dev_priv);
 
+	if (vdd)
+		edp_panel_vdd_off(intel_dp, false);
+
 	return ret;
 }
 
@@ -678,8 +684,6 @@  intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
 	int reply_bytes;
 	int ret;
 
-	edp_panel_vdd_on(intel_dp);
-	intel_dp_check_edp(intel_dp);
 	/* Set up the command byte */
 	if (mode & MODE_I2C_READ)
 		msg[0] = DP_AUX_I2C_READ << 4;
@@ -781,7 +785,6 @@  intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
 	ret = -EREMOTEIO;
 
 out:
-	edp_panel_vdd_off(intel_dp, false);
 	return ret;
 }