[Intel-gfx] [RFC PATCH 11/12] drm/i915/dsi: move dpi_send_cmd() to intel_dsi.c and make it static

Shobhit Kumar shobhit.kumar at linux.intel.com
Fri Jan 23 04:27:07 PST 2015


On 01/16/2015 05:57 PM, Jani Nikula wrote:
> No functional changes.
>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>

Reviewed-By: Shobhit Kumar <shobhit.kumar at intel.com>

> ---
>   drivers/gpu/drm/i915/intel_dsi.c     | 39 ++++++++++++++++++++++++++++++++++--
>   drivers/gpu/drm/i915/intel_dsi_cmd.c | 34 -------------------------------
>   drivers/gpu/drm/i915/intel_dsi_cmd.h |  5 -----
>   3 files changed, 37 insertions(+), 41 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
> index 5cfa3431785a..791d90b4c047 100644
> --- a/drivers/gpu/drm/i915/intel_dsi.c
> +++ b/drivers/gpu/drm/i915/intel_dsi.c
> @@ -202,6 +202,41 @@ static struct intel_dsi_host *intel_dsi_host_init(struct intel_dsi *intel_dsi,
>   	return host;
>   }
>
> +/*
> + * send a video mode command
> + *
> + * XXX: commands with data in MIPI_DPI_DATA?
> + */
> +static int dpi_send_cmd(struct intel_dsi *intel_dsi, u32 cmd, bool hs,
> +			enum port port)
> +{
> +	struct drm_encoder *encoder = &intel_dsi->base.base;
> +	struct drm_device *dev = encoder->dev;
> +	struct drm_i915_private *dev_priv = dev->dev_private;
> +	u32 mask;
> +
> +	/* XXX: pipe, hs */
> +	if (hs)
> +		cmd &= ~DPI_LP_MODE;
> +	else
> +		cmd |= DPI_LP_MODE;
> +
> +	/* clear bit */
> +	I915_WRITE(MIPI_INTR_STAT(port), SPL_PKT_SENT_INTERRUPT);
> +
> +	/* XXX: old code skips write if control unchanged */
> +	if (cmd == I915_READ(MIPI_DPI_CONTROL(port)))
> +		DRM_ERROR("Same special packet %02x twice in a row.\n", cmd);
> +
> +	I915_WRITE(MIPI_DPI_CONTROL(port), cmd);
> +
> +	mask = SPL_PKT_SENT_INTERRUPT;
> +	if (wait_for((I915_READ(MIPI_INTR_STAT(port)) & mask) == mask, 100))
> +		DRM_ERROR("Video mode command 0x%08x send failed.\n", cmd);
> +
> +	return 0;
> +}
> +
>   static void band_gap_reset(struct drm_i915_private *dev_priv)
>   {
>   	mutex_lock(&dev_priv->dpio_lock);
> @@ -357,7 +392,7 @@ static void intel_dsi_enable(struct intel_encoder *encoder)
>   	else {
>   		msleep(20); /* XXX */
>   		for_each_dsi_port(port, intel_dsi->ports)
> -			dpi_send_cmd(intel_dsi, TURN_ON, DPI_LP_MODE_EN, port);
> +			dpi_send_cmd(intel_dsi, TURN_ON, false, port);
>   		msleep(100);
>
>   		drm_panel_enable(intel_dsi->panel);
> @@ -430,7 +465,7 @@ static void intel_dsi_pre_disable(struct intel_encoder *encoder)
>   	if (is_vid_mode(intel_dsi)) {
>   		/* Send Shutdown command to the panel in LP mode */
>   		for_each_dsi_port(port, intel_dsi->ports)
> -			dpi_send_cmd(intel_dsi, SHUTDOWN, DPI_LP_MODE_EN, port);
> +			dpi_send_cmd(intel_dsi, SHUTDOWN, false, port);
>   		msleep(10);
>   	}
>   }
> diff --git a/drivers/gpu/drm/i915/intel_dsi_cmd.c b/drivers/gpu/drm/i915/intel_dsi_cmd.c
> index 6baaa374fc89..acdc5da7b46f 100644
> --- a/drivers/gpu/drm/i915/intel_dsi_cmd.c
> +++ b/drivers/gpu/drm/i915/intel_dsi_cmd.c
> @@ -115,37 +115,3 @@ void dsi_hs_mode_enable(struct intel_dsi *intel_dsi, bool enable,
>
>   	intel_dsi->hs = enable;
>   }
> -
> -/*
> - * send a video mode command
> - *
> - * XXX: commands with data in MIPI_DPI_DATA?
> - */
> -int dpi_send_cmd(struct intel_dsi *intel_dsi, u32 cmd, bool hs, enum port port)
> -{
> -	struct drm_encoder *encoder = &intel_dsi->base.base;
> -	struct drm_device *dev = encoder->dev;
> -	struct drm_i915_private *dev_priv = dev->dev_private;
> -	u32 mask;
> -
> -	/* XXX: pipe, hs */
> -	if (hs)
> -		cmd &= ~DPI_LP_MODE;
> -	else
> -		cmd |= DPI_LP_MODE;
> -
> -	/* clear bit */
> -	I915_WRITE(MIPI_INTR_STAT(port), SPL_PKT_SENT_INTERRUPT);
> -
> -	/* XXX: old code skips write if control unchanged */
> -	if (cmd == I915_READ(MIPI_DPI_CONTROL(port)))
> -		DRM_ERROR("Same special packet %02x twice in a row.\n", cmd);
> -
> -	I915_WRITE(MIPI_DPI_CONTROL(port), cmd);
> -
> -	mask = SPL_PKT_SENT_INTERRUPT;
> -	if (wait_for((I915_READ(MIPI_INTR_STAT(port)) & mask) == mask, 100))
> -		DRM_ERROR("Video mode command 0x%08x send failed.\n", cmd);
> -
> -	return 0;
> -}
> diff --git a/drivers/gpu/drm/i915/intel_dsi_cmd.h b/drivers/gpu/drm/i915/intel_dsi_cmd.h
> index 9a28ff58a92b..886779030f1a 100644
> --- a/drivers/gpu/drm/i915/intel_dsi_cmd.h
> +++ b/drivers/gpu/drm/i915/intel_dsi_cmd.h
> @@ -33,12 +33,7 @@
>   #include "intel_drv.h"
>   #include "intel_dsi.h"
>
> -#define DPI_LP_MODE_EN	false
> -#define DPI_HS_MODE_EN	true
> -
>   void dsi_hs_mode_enable(struct intel_dsi *intel_dsi, bool enable,
>   						enum port port);
>
> -int dpi_send_cmd(struct intel_dsi *intel_dsi, u32 cmd, bool hs, enum port port);
> -
>   #endif /* _INTEL_DSI_DSI_H */
>


More information about the Intel-gfx mailing list