Smatch reports for zynqmp video driver

Andrew Goodbody andrew.goodbody at linaro.org
Wed Oct 1 17:09:47 CEST 2025


On 01/10/2025 15:51, Michal Simek wrote:
> Hi,
> 
> On 10/1/25 16:03, Andrew Goodbody wrote:
>> Smatch reports the following two issues
>>
>> drivers/video/zynqmp/zynqmp_dpsub.c:271 config_gfx_pipeline() error: 
>> uninitialized symbol 'offset_matrix'.
>> drivers/video/zynqmp/zynqmp_dpsub.c:277 config_gfx_pipeline() error: 
>> uninitialized symbol 'csc_matrix'.
>>
>> Looking at the code, offset_matrix and csc_matrix are only initialised 
>> if video-  >is_rgb is true. It looks almost as if the code for video- 
>> >is_rgb being false was never written. So I am not sure of the correct 
>> fix for this.
> 
> Thanks for report. This should fix it.
> Do you want me to send a patch for it?

I will send a patch as I think there is some room for simplifying the 
code even more.

Thanks,
Andrew

> Thanks,
> Michal
> 
> diff --git a/drivers/video/zynqmp/zynqmp_dpsub.c b/drivers/video/zynqmp/ 
> zynqmp_dpsub.c
> index 52af23c3c835..442036e93f72 100644
> --- a/drivers/video/zynqmp/zynqmp_dpsub.c
> +++ b/drivers/video/zynqmp/zynqmp_dpsub.c
> @@ -262,10 +262,12 @@ static void config_gfx_pipeline(struct udevice *dev)
>                                                                  video- 
>  >sampling_en;
>          writel(regval, dp_sub->base_addr + AVBUF_V_BLEND_LAYER1_CONTROL);
> 
> -       if (video->is_rgb) {
> -               csc_matrix = rgb_coeffs;
> -               offset_matrix = rgb_offset;
> -       }
> +       if (!video->is_rgb)
> +               return
> +
> +       csc_matrix = rgb_coeffs;
> +       offset_matrix = rgb_offset;
> +
>          /* Program Colorspace conversion coefficients */
>          for (index = 9; index < 12; index++) {
>                  writel(offset_matrix[index - 9], dp_sub->base_addr +
> 



More information about the U-Boot mailing list