Hello, On Thu, Jun 15, 2023 at 06:22:45AM +0000, Biju Das wrote: > Hi Dan Carpenter, > > Thanks for the feedback. > > + Laurent. > > It is already validated in [1] > > [1] https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c#L619 > > So we won't get wrong formats in rzg2l_mipi_dsi_set_display_timing(). > > Laurent, Please correct me if I am wrong. The issue is that static checkers can't know that. You should add a default statement to the switch, possibly with a comment to explain why. > > -----Original Message----- > > From: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > > Sent: Thursday, June 15, 2023 7:14 AM > > To: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > > Cc: linux-renesas-soc@xxxxxxxxxxxxxxx > > Subject: [bug report] drm: rcar-du: Add RZ/G2L DSI driver > > > > Hello Biju Das, > > > > The patch 7a043f978ed1: "drm: rcar-du: Add RZ/G2L DSI driver" from Sep 20, > > 2022, leads to the following Smatch static checker warning: > > > > drivers/gpu/drm/renesas/rcar-du/rzg2l_mipi_dsi.c:374 rzg2l_mipi_dsi_set_display_timing() > > error: uninitialized symbol 'vich1ppsetr'. > > > > drivers/gpu/drm/renesas/rcar-du/rzg2l_mipi_dsi.c > > 347 static void rzg2l_mipi_dsi_set_display_timing(struct rzg2l_mipi_dsi *dsi, > > 348 const struct drm_display_mode *mode) > > 349 { > > 350 u32 vich1ppsetr; > > 351 u32 vich1vssetr; > > 352 u32 vich1vpsetr; > > 353 u32 vich1hssetr; > > 354 u32 vich1hpsetr; > > 355 int dsi_format; > > 356 u32 delay[2]; > > 357 u8 index; > > 358 > > 359 /* Configuration for Pixel Packet */ > > 360 dsi_format = mipi_dsi_pixel_format_to_bpp(dsi->format); > > 361 switch (dsi_format) { > > 362 case 24: > > 363 vich1ppsetr = VICH1PPSETR_DT_RGB24; > > 364 break; > > 365 case 18: > > 366 vich1ppsetr = VICH1PPSETR_DT_RGB18; > > 367 break; > > > > mipi_dsi_pixel_format_to_bpp() also returns 16 and -EIVNAL. > > > > 368 } > > 369 > > 370 if ((dsi->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) && > > 371 !(dsi->mode_flags & MIPI_DSI_MODE_VIDEO_BURST)) > > 372 vich1ppsetr |= VICH1PPSETR_TXESYNC_PULSE; > > 373 > > --> 374 rzg2l_mipi_dsi_link_write(dsi, VICH1PPSETR, vich1ppsetr); > > ^^^^^^^^^^^ > > Static checker uninitialized variable warning. > > > > 375 > > 376 /* Configuration for Video Parameters */ > > 377 vich1vssetr = VICH1VSSETR_VACTIVE(mode->vdisplay) | > > 378 VICH1VSSETR_VSA(mode->vsync_end - mode->vsync_start); > > 379 vich1vssetr |= (mode->flags & DRM_MODE_FLAG_PVSYNC) ? > > > > regards, > > dan carpenter -- Regards, Laurent Pinchart