lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <iabwfwus4ze3jwekayyfgwhu5bdoerebp3sehisc7rfeic63xh@552zbik6uvmm>
Date: Tue, 29 Apr 2025 15:16:02 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
To: Abhinav Kumar <quic_abhinavk@...cinc.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
        Rob Clark <robdclark@...il.com>, Sean Paul <sean@...rly.run>,
        Marijn Suijten <marijn.suijten@...ainline.org>,
        David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
        Barnabás Czémán <barnabas.czeman@...nlining.org>,
        Konrad Dybcio <konradybcio@...nel.org>, linux-arm-msm@...r.kernel.org,
        dri-devel@...ts.freedesktop.org, freedreno@...ts.freedesktop.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 4/5] drm/msm/dpu: drop TE2 definitions

On Mon, Apr 28, 2025 at 06:33:05PM -0700, Abhinav Kumar wrote:
> 
> 
> 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@...aro.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?

sdm845_pp_sblk has the dither block. If you scroll the original patch,
you'd see PPs being switched to that sblk definition.

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

-- 
With best wishes
Dmitry

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