[PATCH v2 4/5] drm/msm/dpu: drop TE2 definitions

Abhinav Kumar quic_abhinavk at quicinc.com
Tue Apr 29 01:33:05 UTC 2025



On 3/1/2025 1:24 AM, Dmitry Baryshkov wrote:
> Neither DPU driver nor vendor SDE driver do not use TE2 definitions
> (and, in case of SDE driver, never did). Semantics of the TE2 feature
> bit and .te2 sblk are not completely clear. Drop these bits from the
> catalog with the possibility of reintroducing them later if we need to
> support ppsplit.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
> ---
>   drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_1_7_msm8996.h |  8 ++++----
>   drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h |  8 ++++----
>   drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_2_sdm660.h  |  8 ++++----
>   drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_3_sdm630.h  |  4 ++--
>   drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h  |  8 ++++----
>   drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c          | 17 -----------------
>   drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h          |  6 +-----
>   7 files changed, 19 insertions(+), 40 deletions(-)
> 

<snip>

>   
> @@ -465,22 +459,11 @@ static const struct dpu_dspp_sub_blks sdm845_dspp_sblk = {
>   /*************************************************************
>    * PINGPONG sub blocks config
>    *************************************************************/
> -static const struct dpu_pingpong_sub_blks msm8996_pp_sblk_te = {
> -	.te2 = {.name = "te2", .base = 0x2000, .len = 0x0,
> -		.version = 0x1},
> -};
>   
>   static const struct dpu_pingpong_sub_blks msm8996_pp_sblk = {
>   	/* No dither block */
>   };
>   
> -static const struct dpu_pingpong_sub_blks sdm845_pp_sblk_te = {
> -	.te2 = {.name = "te2", .base = 0x2000, .len = 0x0,
> -		.version = 0x1},
> -	.dither = {.name = "dither", .base = 0x30e0,
> -		.len = 0x20, .version = 0x10000},
> -};
> -

Agreed about TE2. I do not see even te2 sub-block programming in 
dpu_hw_pingpong but why do we also need to drop dither?

That one is being used in dpu_hw_pp_setup_dither().

>   static const struct dpu_pingpong_sub_blks sdm845_pp_sblk = {
>   	.dither = {.name = "dither", .base = 0x30e0,
>   		.len = 0x20, .version = 0x10000},
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
> index 4cea19e1a20380c56ae014f2d33a6884a72e0ca0..07b50e23ee954b96e7e6bd684dc12823f99d630b 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
> @@ -115,7 +115,6 @@ enum {
>   
>   /**
>    * PINGPONG sub-blocks
> - * @DPU_PINGPONG_TE2        Additional tear check block for split pipes
>    * @DPU_PINGPONG_SPLIT      PP block supports split fifo
>    * @DPU_PINGPONG_SLAVE      PP block is a suitable slave for split fifo
>    * @DPU_PINGPONG_DITHER     Dither blocks
> @@ -123,8 +122,7 @@ enum {
>    * @DPU_PINGPONG_MAX
>    */
>   enum {
> -	DPU_PINGPONG_TE2 = 0x1,
> -	DPU_PINGPONG_SPLIT,
> +	DPU_PINGPONG_SPLIT = 0x1,
>   	DPU_PINGPONG_SLAVE,
>   	DPU_PINGPONG_DITHER,
>   	DPU_PINGPONG_DSC,
> @@ -404,8 +402,6 @@ struct dpu_dspp_sub_blks {
>   };
>   
>   struct dpu_pingpong_sub_blks {
> -	struct dpu_pp_blk te;
> -	struct dpu_pp_blk te2;
>   	struct dpu_pp_blk dither;
>   };
>   
> 



More information about the dri-devel mailing list