Re: [PATCH v4 19/29] drm/msm/adreno: use version ranges in A8xx UBWC code

From: Dmitry Baryshkov

Date: Wed May 20 2026 - 10:49:43 EST


On Fri, May 08, 2026 at 12:06:09PM +0200, Konrad Dybcio wrote:
> On 5/7/26 3:03 PM, Dmitry Baryshkov wrote:
> > In order to simplify handling of UBWC minor revisions (like 3.1 or 4.3)
> > use version ranges instead of a case switch.
> >
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
> > ---
> > drivers/gpu/drm/msm/adreno/a8xx_gpu.c | 32 +++++++++++++++-----------------
> > 1 file changed, 15 insertions(+), 17 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/msm/adreno/a8xx_gpu.c b/drivers/gpu/drm/msm/adreno/a8xx_gpu.c
> > index 5c73a9ebb22b..29d559fe4683 100644
> > --- a/drivers/gpu/drm/msm/adreno/a8xx_gpu.c
> > +++ b/drivers/gpu/drm/msm/adreno/a8xx_gpu.c
> > @@ -286,26 +286,24 @@ static void a8xx_set_ubwc_config(struct msm_gpu *gpu)
> > u32 hbb, hbb_hi, hbb_lo, mode;
> > u8 uavflagprd_inv = 2;
> >
> > - switch (ubwc_version) {
> > - case UBWC_6_0:
> > + if (ubwc_version > UBWC_6_0)
> > + dev_err(&gpu->pdev->dev, "Unknown UBWC version: 0x%x\n", ubwc_version);
> > +
> > + if (ubwc_version == UBWC_6_0)
> > yuvnotcomptofc = true;
> > - rgb565_predicator = true;
> > - break;
> > - case UBWC_5_0:
> > - rgb565_predicator = true;
> > - break;
> > - case UBWC_4_0:
> > - rgb565_predicator = true;
> > - fp16compoptdis = true;
> > +
> > + if (ubwc_version < UBWC_5_0 &&
> > + ubwc_version >= UBWC_4_0)
> > rgba8888_lossless = true;
> > - break;
> > - case UBWC_3_0:
> > +
> > + if (ubwc_version < UBWC_4_3)
>
> < 4.3 specifically, or if (4.x)?

4.3 as far as I know.

--
With best wishes
Dmitry