LinuxTV Patchwork davinci_vpfe: add a missing break

login
register
mail settings
Submitter Mauro Carvalho Chehab
Date Nov. 6, 2018, 10:15 a.m.
Message ID <a08b85a2263d742edcd50d371712eaf11fbccd64.1541499323.git.mchehab+samsung@kernel.org>
Download mbox | patch
Permalink /patch/52791/
State New
Delegated to: Mauro Carvalho Chehab
Headers show

Comments

Mauro Carvalho Chehab - Nov. 6, 2018, 10:15 a.m.
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+samsung@kernel.org>
---
 drivers/staging/media/davinci_vpfe/dm365_ipipeif.c | 1 +
 1 file changed, 1 insertion(+)
Hans Verkuil - Nov. 6, 2018, 10:32 a.m.
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+samsung@kernel.org>

Nacked-by: Hans Verkuil <hans.verkuil@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 */
>

Patch

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 */

Privacy Policy