All of lore.kernel.org
 help / color / mirror / Atom feed
From: Abhinav Kumar <quic_abhinavk@quicinc.com>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>
Cc: Stephen Boyd <swboyd@chromium.org>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	<linux-arm-msm@vger.kernel.org>,
	<dri-devel@lists.freedesktop.org>,
	<freedreno@lists.freedesktop.org>
Subject: Re: [PATCH 6/6] drm/msm/dpu: pass irq to dpu_encoder_helper_wait_for_irq()
Date: Tue, 15 Feb 2022 18:34:37 -0800	[thread overview]
Message-ID: <d5d92d61-55d3-a643-799b-1888505af69f@quicinc.com> (raw)
In-Reply-To: <20220201151056.2480055-7-dmitry.baryshkov@linaro.org>



On 2/1/2022 7:10 AM, Dmitry Baryshkov wrote:
> Pass IRQ number directly rather than passing an index in the dpu_encoder's irq table.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
> ---
>   drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c   | 29 +++++++++----------
>   .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h  |  4 +--
>   .../drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c  |  9 ++++--
>   .../drm/msm/disp/dpu1/dpu_encoder_phys_vid.c  |  3 +-
>   drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h     | 12 ++++----
>   5 files changed, 29 insertions(+), 28 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> index 83b6715820fa..4c9e7c4fa14b 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> @@ -260,38 +260,35 @@ static int dpu_encoder_helper_wait_event_timeout(int32_t drm_id,
>   		u32 irq_idx, struct dpu_encoder_wait_info *info);
>   
>   int dpu_encoder_helper_wait_for_irq(struct dpu_encoder_phys *phys_enc,
> -		enum dpu_intr_idx intr_idx,
> +		int irq,
>   		void (*func)(void *arg, int irq_idx),
>   		struct dpu_encoder_wait_info *wait_info)
>   {
> -	int irq;
>   	u32 irq_status;
>   	int ret;
>   
> -	if (!wait_info || intr_idx >= INTR_IDX_MAX) {
> +	if (!wait_info) {
>   		DPU_ERROR("invalid params\n");
>   		return -EINVAL;
>   	}
> -	irq = phys_enc->irq[intr_idx];
> -
>   	/* note: do master / slave checking outside */
>   
>   	/* return EWOULDBLOCK since we know the wait isn't necessary */
>   	if (phys_enc->enable_state == DPU_ENC_DISABLED) {
> -		DRM_ERROR("encoder is disabled id=%u, intr=%d, irq=%d\n",
> -			  DRMID(phys_enc->parent), intr_idx,
> +		DRM_ERROR("encoder is disabled id=%u, callback=%ps, irq=%d\n",
> +			  DRMID(phys_enc->parent), func,
>   			  irq);
>   		return -EWOULDBLOCK;
>   	}
>   
>   	if (irq < 0) {
> -		DRM_DEBUG_KMS("skip irq wait id=%u, intr=%d\n",
> -			      DRMID(phys_enc->parent), intr_idx);
> +		DRM_DEBUG_KMS("skip irq wait id=%u, callback=%ps\n",
> +			      DRMID(phys_enc->parent), func);
>   		return 0;
>   	}
>   
> -	DRM_DEBUG_KMS("id=%u, intr=%d, irq=%d, pp=%d, pending_cnt=%d\n",
> -		      DRMID(phys_enc->parent), intr_idx,
> +	DRM_DEBUG_KMS("id=%u, callback=%ps, irq=%d, pp=%d, pending_cnt=%d\n",
> +		      DRMID(phys_enc->parent), func,
>   		      irq, phys_enc->hw_pp->idx - PINGPONG_0,
>   		      atomic_read(wait_info->atomic_cnt));
>   
> @@ -305,8 +302,8 @@ int dpu_encoder_helper_wait_for_irq(struct dpu_encoder_phys *phys_enc,
>   		if (irq_status) {
>   			unsigned long flags;
>   
> -			DRM_DEBUG_KMS("irq not triggered id=%u, intr=%d, irq=%d, pp=%d, atomic_cnt=%d\n",
> -				      DRMID(phys_enc->parent), intr_idx,
> +			DRM_DEBUG_KMS("irq not triggered id=%u, callback=%ps, irq=%d, pp=%d, atomic_cnt=%d\n",
> +				      DRMID(phys_enc->parent), func,
>   				      irq,
>   				      phys_enc->hw_pp->idx - PINGPONG_0,
>   				      atomic_read(wait_info->atomic_cnt));
> @@ -316,8 +313,8 @@ int dpu_encoder_helper_wait_for_irq(struct dpu_encoder_phys *phys_enc,
>   			ret = 0;
>   		} else {
>   			ret = -ETIMEDOUT;
> -			DRM_DEBUG_KMS("irq timeout id=%u, intr=%d, irq=%d, pp=%d, atomic_cnt=%d\n",
> -				      DRMID(phys_enc->parent), intr_idx,
> +			DRM_DEBUG_KMS("irq timeout id=%u, callback=%ps, irq=%d, pp=%d, atomic_cnt=%d\n",
> +				      DRMID(phys_enc->parent), func,
>   				      irq,
>   				      phys_enc->hw_pp->idx - PINGPONG_0,
>   				      atomic_read(wait_info->atomic_cnt));
> @@ -325,7 +322,7 @@ int dpu_encoder_helper_wait_for_irq(struct dpu_encoder_phys *phys_enc,
>   	} else {
>   		ret = 0;
>   		trace_dpu_enc_irq_wait_success(DRMID(phys_enc->parent),
> -			intr_idx, irq,
> +			func, irq,
>   			phys_enc->hw_pp->idx - PINGPONG_0,
>   			atomic_read(wait_info->atomic_cnt));
>   	}
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h
> index 803fd6f25da1..9843acdc33bd 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h
> @@ -341,13 +341,13 @@ void dpu_encoder_helper_report_irq_timeout(struct dpu_encoder_phys *phys_enc,
>    * dpu_encoder_helper_wait_for_irq - utility to wait on an irq.
>    *	note: will call dpu_encoder_helper_wait_for_irq on timeout
>    * @phys_enc: Pointer to physical encoder structure
> - * @intr_idx: encoder interrupt index
> + * @irq: IRQ index
>    * @func: IRQ callback to be called in case of timeout
>    * @wait_info: wait info struct
>    * @Return: 0 or -ERROR
>    */
>   int dpu_encoder_helper_wait_for_irq(struct dpu_encoder_phys *phys_enc,
> -		enum dpu_intr_idx intr_idx,
> +		int irq,
>   		void (*func)(void *arg, int irq_idx),
>   		struct dpu_encoder_wait_info *wait_info);
>   
> 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 9987a129a32c..3eb0caccefbb 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
> @@ -234,7 +234,8 @@ static int _dpu_encoder_phys_cmd_wait_for_idle(
>   	wait_info.atomic_cnt = &phys_enc->pending_kickoff_cnt;
>   	wait_info.timeout_ms = KICKOFF_TIMEOUT_MS;
>   
> -	ret = dpu_encoder_helper_wait_for_irq(phys_enc, INTR_IDX_PINGPONG,
> +	ret = dpu_encoder_helper_wait_for_irq(phys_enc,
> +			phys_enc->irq[INTR_IDX_PINGPONG],
>   			dpu_encoder_phys_cmd_pp_tx_done_irq,
>   			&wait_info);
>   	if (ret == -ETIMEDOUT)
> @@ -659,7 +660,8 @@ static int _dpu_encoder_phys_cmd_wait_for_ctl_start(
>   	wait_info.atomic_cnt = &phys_enc->pending_ctlstart_cnt;
>   	wait_info.timeout_ms = KICKOFF_TIMEOUT_MS;
>   
> -	ret = dpu_encoder_helper_wait_for_irq(phys_enc, INTR_IDX_CTL_START,
> +	ret = dpu_encoder_helper_wait_for_irq(phys_enc,
> +			phys_enc->irq[INTR_IDX_CTL_START],
>   			dpu_encoder_phys_cmd_ctl_start_irq,
>   			&wait_info);
>   	if (ret == -ETIMEDOUT) {
> @@ -715,7 +717,8 @@ static int dpu_encoder_phys_cmd_wait_for_vblank(
>   
>   	atomic_inc(&cmd_enc->pending_vblank_cnt);
>   
> -	rc = dpu_encoder_helper_wait_for_irq(phys_enc, INTR_IDX_RDPTR,
> +	rc = dpu_encoder_helper_wait_for_irq(phys_enc,
> +			phys_enc->irq[INTR_IDX_RDPTR],
>   			dpu_encoder_phys_cmd_pp_rd_ptr_irq,
>   			&wait_info);
>   
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c
> index d80b2f80fec9..45968cd60c90 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c
> @@ -486,7 +486,8 @@ static int dpu_encoder_phys_vid_wait_for_vblank(
>   	}
>   
>   	/* Wait for kickoff to complete */
> -	ret = dpu_encoder_helper_wait_for_irq(phys_enc, INTR_IDX_VSYNC,
> +	ret = dpu_encoder_helper_wait_for_irq(phys_enc,
> +			phys_enc->irq[INTR_IDX_VSYNC],
>   			dpu_encoder_phys_vid_vblank_irq,
>   			&wait_info);
>   
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> index 95b449a6e349..eab6c2e06fe6 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> @@ -188,25 +188,25 @@ DEFINE_EVENT(dpu_irq_template, dpu_irq_unregister_success,
>   );
>   
>   TRACE_EVENT(dpu_enc_irq_wait_success,
> -	TP_PROTO(uint32_t drm_id, enum dpu_intr_idx intr_idx,
> +	TP_PROTO(uint32_t drm_id, void *func,
>   		 int irq_idx, enum dpu_pingpong pp_idx, int atomic_cnt),
> -	TP_ARGS(drm_id, intr_idx, irq_idx, pp_idx, atomic_cnt),
> +	TP_ARGS(drm_id, func, irq_idx, pp_idx, atomic_cnt),
>   	TP_STRUCT__entry(
>   		__field(	uint32_t,		drm_id		)
> -		__field(	enum dpu_intr_idx,	intr_idx	)
> +		__field(	void *,			func		)
>   		__field(	int,			irq_idx		)
>   		__field(	enum dpu_pingpong,	pp_idx		)
>   		__field(	int,			atomic_cnt	)
>   	),
>   	TP_fast_assign(
>   		__entry->drm_id = drm_id;
> -		__entry->intr_idx = intr_idx;
> +		__entry->func = func;
>   		__entry->irq_idx = irq_idx;
>   		__entry->pp_idx = pp_idx;
>   		__entry->atomic_cnt = atomic_cnt;
>   	),
> -	TP_printk("id=%u, intr=%d, irq=%d, pp=%d, atomic_cnt=%d",
> -		  __entry->drm_id, __entry->intr_idx,
> +	TP_printk("id=%u, callback=%ps, irq=%d, pp=%d, atomic_cnt=%d",
> +		  __entry->drm_id, __entry->func,
>   		  __entry->irq_idx, __entry->pp_idx, __entry->atomic_cnt)
>   );
>   

WARNING: multiple messages have this Message-ID (diff)
From: Abhinav Kumar <quic_abhinavk@quicinc.com>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>
Cc: David Airlie <airlied@linux.ie>,
	linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Stephen Boyd <swboyd@chromium.org>,
	freedreno@lists.freedesktop.org
Subject: Re: [PATCH 6/6] drm/msm/dpu: pass irq to dpu_encoder_helper_wait_for_irq()
Date: Tue, 15 Feb 2022 18:34:37 -0800	[thread overview]
Message-ID: <d5d92d61-55d3-a643-799b-1888505af69f@quicinc.com> (raw)
In-Reply-To: <20220201151056.2480055-7-dmitry.baryshkov@linaro.org>



On 2/1/2022 7:10 AM, Dmitry Baryshkov wrote:
> Pass IRQ number directly rather than passing an index in the dpu_encoder's irq table.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
> ---
>   drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c   | 29 +++++++++----------
>   .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h  |  4 +--
>   .../drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c  |  9 ++++--
>   .../drm/msm/disp/dpu1/dpu_encoder_phys_vid.c  |  3 +-
>   drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h     | 12 ++++----
>   5 files changed, 29 insertions(+), 28 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> index 83b6715820fa..4c9e7c4fa14b 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> @@ -260,38 +260,35 @@ static int dpu_encoder_helper_wait_event_timeout(int32_t drm_id,
>   		u32 irq_idx, struct dpu_encoder_wait_info *info);
>   
>   int dpu_encoder_helper_wait_for_irq(struct dpu_encoder_phys *phys_enc,
> -		enum dpu_intr_idx intr_idx,
> +		int irq,
>   		void (*func)(void *arg, int irq_idx),
>   		struct dpu_encoder_wait_info *wait_info)
>   {
> -	int irq;
>   	u32 irq_status;
>   	int ret;
>   
> -	if (!wait_info || intr_idx >= INTR_IDX_MAX) {
> +	if (!wait_info) {
>   		DPU_ERROR("invalid params\n");
>   		return -EINVAL;
>   	}
> -	irq = phys_enc->irq[intr_idx];
> -
>   	/* note: do master / slave checking outside */
>   
>   	/* return EWOULDBLOCK since we know the wait isn't necessary */
>   	if (phys_enc->enable_state == DPU_ENC_DISABLED) {
> -		DRM_ERROR("encoder is disabled id=%u, intr=%d, irq=%d\n",
> -			  DRMID(phys_enc->parent), intr_idx,
> +		DRM_ERROR("encoder is disabled id=%u, callback=%ps, irq=%d\n",
> +			  DRMID(phys_enc->parent), func,
>   			  irq);
>   		return -EWOULDBLOCK;
>   	}
>   
>   	if (irq < 0) {
> -		DRM_DEBUG_KMS("skip irq wait id=%u, intr=%d\n",
> -			      DRMID(phys_enc->parent), intr_idx);
> +		DRM_DEBUG_KMS("skip irq wait id=%u, callback=%ps\n",
> +			      DRMID(phys_enc->parent), func);
>   		return 0;
>   	}
>   
> -	DRM_DEBUG_KMS("id=%u, intr=%d, irq=%d, pp=%d, pending_cnt=%d\n",
> -		      DRMID(phys_enc->parent), intr_idx,
> +	DRM_DEBUG_KMS("id=%u, callback=%ps, irq=%d, pp=%d, pending_cnt=%d\n",
> +		      DRMID(phys_enc->parent), func,
>   		      irq, phys_enc->hw_pp->idx - PINGPONG_0,
>   		      atomic_read(wait_info->atomic_cnt));
>   
> @@ -305,8 +302,8 @@ int dpu_encoder_helper_wait_for_irq(struct dpu_encoder_phys *phys_enc,
>   		if (irq_status) {
>   			unsigned long flags;
>   
> -			DRM_DEBUG_KMS("irq not triggered id=%u, intr=%d, irq=%d, pp=%d, atomic_cnt=%d\n",
> -				      DRMID(phys_enc->parent), intr_idx,
> +			DRM_DEBUG_KMS("irq not triggered id=%u, callback=%ps, irq=%d, pp=%d, atomic_cnt=%d\n",
> +				      DRMID(phys_enc->parent), func,
>   				      irq,
>   				      phys_enc->hw_pp->idx - PINGPONG_0,
>   				      atomic_read(wait_info->atomic_cnt));
> @@ -316,8 +313,8 @@ int dpu_encoder_helper_wait_for_irq(struct dpu_encoder_phys *phys_enc,
>   			ret = 0;
>   		} else {
>   			ret = -ETIMEDOUT;
> -			DRM_DEBUG_KMS("irq timeout id=%u, intr=%d, irq=%d, pp=%d, atomic_cnt=%d\n",
> -				      DRMID(phys_enc->parent), intr_idx,
> +			DRM_DEBUG_KMS("irq timeout id=%u, callback=%ps, irq=%d, pp=%d, atomic_cnt=%d\n",
> +				      DRMID(phys_enc->parent), func,
>   				      irq,
>   				      phys_enc->hw_pp->idx - PINGPONG_0,
>   				      atomic_read(wait_info->atomic_cnt));
> @@ -325,7 +322,7 @@ int dpu_encoder_helper_wait_for_irq(struct dpu_encoder_phys *phys_enc,
>   	} else {
>   		ret = 0;
>   		trace_dpu_enc_irq_wait_success(DRMID(phys_enc->parent),
> -			intr_idx, irq,
> +			func, irq,
>   			phys_enc->hw_pp->idx - PINGPONG_0,
>   			atomic_read(wait_info->atomic_cnt));
>   	}
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h
> index 803fd6f25da1..9843acdc33bd 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h
> @@ -341,13 +341,13 @@ void dpu_encoder_helper_report_irq_timeout(struct dpu_encoder_phys *phys_enc,
>    * dpu_encoder_helper_wait_for_irq - utility to wait on an irq.
>    *	note: will call dpu_encoder_helper_wait_for_irq on timeout
>    * @phys_enc: Pointer to physical encoder structure
> - * @intr_idx: encoder interrupt index
> + * @irq: IRQ index
>    * @func: IRQ callback to be called in case of timeout
>    * @wait_info: wait info struct
>    * @Return: 0 or -ERROR
>    */
>   int dpu_encoder_helper_wait_for_irq(struct dpu_encoder_phys *phys_enc,
> -		enum dpu_intr_idx intr_idx,
> +		int irq,
>   		void (*func)(void *arg, int irq_idx),
>   		struct dpu_encoder_wait_info *wait_info);
>   
> 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 9987a129a32c..3eb0caccefbb 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
> @@ -234,7 +234,8 @@ static int _dpu_encoder_phys_cmd_wait_for_idle(
>   	wait_info.atomic_cnt = &phys_enc->pending_kickoff_cnt;
>   	wait_info.timeout_ms = KICKOFF_TIMEOUT_MS;
>   
> -	ret = dpu_encoder_helper_wait_for_irq(phys_enc, INTR_IDX_PINGPONG,
> +	ret = dpu_encoder_helper_wait_for_irq(phys_enc,
> +			phys_enc->irq[INTR_IDX_PINGPONG],
>   			dpu_encoder_phys_cmd_pp_tx_done_irq,
>   			&wait_info);
>   	if (ret == -ETIMEDOUT)
> @@ -659,7 +660,8 @@ static int _dpu_encoder_phys_cmd_wait_for_ctl_start(
>   	wait_info.atomic_cnt = &phys_enc->pending_ctlstart_cnt;
>   	wait_info.timeout_ms = KICKOFF_TIMEOUT_MS;
>   
> -	ret = dpu_encoder_helper_wait_for_irq(phys_enc, INTR_IDX_CTL_START,
> +	ret = dpu_encoder_helper_wait_for_irq(phys_enc,
> +			phys_enc->irq[INTR_IDX_CTL_START],
>   			dpu_encoder_phys_cmd_ctl_start_irq,
>   			&wait_info);
>   	if (ret == -ETIMEDOUT) {
> @@ -715,7 +717,8 @@ static int dpu_encoder_phys_cmd_wait_for_vblank(
>   
>   	atomic_inc(&cmd_enc->pending_vblank_cnt);
>   
> -	rc = dpu_encoder_helper_wait_for_irq(phys_enc, INTR_IDX_RDPTR,
> +	rc = dpu_encoder_helper_wait_for_irq(phys_enc,
> +			phys_enc->irq[INTR_IDX_RDPTR],
>   			dpu_encoder_phys_cmd_pp_rd_ptr_irq,
>   			&wait_info);
>   
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c
> index d80b2f80fec9..45968cd60c90 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c
> @@ -486,7 +486,8 @@ static int dpu_encoder_phys_vid_wait_for_vblank(
>   	}
>   
>   	/* Wait for kickoff to complete */
> -	ret = dpu_encoder_helper_wait_for_irq(phys_enc, INTR_IDX_VSYNC,
> +	ret = dpu_encoder_helper_wait_for_irq(phys_enc,
> +			phys_enc->irq[INTR_IDX_VSYNC],
>   			dpu_encoder_phys_vid_vblank_irq,
>   			&wait_info);
>   
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> index 95b449a6e349..eab6c2e06fe6 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> @@ -188,25 +188,25 @@ DEFINE_EVENT(dpu_irq_template, dpu_irq_unregister_success,
>   );
>   
>   TRACE_EVENT(dpu_enc_irq_wait_success,
> -	TP_PROTO(uint32_t drm_id, enum dpu_intr_idx intr_idx,
> +	TP_PROTO(uint32_t drm_id, void *func,
>   		 int irq_idx, enum dpu_pingpong pp_idx, int atomic_cnt),
> -	TP_ARGS(drm_id, intr_idx, irq_idx, pp_idx, atomic_cnt),
> +	TP_ARGS(drm_id, func, irq_idx, pp_idx, atomic_cnt),
>   	TP_STRUCT__entry(
>   		__field(	uint32_t,		drm_id		)
> -		__field(	enum dpu_intr_idx,	intr_idx	)
> +		__field(	void *,			func		)
>   		__field(	int,			irq_idx		)
>   		__field(	enum dpu_pingpong,	pp_idx		)
>   		__field(	int,			atomic_cnt	)
>   	),
>   	TP_fast_assign(
>   		__entry->drm_id = drm_id;
> -		__entry->intr_idx = intr_idx;
> +		__entry->func = func;
>   		__entry->irq_idx = irq_idx;
>   		__entry->pp_idx = pp_idx;
>   		__entry->atomic_cnt = atomic_cnt;
>   	),
> -	TP_printk("id=%u, intr=%d, irq=%d, pp=%d, atomic_cnt=%d",
> -		  __entry->drm_id, __entry->intr_idx,
> +	TP_printk("id=%u, callback=%ps, irq=%d, pp=%d, atomic_cnt=%d",
> +		  __entry->drm_id, __entry->func,
>   		  __entry->irq_idx, __entry->pp_idx, __entry->atomic_cnt)
>   );
>   

  parent reply	other threads:[~2022-02-16  2:34 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-01 15:10 [PATCH 0/6] drm/msm/dpu: simplify IRQ helpers Dmitry Baryshkov
2022-02-01 15:10 ` Dmitry Baryshkov
2022-02-01 15:10 ` [PATCH 1/6] drm/msm/dpu: remove extra wrappers around dpu_core_irq Dmitry Baryshkov
2022-02-01 15:10   ` Dmitry Baryshkov
2022-02-16  2:17   ` Stephen Boyd
2022-02-16  2:17     ` Stephen Boyd
2022-02-01 15:10 ` [PATCH 2/6] drm/msm/dpu: remove always-true argument of dpu_core_irq_read() Dmitry Baryshkov
2022-02-01 15:10   ` Dmitry Baryshkov
2022-02-15 23:27   ` Abhinav Kumar
2022-02-15 23:27     ` Abhinav Kumar
2022-02-16  2:18   ` Stephen Boyd
2022-02-16  2:18     ` Stephen Boyd
2022-02-01 15:10 ` [PATCH 3/6] drm/msm/dpu: allow just single IRQ callback Dmitry Baryshkov
2022-02-01 15:10   ` Dmitry Baryshkov
2022-02-01 22:14   ` kernel test robot
2022-02-01 22:14     ` kernel test robot
2022-02-01 22:54   ` kernel test robot
2022-02-01 22:54     ` kernel test robot
2022-02-15 23:58   ` Abhinav Kumar
2022-02-15 23:58     ` Abhinav Kumar
2022-02-01 15:10 ` [PATCH 4/6] drm/msm/dpu: get rid of dpu_encoder_helper_(un)register_irq Dmitry Baryshkov
2022-02-01 15:10   ` Dmitry Baryshkov
2022-02-16  2:20   ` Stephen Boyd
2022-02-16  2:20     ` Stephen Boyd
2022-02-01 15:10 ` [PATCH 5/6] drm/msm/dpu: remove struct dpu_encoder_irq Dmitry Baryshkov
2022-02-01 15:10   ` Dmitry Baryshkov
2022-02-16  1:56   ` Abhinav Kumar
2022-02-16  1:56     ` Abhinav Kumar
2022-02-17  4:05     ` Dmitry Baryshkov
2022-02-17  4:05       ` Dmitry Baryshkov
2022-02-16  2:22   ` Stephen Boyd
2022-02-16  2:22     ` Stephen Boyd
2022-02-17  1:19     ` Dmitry Baryshkov
2022-02-17  1:19       ` Dmitry Baryshkov
2022-02-01 15:10 ` [PATCH 6/6] drm/msm/dpu: pass irq to dpu_encoder_helper_wait_for_irq() Dmitry Baryshkov
2022-02-01 15:10   ` Dmitry Baryshkov
2022-02-16  2:23   ` Stephen Boyd
2022-02-16  2:23     ` Stephen Boyd
2022-02-16  2:34   ` Abhinav Kumar [this message]
2022-02-16  2:34     ` Abhinav Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d5d92d61-55d3-a643-799b-1888505af69f@quicinc.com \
    --to=quic_abhinavk@quicinc.com \
    --cc=airlied@linux.ie \
    --cc=bjorn.andersson@linaro.org \
    --cc=daniel@ffwll.ch \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=robdclark@gmail.com \
    --cc=sean@poorly.run \
    --cc=swboyd@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.