[bug report] drm: atmel-hlcdc: add driver ops to differentiate HLCDC and XLCDC IP
Manikandan.M at microchip.com
Manikandan.M at microchip.com
Thu Jun 20 10:50:53 UTC 2024
Hi Dan,
Thank you for reporting the bug.I will prepare and send a fix-up patch soon.
On 20/06/24 2:20 pm, Dan Carpenter wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> Hello Manikandan Muralidharan,
>
> Commit aa71584b323a ("drm: atmel-hlcdc: add driver ops to
> differentiate HLCDC and XLCDC IP") from Apr 24, 2024 (linux-next),
> leads to the following Smatch static checker warning:
>
> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c:573 atmel_hlcdc_plane_update_buffers()
> error: uninitialized symbol 'sr'.
>
> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> 556 static void atmel_hlcdc_plane_update_buffers(struct atmel_hlcdc_plane *plane,
> 557 struct atmel_hlcdc_plane_state *state)
> 558 {
> 559 const struct atmel_hlcdc_layer_desc *desc = plane->layer.desc;
> 560 struct atmel_hlcdc_dc *dc = plane->base.dev->dev_private;
> 561 struct drm_framebuffer *fb = state->base.fb;
> 562 u32 sr;
> 563 int i;
> 564
> 565 if (!dc->desc->is_xlcdc)
> 566 sr = atmel_hlcdc_layer_read_reg(&plane->layer, ATMEL_HLCDC_LAYER_CHSR);
>
> sr is uninitialized on else path.
>
> 567
> 568 for (i = 0; i < state->nplanes; i++) {
> 569 struct drm_gem_dma_object *gem = drm_fb_dma_get_gem_obj(fb, i);
> 570
> 571 state->dscrs[i]->addr = gem->dma_addr + state->offsets[i];
> 572
> --> 573 dc->desc->ops->lcdc_update_buffers(plane, state, sr, i);
> ^^
> Uninitialized.
>
> 574
> 575 if (desc->layout.xstride[i])
> 576 atmel_hlcdc_layer_write_cfg(&plane->layer,
> 577 desc->layout.xstride[i],
> 578 state->xstride[i]);
> 579
> 580 if (desc->layout.pstride[i])
> 581 atmel_hlcdc_layer_write_cfg(&plane->layer,
> 582 desc->layout.pstride[i],
> 583 state->pstride[i]);
> 584 }
> 585 }
>
> regards,
> dan carpenter
--
Thanks and Regards,
Manikandan M.
More information about the dri-devel
mailing list