diff mbox series

[2/3] drm/msm/dpu: split _dpu_encoder_resource_control_helper()

Message ID 20230604144514.949628-3-dmitry.baryshkov@linaro.org
State New
Headers show
Series drm/msm/dpu: remove dpu_encoder_phys_ops::atomic_mode_set callback | expand

Commit Message

Dmitry Baryshkov June 4, 2023, 2:45 p.m. UTC
Follow the _dpu_encoder_irq_control() change and split the
_dpu_encoder_resource_control_helper() into enable and disable parts.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 45 +++++++++++++--------
 1 file changed, 29 insertions(+), 16 deletions(-)

Comments

Abhinav Kumar Aug. 30, 2023, 1:20 a.m. UTC | #1
On 6/4/2023 7:45 AM, Dmitry Baryshkov wrote:
> Follow the _dpu_encoder_irq_control() change and split the
> _dpu_encoder_resource_control_helper() into enable and disable parts.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>   drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 45 +++++++++++++--------
>   1 file changed, 29 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> index 7c131c5cbe71..cc61f0cf059d 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> @@ -757,8 +757,7 @@ static void _dpu_encoder_irq_disable(struct drm_encoder *drm_enc)
>   	}
>   }
>   
> -static void _dpu_encoder_resource_control_helper(struct drm_encoder *drm_enc,
> -		bool enable)
> +static void _dpu_encoder_resource_enable(struct drm_encoder *drm_enc)
>   {
>   	struct msm_drm_private *priv;
>   	struct dpu_kms *dpu_kms;
> @@ -768,28 +767,42 @@ static void _dpu_encoder_resource_control_helper(struct drm_encoder *drm_enc,
>   	priv = drm_enc->dev->dev_private;
>   	dpu_kms = to_dpu_kms(priv->kms);
>   
> -	trace_dpu_enc_rc_helper(DRMID(drm_enc), enable);
> +	trace_dpu_enc_rc_helper(DRMID(drm_enc), true);

same question about trace here.

>   
>   	if (!dpu_enc->cur_master) {
>   		DPU_ERROR("encoder master not set\n");
>   		return;
>   	}
>   
> -	if (enable) {
> -		/* enable DPU core clks */
> -		pm_runtime_get_sync(&dpu_kms->pdev->dev);
> +	/* enable DPU core clks */
> +	pm_runtime_get_sync(&dpu_kms->pdev->dev);
>   
> -		/* enable all the irq */
> -		_dpu_encoder_irq_enable(drm_enc);
> +	/* enable all the irq */
> +	_dpu_encoder_irq_enable(drm_enc);
> +}
>   
> -	} else {
> -		/* disable all the irq */
> -		_dpu_encoder_irq_disable(drm_enc);
> +static void _dpu_encoder_resource_disable(struct drm_encoder *drm_enc)
> +{
> +	struct msm_drm_private *priv;
> +	struct dpu_kms *dpu_kms;
> +	struct dpu_encoder_virt *dpu_enc;
>   
> -		/* disable DPU core clks */
> -		pm_runtime_put_sync(&dpu_kms->pdev->dev);
> +	dpu_enc = to_dpu_encoder_virt(drm_enc);
> +	priv = drm_enc->dev->dev_private;
> +	dpu_kms = to_dpu_kms(priv->kms);
> +
> +	trace_dpu_enc_rc_helper(DRMID(drm_enc), false);

and here.

> +
> +	if (!dpu_enc->cur_master) {
> +		DPU_ERROR("encoder master not set\n");
> +		return;
>   	}
>   
> +	/* disable all the irq */
> +	_dpu_encoder_irq_disable(drm_enc);
> +
> +	/* disable DPU core clks */
> +	pm_runtime_put_sync(&dpu_kms->pdev->dev);
>   }
>   
>   static int dpu_encoder_resource_control(struct drm_encoder *drm_enc,
> @@ -847,7 +860,7 @@ static int dpu_encoder_resource_control(struct drm_encoder *drm_enc,
>   		if (is_vid_mode && dpu_enc->rc_state == DPU_ENC_RC_STATE_IDLE)
>   			_dpu_encoder_irq_enable(drm_enc);
>   		else
> -			_dpu_encoder_resource_control_helper(drm_enc, true);
> +			_dpu_encoder_resource_enable(drm_enc);
>   
>   		dpu_enc->rc_state = DPU_ENC_RC_STATE_ON;
>   
> @@ -942,7 +955,7 @@ static int dpu_encoder_resource_control(struct drm_encoder *drm_enc,
>   		 * and in IDLE state the resources are already disabled
>   		 */
>   		if (dpu_enc->rc_state == DPU_ENC_RC_STATE_PRE_OFF)
> -			_dpu_encoder_resource_control_helper(drm_enc, false);
> +			_dpu_encoder_resource_disable(drm_enc);
>   
>   		dpu_enc->rc_state = DPU_ENC_RC_STATE_OFF;
>   
> @@ -977,7 +990,7 @@ static int dpu_encoder_resource_control(struct drm_encoder *drm_enc,
>   		if (is_vid_mode)
>   			_dpu_encoder_irq_disable(drm_enc);
>   		else
> -			_dpu_encoder_resource_control_helper(drm_enc, false);
> +			_dpu_encoder_resource_disable(drm_enc);
>   
>   		dpu_enc->rc_state = DPU_ENC_RC_STATE_IDLE;
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
index 7c131c5cbe71..cc61f0cf059d 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
@@ -757,8 +757,7 @@  static void _dpu_encoder_irq_disable(struct drm_encoder *drm_enc)
 	}
 }
 
-static void _dpu_encoder_resource_control_helper(struct drm_encoder *drm_enc,
-		bool enable)
+static void _dpu_encoder_resource_enable(struct drm_encoder *drm_enc)
 {
 	struct msm_drm_private *priv;
 	struct dpu_kms *dpu_kms;
@@ -768,28 +767,42 @@  static void _dpu_encoder_resource_control_helper(struct drm_encoder *drm_enc,
 	priv = drm_enc->dev->dev_private;
 	dpu_kms = to_dpu_kms(priv->kms);
 
-	trace_dpu_enc_rc_helper(DRMID(drm_enc), enable);
+	trace_dpu_enc_rc_helper(DRMID(drm_enc), true);
 
 	if (!dpu_enc->cur_master) {
 		DPU_ERROR("encoder master not set\n");
 		return;
 	}
 
-	if (enable) {
-		/* enable DPU core clks */
-		pm_runtime_get_sync(&dpu_kms->pdev->dev);
+	/* enable DPU core clks */
+	pm_runtime_get_sync(&dpu_kms->pdev->dev);
 
-		/* enable all the irq */
-		_dpu_encoder_irq_enable(drm_enc);
+	/* enable all the irq */
+	_dpu_encoder_irq_enable(drm_enc);
+}
 
-	} else {
-		/* disable all the irq */
-		_dpu_encoder_irq_disable(drm_enc);
+static void _dpu_encoder_resource_disable(struct drm_encoder *drm_enc)
+{
+	struct msm_drm_private *priv;
+	struct dpu_kms *dpu_kms;
+	struct dpu_encoder_virt *dpu_enc;
 
-		/* disable DPU core clks */
-		pm_runtime_put_sync(&dpu_kms->pdev->dev);
+	dpu_enc = to_dpu_encoder_virt(drm_enc);
+	priv = drm_enc->dev->dev_private;
+	dpu_kms = to_dpu_kms(priv->kms);
+
+	trace_dpu_enc_rc_helper(DRMID(drm_enc), false);
+
+	if (!dpu_enc->cur_master) {
+		DPU_ERROR("encoder master not set\n");
+		return;
 	}
 
+	/* disable all the irq */
+	_dpu_encoder_irq_disable(drm_enc);
+
+	/* disable DPU core clks */
+	pm_runtime_put_sync(&dpu_kms->pdev->dev);
 }
 
 static int dpu_encoder_resource_control(struct drm_encoder *drm_enc,
@@ -847,7 +860,7 @@  static int dpu_encoder_resource_control(struct drm_encoder *drm_enc,
 		if (is_vid_mode && dpu_enc->rc_state == DPU_ENC_RC_STATE_IDLE)
 			_dpu_encoder_irq_enable(drm_enc);
 		else
-			_dpu_encoder_resource_control_helper(drm_enc, true);
+			_dpu_encoder_resource_enable(drm_enc);
 
 		dpu_enc->rc_state = DPU_ENC_RC_STATE_ON;
 
@@ -942,7 +955,7 @@  static int dpu_encoder_resource_control(struct drm_encoder *drm_enc,
 		 * and in IDLE state the resources are already disabled
 		 */
 		if (dpu_enc->rc_state == DPU_ENC_RC_STATE_PRE_OFF)
-			_dpu_encoder_resource_control_helper(drm_enc, false);
+			_dpu_encoder_resource_disable(drm_enc);
 
 		dpu_enc->rc_state = DPU_ENC_RC_STATE_OFF;
 
@@ -977,7 +990,7 @@  static int dpu_encoder_resource_control(struct drm_encoder *drm_enc,
 		if (is_vid_mode)
 			_dpu_encoder_irq_disable(drm_enc);
 		else
-			_dpu_encoder_resource_control_helper(drm_enc, false);
+			_dpu_encoder_resource_disable(drm_enc);
 
 		dpu_enc->rc_state = DPU_ENC_RC_STATE_IDLE;