linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff()
@ 2023-02-13 19:48 Jessica Zhang
  2023-02-13 19:48 ` [RFC PATCH v3 1/4] drm/msm/dpu: " Jessica Zhang
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Jessica Zhang @ 2023-02-13 19:48 UTC (permalink / raw)
  To: freedreno
  Cc: Jessica Zhang, linux-arm-msm, dri-devel, robdclark, seanpaul,
	swboyd, dmitry.baryshkov, quic_abhinavk, marijn.suijten

Move TE setup to prepare_for_kickoff() and remove empty prepare_commit()
functions in both MDP4 and DPU drivers.

Changes in V2:
- Added changes to remove empty prepare_commit() functions

Changes in V3:
- Reordered "drm/msm/dpu: Move TE setup to prepare_for_kickoff()" for 
  clarity
- Fixed spelling mistakes and wording issues
- Picked up "Reviewed-by" tags for patches [2/4] and [4/4]

Jessica Zhang (4):
  drm/msm/dpu: Move TE setup to prepare_for_kickoff()
  drm/msm: Check for NULL before calling prepare_commit()
  drm/msm/dpu: Remove empty prepare_commit() function
  drm/msm/mdp4: Remove empty prepare_commit() function

 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c   | 19 -----------------
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h   |  7 -------
 .../drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c  | 10 ++++++---
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c       | 21 -------------------
 drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c      |  5 -----
 drivers/gpu/drm/msm/msm_atomic.c              |  3 ++-
 6 files changed, 9 insertions(+), 56 deletions(-)

-- 
2.39.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [RFC PATCH v3 1/4] drm/msm/dpu: Move TE setup to prepare_for_kickoff()
  2023-02-13 19:48 [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff() Jessica Zhang
@ 2023-02-13 19:48 ` Jessica Zhang
  2023-02-13 22:00   ` Dmitry Baryshkov
  2023-02-13 19:48 ` [RFC PATCH v3 2/4] drm/msm: Check for NULL before calling prepare_commit() Jessica Zhang
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 11+ messages in thread
From: Jessica Zhang @ 2023-02-13 19:48 UTC (permalink / raw)
  To: freedreno
  Cc: Jessica Zhang, linux-arm-msm, dri-devel, robdclark, seanpaul,
	swboyd, dmitry.baryshkov, quic_abhinavk, marijn.suijten

Currently, DPU will enable TE during prepare_commit(). However, this
will cause issues when trying to read/write to register in
get_autorefresh_config(), because the core clock rates aren't set at
that time.

This used to work because phys_enc->hw_pp is only initialized in mode
set [1], so the first prepare_commit() will return before any register
read/write as hw_pp would be NULL.

However, when we try to implement support for INTF TE, we will run into
the clock issue described above as hw_intf will *not* be NULL on the
first prepare_commit(). This is because the initialization of
dpu_enc->hw_intf has been moved to dpu_encoder_setup() [2].

To avoid this issue, let's enable TE during prepare_for_kickoff()
instead as the core clock rates are guaranteed to be set then.

Depends on: "Implement tearcheck support on INTF block" [3]

Changes in V3:
- Added function prototypes
- Reordered function definitions to make change more legible
- Removed prepare_commit() function from dpu_encoder_phys_cmd

[1] https://gitlab.freedesktop.org/drm/msm/-/blob/msm-next/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c#L1109
[2] https://gitlab.freedesktop.org/drm/msm/-/blob/msm-next/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c#L2339
[3] https://patchwork.freedesktop.org/series/112332/

Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c
index cb05036f2916..c6feffafa13f 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c
@@ -40,6 +40,10 @@
 
 #define DPU_ENC_MAX_POLL_TIMEOUT_US	2000
 
