Re: Build regressions/improvements in v6.3-rc3 (drm/msm/)

Randy Dunlap
2023-03-21T05:38:51Z

Hi--

On 3/20/23 01:21, Geert Uytterhoeven wrote:
> Below is the list of build error/warning regressions/improvements in
> v6.3-rc3[1] compared to v6.2[2].
>
> Summarized:
> - build errors: +9/-14
> - build warnings: +4/-1447
>
> JFYI, when comparing v6.3-rc3[1] to v6.3-rc2[3], the summaries are:
> - build errors: +0/-1
> - build warnings: +0/-0
>
> Happy fixing! ;-)
>
> Thanks to the linux-next team for providing the build service.
>
> [1] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/e8d018dd0257f744ca50a729e3d042cf2ec9da65/ (all 152 configs)
> [2] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/c9c3395d5e3dcc6daee66c6908354d47bf98cb0c/ (all 152 configs)
> [3] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/eeac8ede17557680855031c6f305ece2378af326/ (all 152 configs)
>
>
> *** ERRORS ***
>
> 9 error regressions:

> + /kisskb/src/drivers/gpu/drm/msm/msm_mdss.c: error: case label does not reduce to an integer constant: => 300:2, 299:2, 296:2

Are these due to the sign bit being set after a shift?
It looks that way since it is only reported for such values.

From the reports on the build server, it only happens when building with gcc5.
I don't have the ability to build with gcc5 or I would test it.

@Rob and other drm/msm people, what do you think about this?
(or is this already fixed somewhere but not yet in linux-next?)

Thanks.

-----
diff -- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
@@ -19,9 +19,9 @@
*/
#define MAX_BLOCKS 12

-#define DPU_HW_VER(MAJOR, MINOR, STEP) (((MAJOR & 0xF) << 28) |\
- ((MINOR & 0xFFF) << 16) |\
- (STEP & 0xFFFF))
+#define DPU_HW_VER(MAJOR, MINOR, STEP) ((((__u32)MAJOR & 0xF) << 28) |\
+ (((__u32)MINOR & 0xFFF) << 16) |\
+ ((__u32)STEP & 0xFFFF))

#define DPU_HW_MAJOR(rev) ((rev) >> 28)
#define DPU_HW_MINOR(rev) (((rev) >> 16) & 0xFFF)