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

2023-08-29 Thread Abhinav Kumar




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 
---
  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;
  


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

2023-06-04 Thread Dmitry Baryshkov
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 
---
 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);
 
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;
 
-- 
2.39.2