+static bool dpu_encoder_phys_cmd_is_ongoing_pptx(
+		struct dpu_encoder_phys *phys_enc);
+static void dpu_encoder_phys_cmd_enable_te(struct dpu_encoder_phys *phys_enc);
+
 static bool dpu_encoder_phys_cmd_is_master(struct dpu_encoder_phys *phys_enc)
 {
 	return (phys_enc->split_role != ENC_ROLE_SLAVE);
@@ -611,6 +615,8 @@ static void dpu_encoder_phys_cmd_prepare_for_kickoff(
 			  phys_enc->hw_pp->idx - PINGPONG_0);
 	}
 
+	dpu_encoder_phys_cmd_enable_te(phys_enc);
+
 	DPU_DEBUG_CMDENC(cmd_enc, "pp:%d pending_cnt %d\n",
 			phys_enc->hw_pp->idx - PINGPONG_0,
 			atomic_read(&phys_enc->pending_kickoff_cnt));
@@ -641,8 +647,7 @@ static bool dpu_encoder_phys_cmd_is_ongoing_pptx(
 	return false;
 }
 
-static void dpu_encoder_phys_cmd_prepare_commit(
-		struct dpu_encoder_phys *phys_enc)
+static void dpu_encoder_phys_cmd_enable_te(struct dpu_encoder_phys *phys_enc)
 {
 	struct dpu_encoder_phys_cmd *cmd_enc =
 		to_dpu_encoder_phys_cmd(phys_enc);
@@ -799,7 +804,6 @@ static void dpu_encoder_phys_cmd_trigger_start(
 static void dpu_encoder_phys_cmd_init_ops(
 		struct dpu_encoder_phys_ops *ops)
 {
-	ops->prepare_commit = dpu_encoder_phys_cmd_prepare_commit;
 	ops->is_master = dpu_encoder_phys_cmd_is_master;
 	ops->atomic_mode_set = dpu_encoder_phys_cmd_atomic_mode_set;
 	ops->enable = dpu_encoder_phys_cmd_enable;
-- 
2.39.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [RFC PATCH v3 2/4] drm/msm: Check for NULL before calling prepare_commit()
  2023-02-13 19:48 [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff() Jessica Zhang
  2023-02-13 19:48 ` [RFC PATCH v3 1/4] drm/msm/dpu: " Jessica Zhang
@ 2023-02-13 19:48 ` Jessica Zhang
  2023-02-13 19:48 ` [RFC PATCH v3 3/4] drm/msm/dpu: Remove empty prepare_commit() function Jessica Zhang
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: Jessica Zhang @ 2023-02-13 19:48 UTC (permalink / raw)
  To: freedreno
  Cc: Jessica Zhang, linux-arm-msm, dri-devel, robdclark, seanpaul,
	swboyd, dmitry.baryshkov, quic_abhinavk, marijn.suijten

Add a NULL check before calling prepare_commit() in
msm_atomic_commit_tail()

Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/msm/msm_atomic.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/msm_atomic.c b/drivers/gpu/drm/msm/msm_atomic.c
index 1686fbb611fd..c8a0a5cc5ca5 100644
--- a/drivers/gpu/drm/msm/msm_atomic.c
+++ b/drivers/gpu/drm/msm/msm_atomic.c
@@ -206,7 +206,8 @@ void msm_atomic_commit_tail(struct drm_atomic_state *state)
 	 * Now that there is no in-progress flush, prepare the
 	 * current update:
 	 */
-	kms->funcs->prepare_commit(kms, state);
+	if (kms->funcs->prepare_commit)
+		kms->funcs->prepare_commit(kms, state);
 
 	/*
 	 * Push atomic updates down to hardware:
-- 
2.39.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [RFC PATCH v3 3/4] drm/msm/dpu: Remove empty prepare_commit() function
  2023-02-13 19:48 [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff() Jessica Zhang
  2023-02-13 19:48 ` [RFC PATCH v3 1/4] drm/msm/dpu: " Jessica Zhang
  2023-02-13 19:48 ` [RFC PATCH v3 2/4] drm/msm: Check for NULL before calling prepare_commit() Jessica Zhang
@ 2023-02-13 19:48 ` Jessica Zhang
  2023-02-13 22:03   ` Dmitry Baryshkov
  2023-02-13 21:51 ` [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff() Dmitry Baryshkov
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 11+ messages in thread
From: Jessica Zhang @ 2023-02-13 19:48 UTC (permalink / raw)
  To: freedreno
  Cc: Jessica Zhang, linux-arm-msm, dri-devel, robdclark, seanpaul,
	swboyd, dmitry.baryshkov, quic_abhinavk, marijn.suijten

Now that the TE setup has been moved to prepare_for_kickoff(), and
dpu_encoder_prepare_commit() is not empty, remove prepare_commit()
from DPU driver.

Changes in V3:
- Reworded commit message to be more clear
- Corrected spelling mistake in commit message

Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 19 -------------------
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h |  7 -------
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c     | 21 ---------------------
 3 files changed, 47 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
index dcceed91aed8..35e120b5ef53 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
@@ -2090,25 +2090,6 @@ void dpu_encoder_helper_phys_cleanup(struct dpu_encoder_phys *phys_enc)
 	ctl->ops.clear_pending_flush(ctl);
 }
 
-void dpu_encoder_prepare_commit(struct drm_encoder *drm_enc)
-{
-	struct dpu_encoder_virt *dpu_enc;
-	struct dpu_encoder_phys *phys;
-	int i;
-
-	if (!drm_enc) {
-		DPU_ERROR("invalid encoder\n");
-		return;
-	}
-	dpu_enc = to_dpu_encoder_virt(drm_enc);
-
-	for (i = 0; i < dpu_enc->num_phys_encs; i++) {
-		phys = dpu_enc->phys_encs[i];
-		if (phys->ops.prepare_commit)
-			phys->ops.prepare_commit(phys);
-	}
-}
-
 #ifdef CONFIG_DEBUG_FS
 static int _dpu_encoder_status_show(struct seq_file *s, void *data)
 {
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h
index 9e7236ef34e6..2c9ef8d1b877 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h
@@ -146,13 +146,6 @@ struct drm_encoder *dpu_encoder_init(
 int dpu_encoder_setup(struct drm_device *dev, struct drm_encoder *enc,
 		struct msm_display_info *disp_info);
 
-/**
- * dpu_encoder_prepare_commit - prepare encoder at the very beginning of an
- *	atomic commit, before any registers are written
- * @drm_enc:    Pointer to previously created drm encoder structure
- */
-void dpu_encoder_prepare_commit(struct drm_encoder *drm_enc);
-
 /**
  * dpu_encoder_set_idle_timeout - set the idle timeout for video
  *                    and command mode encoders.
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
index 165958d47ec6..6f7ddbf0d9b7 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
@@ -425,26 +425,6 @@ static ktime_t dpu_kms_vsync_time(struct msm_kms *kms, struct drm_crtc *crtc)
 	return ktime_get();
 }
 
-static void dpu_kms_prepare_commit(struct msm_kms *kms,
-		struct drm_atomic_state *state)
-{
-	struct drm_crtc *crtc;
-	struct drm_crtc_state *crtc_state;
-	struct drm_encoder *encoder;
-	int i;
-
-	if (!kms)
-		return;
-
-	/* Call prepare_commit for all affected encoders */
-	for_each_new_crtc_in_state(state, crtc, crtc_state, i) {
-		drm_for_each_encoder_mask(encoder, crtc->dev,
-					  crtc_state->encoder_mask) {
-			dpu_encoder_prepare_commit(encoder);
-		}
-	}
-}
-
 static void dpu_kms_flush_commit(struct msm_kms *kms, unsigned crtc_mask)
 {
 	struct dpu_kms *dpu_kms = to_dpu_kms(kms);
@@ -949,7 +929,6 @@ static const struct msm_kms_funcs kms_funcs = {
 	.enable_commit   = dpu_kms_enable_commit,
 	.disable_commit  = dpu_kms_disable_commit,
 	.vsync_time      = dpu_kms_vsync_time,
-	.prepare_commit  = dpu_kms_prepare_commit,
 	.flush_commit    = dpu_kms_flush_commit,
 	.wait_flush      = dpu_kms_wait_flush,
 	.complete_commit = dpu_kms_complete_commit,
-- 
2.39.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff()
  2023-02-13 19:48 [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff() Jessica Zhang
                   ` (2 preceding siblings ...)
  2023-02-13 19:48 ` [RFC PATCH v3 3/4] drm/msm/dpu: Remove empty prepare_commit() function Jessica Zhang
@ 2023-02-13 21:51 ` Dmitry Baryshkov
  2023-02-14  0:01   ` Abhinav Kumar
  2023-02-13 23:25 ` [RFC PATCH v3 4/4] drm/msm/mdp4: Remove empty prepare_commit() function Jessica Zhang
  2023-03-28 22:37 ` [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff() Dmitry Baryshkov
  5 siblings, 1 reply; 11+ messages in thread
From: Dmitry Baryshkov @ 2023-02-13 21:51 UTC (permalink / raw)
  To: Jessica Zhang, freedreno
  Cc: linux-arm-msm, dri-devel, robdclark, seanpaul, swboyd,
	quic_abhinavk, marijn.suijten

On 13/02/2023 21:48, Jessica Zhang wrote:
> Move TE setup to prepare_for_kickoff() and remove empty prepare_commit()
> functions in both MDP4 and DPU drivers.
> 
> Changes in V2:
> - Added changes to remove empty prepare_commit() functions
> 
> Changes in V3:
> - Reordered "drm/msm/dpu: Move TE setup to prepare_for_kickoff()" for
>    clarity
> - Fixed spelling mistakes and wording issues
> - Picked up "Reviewed-by" tags for patches [2/4] and [4/4]

Is it just me or patch 4/4 is missing? Patchwork also hasn't seen it:
https://patchwork.freedesktop.org/series/113967/

If you can send it with the proper in-reply-to (set to 
20230213194819.608-1-quic_jesszhan@quicinc.com), that would be great.

> 
> Jessica Zhang (4):
>    drm/msm/dpu: Move TE setup to prepare_for_kickoff()
>    drm/msm: Check for NULL before calling prepare_commit()
>    drm/msm/dpu: Remove empty prepare_commit() function
>    drm/msm/mdp4: Remove empty prepare_commit() function
> 
>   drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c   | 19 -----------------
>   drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h   |  7 -------
>   .../drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c  | 10 ++++++---
>   drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c       | 21 -------------------
>   drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c      |  5 -----
>   drivers/gpu/drm/msm/msm_atomic.c              |  3 ++-
>   6 files changed, 9 insertions(+), 56 deletions(-)
> 

-- 
With best wishes
Dmitry


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC PATCH v3 1/4] drm/msm/dpu: Move TE setup to prepare_for_kickoff()
  2023-02-13 19:48 ` [RFC PATCH v3 1/4] drm/msm/dpu: " Jessica Zhang
@ 2023-02-13 22:00   ` Dmitry Baryshkov
  0 siblings, 0 replies; 11+ messages in thread
From: Dmitry Baryshkov @ 2023-02-13 22:00 UTC (permalink / raw)
  To: Jessica Zhang, freedreno
  Cc: linux-arm-msm, dri-devel, robdclark, seanpaul, swboyd,
	quic_abhinavk, marijn.suijten

On 13/02/2023 21:48, Jessica Zhang wrote:
> Currently, DPU will enable TE during prepare_commit(). However, this
> will cause issues when trying to read/write to register in

Nit: what issues? SError? reboot to the sahara? board reset?

> get_autorefresh_config(), because the core clock rates aren't set at
> that time.
> 
> This used to work because phys_enc->hw_pp is only initialized in mode
> set [1], so the first prepare_commit() will return before any register
> read/write as hw_pp would be NULL.
> 
> However, when we try to implement support for INTF TE, we will run into
> the clock issue described above as hw_intf will *not* be NULL on the
> first prepare_commit(). This is because the initialization of
> dpu_enc->hw_intf has been moved to dpu_encoder_setup() [2].
> 
> To avoid this issue, let's enable TE during prepare_for_kickoff()
> instead as the core clock rates are guaranteed to be set then.
> 
> Depends on: "Implement tearcheck support on INTF block" [3]
> 
> Changes in V3:
> - Added function prototypes
> - Reordered function definitions to make change more legible
> - Removed prepare_commit() function from dpu_encoder_phys_cmd
> 
> [1] https://gitlab.freedesktop.org/drm/msm/-/blob/msm-next/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c#L1109
> [2] https://gitlab.freedesktop.org/drm/msm/-/blob/msm-next/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c#L2339
> [3] https://patchwork.freedesktop.org/series/112332/
> 
> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
> ---
>   drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 10 +++++++---
>   1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c
> index cb05036f2916..c6feffafa13f 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c
> @@ -40,6 +40,10 @@
>   
>   #define DPU_ENC_MAX_POLL_TIMEOUT_US	2000
>   
> +static bool dpu_encoder_phys_cmd_is_ongoing_pptx(
> +		struct dpu_encoder_phys *phys_enc);

This should not be necessary.


> +static void dpu_encoder_phys_cmd_enable_te(struct dpu_encoder_phys *phys_enc);
> +
>   static bool dpu_encoder_phys_cmd_is_master(struct dpu_encoder_phys *phys_enc)
>   {
>   	return (phys_enc->split_role != ENC_ROLE_SLAVE);
> @@ -611,6 +615,8 @@ static void dpu_encoder_phys_cmd_prepare_for_kickoff(
>   			  phys_enc->hw_pp->idx - PINGPONG_0);
>   	}
>   
> +	dpu_encoder_phys_cmd_enable_te(phys_enc);
> +

And this is much cleaner and easier to spot the difference than it was 
in the previous patch. Thank you!

With the dpu_encoder_phys_cmd_is_ongoing_pptx() prototype removed it LGTM.

>   	DPU_DEBUG_CMDENC(cmd_enc, "pp:%d pending_cnt %d\n",
>   			phys_enc->hw_pp->idx - PINGPONG_0,
>   			atomic_read(&phys_enc->pending_kickoff_cnt));
> @@ -641,8 +647,7 @@ static bool dpu_encoder_phys_cmd_is_ongoing_pptx(
>   	return false;
>   }
>   
> -static void dpu_encoder_phys_cmd_prepare_commit(
> -		struct dpu_encoder_phys *phys_enc)
> +static void dpu_encoder_phys_cmd_enable_te(struct dpu_encoder_phys *phys_enc)
>   {
>   	struct dpu_encoder_phys_cmd *cmd_enc =
>   		to_dpu_encoder_phys_cmd(phys_enc);
> @@ -799,7 +804,6 @@ static void dpu_encoder_phys_cmd_trigger_start(
>   static void dpu_encoder_phys_cmd_init_ops(
>   		struct dpu_encoder_phys_ops *ops)
>   {
> -	ops->prepare_commit = dpu_encoder_phys_cmd_prepare_commit;
>   	ops->is_master = dpu_encoder_phys_cmd_is_master;
>   	ops->atomic_mode_set = dpu_encoder_phys_cmd_atomic_mode_set;
>   	ops->enable = dpu_encoder_phys_cmd_enable;

-- 
With best wishes
Dmitry


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC PATCH v3 3/4] drm/msm/dpu: Remove empty prepare_commit() function
  2023-02-13 19:48 ` [RFC PATCH v3 3/4] drm/msm/dpu: Remove empty prepare_commit() function Jessica Zhang
@ 2023-02-13 22:03   ` Dmitry Baryshkov
  0 siblings, 0 replies; 11+ messages in thread
From: Dmitry Baryshkov @ 2023-02-13 22:03 UTC (permalink / raw)
  To: Jessica Zhang, freedreno
  Cc: linux-arm-msm, dri-devel, robdclark, seanpaul, swboyd,
	quic_abhinavk, marijn.suijten

On 13/02/2023 21:48, Jessica Zhang wrote:
> Now that the TE setup has been moved to prepare_for_kickoff(), and
> dpu_encoder_prepare_commit() is not empty, remove prepare_commit()
> from DPU driver.

Well. dpu_encoder_prepare_commit() is not empty. I'd say instead:

"... to prepare_for_kickoff(), we have no prepare_commit() callbacks 
left. This makes dpu_encoder_prepare_commit() do nothing. Remove ..."

Otherwise LGTM.

> 
> Changes in V3:
> - Reworded commit message to be more clear
> - Corrected spelling mistake in commit message
> 
> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
> ---
>   drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 19 -------------------
>   drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h |  7 -------
>   drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c     | 21 ---------------------
>   3 files changed, 47 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> index dcceed91aed8..35e120b5ef53 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> @@ -2090,25 +2090,6 @@ void dpu_encoder_helper_phys_cleanup(struct dpu_encoder_phys *phys_enc)
>   	ctl->ops.clear_pending_flush(ctl);
>   }
>   
> -void dpu_encoder_prepare_commit(struct drm_encoder *drm_enc)
> -{
> -	struct dpu_encoder_virt *dpu_enc;
> -	struct dpu_encoder_phys *phys;
> -	int i;
> -
> -	if (!drm_enc) {
> -		DPU_ERROR("invalid encoder\n");
> -		return;
> -	}
> -	dpu_enc = to_dpu_encoder_virt(drm_enc);
> -
> -	for (i = 0; i < dpu_enc->num_phys_encs; i++) {
> -		phys = dpu_enc->phys_encs[i];
> -		if (phys->ops.prepare_commit)
> -			phys->ops.prepare_commit(phys);
> -	}
> -}
> -

[skipped the rest]

-- 
With best wishes
Dmitry


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [RFC PATCH v3 4/4] drm/msm/mdp4: Remove empty prepare_commit() function
  2023-02-13 19:48 [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff() Jessica Zhang
                   ` (3 preceding siblings ...)
  2023-02-13 21:51 ` [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff() Dmitry Baryshkov
@ 2023-02-13 23:25 ` Jessica Zhang
  2023-03-28 22:37 ` [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff() Dmitry Baryshkov
  5 siblings, 0 replies; 11+ messages in thread
From: Jessica Zhang @ 2023-02-13 23:25 UTC (permalink / raw)
  To: freedreno
  Cc: Jessica Zhang, linux-arm-msm, dri-devel, robdclark, seanpaul,
	swboyd, dmitry.baryshkov, quic_abhinavk, marijn.suijten

Remove empty prepare_commit() function from MDP4 driver.

Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
index 9a1a0769575d..6e37072ed302 100644
--- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
+++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
@@ -84,10 +84,6 @@ static void mdp4_disable_commit(struct msm_kms *kms)
 	mdp4_disable(mdp4_kms);
 }
 
-static void mdp4_prepare_commit(struct msm_kms *kms, struct drm_atomic_state *state)
-{
-}
-
 static void mdp4_flush_commit(struct msm_kms *kms, unsigned crtc_mask)
 {
 	/* TODO */
@@ -154,7 +150,6 @@ static const struct mdp_kms_funcs kms_funcs = {
 		.disable_vblank  = mdp4_disable_vblank,
 		.enable_commit   = mdp4_enable_commit,
 		.disable_commit  = mdp4_disable_commit,
-		.prepare_commit  = mdp4_prepare_commit,
 		.flush_commit    = mdp4_flush_commit,
 		.wait_flush      = mdp4_wait_flush,
 		.complete_commit = mdp4_complete_commit,
-- 
2.39.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff()
  2023-02-13 21:51 ` [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff() Dmitry Baryshkov
@ 2023-02-14  0:01   ` Abhinav Kumar
  2023-02-14  0:02     ` Dmitry Baryshkov
  0 siblings, 1 reply; 11+ messages in thread
From: Abhinav Kumar @ 2023-02-14  0:01 UTC (permalink / raw)
  To: Dmitry Baryshkov, Jessica Zhang, freedreno
  Cc: linux-arm-msm, dri-devel, robdclark, seanpaul, swboyd, marijn.suijten



On 2/13/2023 1:51 PM, Dmitry Baryshkov wrote:
> On 13/02/2023 21:48, Jessica Zhang wrote:
>> Move TE setup to prepare_for_kickoff() and remove empty prepare_commit()
>> functions in both MDP4 and DPU drivers.
>>
>> Changes in V2:
>> - Added changes to remove empty prepare_commit() functions
>>
>> Changes in V3:
>> - Reordered "drm/msm/dpu: Move TE setup to prepare_for_kickoff()" for
>>    clarity
>> - Fixed spelling mistakes and wording issues
>> - Picked up "Reviewed-by" tags for patches [2/4] and [4/4]
> 
> Is it just me or patch 4/4 is missing? Patchwork also hasn't seen it:
> https://patchwork.freedesktop.org/series/113967/
> 

Yes, not sure what happened there. Even i couldnt see it.

We have posted in-reply-to now.

> If you can send it with the proper in-reply-to (set to 
> 20230213194819.608-1-quic_jesszhan@quicinc.com), that would be great.
> 
>>
>> Jessica Zhang (4):
>>    drm/msm/dpu: Move TE setup to prepare_for_kickoff()
>>    drm/msm: Check for NULL before calling prepare_commit()
>>    drm/msm/dpu: Remove empty prepare_commit() function
>>    drm/msm/mdp4: Remove empty prepare_commit() function
>>
>>   drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c   | 19 -----------------
>>   drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h   |  7 -------
>>   .../drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c  | 10 ++++++---
>>   drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c       | 21 -------------------
>>   drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c      |  5 -----
>>   drivers/gpu/drm/msm/msm_atomic.c              |  3 ++-
>>   6 files changed, 9 insertions(+), 56 deletions(-)
>>
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff()
  2023-02-14  0:01   ` Abhinav Kumar
@ 2023-02-14  0:02     ` Dmitry Baryshkov
  0 siblings, 0 replies; 11+ messages in thread
From: Dmitry Baryshkov @ 2023-02-14  0:02 UTC (permalink / raw)
  To: Abhinav Kumar, Jessica Zhang, freedreno
  Cc: linux-arm-msm, dri-devel, robdclark, seanpaul, swboyd, marijn.suijten

On 14/02/2023 02:01, Abhinav Kumar wrote:
> 
> 
> On 2/13/2023 1:51 PM, Dmitry Baryshkov wrote:
>> On 13/02/2023 21:48, Jessica Zhang wrote:
>>> Move TE setup to prepare_for_kickoff() and remove empty prepare_commit()
>>> functions in both MDP4 and DPU drivers.
>>>
>>> Changes in V2:
>>> - Added changes to remove empty prepare_commit() functions
>>>
>>> Changes in V3:
>>> - Reordered "drm/msm/dpu: Move TE setup to prepare_for_kickoff()" for
>>>    clarity
>>> - Fixed spelling mistakes and wording issues
>>> - Picked up "Reviewed-by" tags for patches [2/4] and [4/4]
>>
>> Is it just me or patch 4/4 is missing? Patchwork also hasn't seen it:
>> https://patchwork.freedesktop.org/series/113967/
>>
> 
> Yes, not sure what happened there. Even i couldnt see it.
> 
> We have posted in-reply-to now.

It was received properly now, thank you!.

> 
>> If you can send it with the proper in-reply-to (set to 
>> 20230213194819.608-1-quic_jesszhan@quicinc.com), that would be great.
>>
>>>
>>> Jessica Zhang (4):
>>>    drm/msm/dpu: Move TE setup to prepare_for_kickoff()
>>>    drm/msm: Check for NULL before calling prepare_commit()
>>>    drm/msm/dpu: Remove empty prepare_commit() function
>>>    drm/msm/mdp4: Remove empty prepare_commit() function
>>>
>>>   drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c   | 19 -----------------
>>>   drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h   |  7 -------
>>>   .../drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c  | 10 ++++++---
>>>   drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c       | 21 -------------------
>>>   drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c      |  5 -----
>>>   drivers/gpu/drm/msm/msm_atomic.c              |  3 ++-
>>>   6 files changed, 9 insertions(+), 56 deletions(-)
>>>
>>

-- 
With best wishes
Dmitry


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff()
  2023-02-13 19:48 [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff() Jessica Zhang
                   ` (4 preceding siblings ...)
  2023-02-13 23:25 ` [RFC PATCH v3 4/4] drm/msm/mdp4: Remove empty prepare_commit() function Jessica Zhang
@ 2023-03-28 22:37 ` Dmitry Baryshkov
  5 siblings, 0 replies; 11+ messages in thread
From: Dmitry Baryshkov @ 2023-03-28 22:37 UTC (permalink / raw)
  To: freedreno, Jessica Zhang
  Cc: linux-arm-msm, dri-devel, robdclark, seanpaul, swboyd,
	quic_abhinavk, marijn.suijten


On Mon, 13 Feb 2023 11:48:15 -0800, Jessica Zhang wrote:
> Move TE setup to prepare_for_kickoff() and remove empty prepare_commit()
> functions in both MDP4 and DPU drivers.
> 
> Changes in V2:
> - Added changes to remove empty prepare_commit() functions
> 
> Changes in V3:
> - Reordered "drm/msm/dpu: Move TE setup to prepare_for_kickoff()" for
>   clarity
> - Fixed spelling mistakes and wording issues
> - Picked up "Reviewed-by" tags for patches [2/4] and [4/4]
> 
> [...]

Applied, thanks!

[1/4] drm/msm/dpu: Move TE setup to prepare_for_kickoff()
      https://gitlab.freedesktop.org/lumag/msm/-/commit/dd7904e0f824
[2/4] drm/msm: Check for NULL before calling prepare_commit()
      https://gitlab.freedesktop.org/lumag/msm/-/commit/63c3df12d13a
[3/4] drm/msm/dpu: Remove empty prepare_commit() function
      https://gitlab.freedesktop.org/lumag/msm/-/commit/f4d83f101233
[4/4] drm/msm/mdp4: Remove empty prepare_commit() function
      https://gitlab.freedesktop.org/lumag/msm/-/commit/191604898585

Best regards,
-- 
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-03-28 22:38 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-13 19:48 [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff() Jessica Zhang
2023-02-13 19:48 ` [RFC PATCH v3 1/4] drm/msm/dpu: " Jessica Zhang
2023-02-13 22:00   ` Dmitry Baryshkov
2023-02-13 19:48 ` [RFC PATCH v3 2/4] drm/msm: Check for NULL before calling prepare_commit() Jessica Zhang
2023-02-13 19:48 ` [RFC PATCH v3 3/4] drm/msm/dpu: Remove empty prepare_commit() function Jessica Zhang
2023-02-13 22:03   ` Dmitry Baryshkov
2023-02-13 21:51 ` [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff() Dmitry Baryshkov
2023-02-14  0:01   ` Abhinav Kumar
2023-02-14  0:02     ` Dmitry Baryshkov
2023-02-13 23:25 ` [RFC PATCH v3 4/4] drm/msm/mdp4: Remove empty prepare_commit() function Jessica Zhang
2023-03-28 22:37 ` [RFC PATCH v3 0/4] Move TE setup to prepare_for_kickoff() Dmitry Baryshkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).