On 11/06/18 11:15, Mauro Carvalho Chehab wrote:
> As warned by gcc:
> 
> drivers/staging/media/davinci_vpfe/dm365_ipipeif.c: In function 
> 'ipipeif_hw_setup':
> drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:298:3: warning: this 
> statement may fall through [-Wimplicit-fallthrough=]
>    switch (isif_port_if) {
>    ^~~~~~
> drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:314:2: note: here
>   case IPIPEIF_SDRAM_YUV:
>   ^~~~
> 
> There is a missing break for the raw format.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab+sams...@kernel.org>

Nacked-by: Hans Verkuil <hans.verk...@cisco.com>

It really should fall through: see this comment:

                /* fall through for SDRAM YUV mode */
                /* configure CFG2 */
                val = ipipeif_read(ipipeif_base_addr, IPIPEIF_CFG2);
                switch (isif_port_if) {
                case MEDIA_BUS_FMT_YUYV8_1X16:
                case MEDIA_BUS_FMT_UYVY8_2X8:
                case MEDIA_BUS_FMT_Y8_1X8:
                        RESETBIT(val, IPIPEIF_CFG2_YUV8_SHIFT);
                        SETBIT(val, IPIPEIF_CFG2_YUV16_SHIFT);
                        ipipeif_write(val, ipipeif_base_addr, IPIPEIF_CFG2);
                        break;

                default:
                        RESETBIT(val, IPIPEIF_CFG2_YUV8_SHIFT);
                        RESETBIT(val, IPIPEIF_CFG2_YUV16_SHIFT);
                        ipipeif_write(val, ipipeif_base_addr, IPIPEIF_CFG2);
                        break;
                }

        case IPIPEIF_SDRAM_YUV:

So we need a proper /* fall through */ comment instead of a break.

In the SDRAM_YUV case the SDRAM clock divider is configured, and that needs
to be done for both SDRAM_* cases.

Regards,

        Hans


> ---
>  drivers/staging/media/davinci_vpfe/dm365_ipipeif.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/staging/media/davinci_vpfe/dm365_ipipeif.c 
> b/drivers/staging/media/davinci_vpfe/dm365_ipipeif.c
> index a53231b08d30..975272bcf8ca 100644
> --- a/drivers/staging/media/davinci_vpfe/dm365_ipipeif.c
> +++ b/drivers/staging/media/davinci_vpfe/dm365_ipipeif.c
> @@ -310,6 +310,7 @@ static int ipipeif_hw_setup(struct v4l2_subdev *sd)
>                       ipipeif_write(val, ipipeif_base_addr, IPIPEIF_CFG2);
>                       break;
>               }
> +             break;
>  
>       case IPIPEIF_SDRAM_YUV:
>               /* Set clock divider */
> 

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to