Re: [PATCH 3/3] video: fbdev: mmp: fix sparse warnings about using incorrect types

2020-01-03 Thread Bartlomiej Zolnierkiewicz

On 8/20/19 1:07 PM, Andrzej Hajda wrote:
> On 27.06.2019 16:08, Bartlomiej Zolnierkiewicz wrote:
>> Use ->screen_buffer instead of ->screen_base in mmpfb driver.
>>
>> [ Please see commit 17a7b0b4d974 ("fb.h: Provide alternate screen_base
>>   pointer") for details. ]
>>
>> Also fix all other sparse warnings about using incorrect types in
>> mmp display subsystem.
>>
>> Signed-off-by: Bartlomiej Zolnierkiewicz 
> 
> 
> Reviewed-by: Andrzej Hajda 

Thanks, I've queued the patch for v5.6.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R Institute Poland
Samsung Electronics

>  --
> Regards
> Andrzej
> 
> 
>> ---
>>  drivers/video/fbdev/mmp/fb/mmpfb.c|2 -
>>  drivers/video/fbdev/mmp/hw/mmp_ctrl.c |   55 
>> +++---
>>  drivers/video/fbdev/mmp/hw/mmp_ctrl.h |   10 +++---
>>  drivers/video/fbdev/mmp/hw/mmp_spi.c  |6 +--
>>  4 files changed, 41 insertions(+), 32 deletions(-)
>>
>> Index: b/drivers/video/fbdev/mmp/fb/mmpfb.c
>> ===
>> --- a/drivers/video/fbdev/mmp/fb/mmpfb.c
>> +++ b/drivers/video/fbdev/mmp/fb/mmpfb.c
>> @@ -522,7 +522,7 @@ static int fb_info_setup(struct fb_info
>>  info->var.bits_per_pixel / 8;
>>  info->fbops = _ops;
>>  info->pseudo_palette = fbi->pseudo_palette;
>> -info->screen_base = fbi->fb_start;
>> +info->screen_buffer = fbi->fb_start;
>>  info->screen_size = fbi->fb_size;
>>  
>>  /* For FB framework: Allocate color map and Register framebuffer*/
>> Index: b/drivers/video/fbdev/mmp/hw/mmp_ctrl.c
>> ===
>> --- a/drivers/video/fbdev/mmp/hw/mmp_ctrl.c
>> +++ b/drivers/video/fbdev/mmp/hw/mmp_ctrl.c
>> @@ -136,19 +136,26 @@ static void overlay_set_win(struct mmp_o
>>  mutex_lock(>access_ok);
>>  
>>  if (overlay_is_vid(overlay)) {
>> -writel_relaxed(win->pitch[0], >v_pitch_yc);
>> -writel_relaxed(win->pitch[2] << 16 |
>> -win->pitch[1], >v_pitch_uv);
>> -
>> -writel_relaxed((win->ysrc << 16) | win->xsrc, >v_size);
>> -writel_relaxed((win->ydst << 16) | win->xdst, >v_size_z);
>> -writel_relaxed(win->ypos << 16 | win->xpos, >v_start);
>> +writel_relaxed(win->pitch[0],
>> +(void __iomem *)>v_pitch_yc);
>> +writel_relaxed(win->pitch[2] << 16 | win->pitch[1],
>> +(void __iomem *)>v_pitch_uv);
>> +
>> +writel_relaxed((win->ysrc << 16) | win->xsrc,
>> +(void __iomem *)>v_size);
>> +writel_relaxed((win->ydst << 16) | win->xdst,
>> +(void __iomem *)>v_size_z);
>> +writel_relaxed(win->ypos << 16 | win->xpos,
>> +(void __iomem *)>v_start);
>>  } else {
>> -writel_relaxed(win->pitch[0], >g_pitch);
>> +writel_relaxed(win->pitch[0], (void __iomem *)>g_pitch);
>>  
>> -writel_relaxed((win->ysrc << 16) | win->xsrc, >g_size);
>> -writel_relaxed((win->ydst << 16) | win->xdst, >g_size_z);
>> -writel_relaxed(win->ypos << 16 | win->xpos, >g_start);
>> +writel_relaxed((win->ysrc << 16) | win->xsrc,
>> +(void __iomem *)>g_size);
>> +writel_relaxed((win->ydst << 16) | win->xdst,
>> +(void __iomem *)>g_size_z);
>> +writel_relaxed(win->ypos << 16 | win->xpos,
>> +(void __iomem *)>g_start);
>>  }
>>  
>>  dmafetch_set_fmt(overlay);
>> @@ -233,11 +240,11 @@ static int overlay_set_addr(struct mmp_o
>>  memcpy(>addr, addr, sizeof(struct mmp_addr));
>>  
>>  if (overlay_is_vid(overlay)) {
>> -writel_relaxed(addr->phys[0], >v_y0);
>> -writel_relaxed(addr->phys[1], >v_u0);
>> -writel_relaxed(addr->phys[2], >v_v0);
>> +writel_relaxed(addr->phys[0], (void __iomem *)>v_y0);
>> +writel_relaxed(addr->phys[1], (void __iomem *)>v_u0);
>> +writel_relaxed(addr->phys[2], (void __iomem *)>v_v0);
>>  } else
>> -writel_relaxed(addr->phys[0], >g_0);
>> +writel_relaxed(addr->phys[0], (void __iomem *)>g_0);
>>  
>>  return overlay->addr.phys[0];
>>  }
>> @@ -268,16 +275,18 @@ static void path_set_mode(struct mmp_pat
>>  tmp |= dsi_rbswap & CFG_INTFRBSWAP_MASK;
>>  writel_relaxed(tmp, ctrl_regs(path) + intf_rbswap_ctrl(path->id));
>>  
>> -writel_relaxed((mode->yres << 16) | mode->xres, >screen_active);
>> +writel_relaxed((mode->yres << 16) | mode->xres,
>> +(void __iomem *)>screen_active);
>>  writel_relaxed((mode->left_margin << 16) | mode->right_margin,
>> ->screen_h_porch);
>> +(void __iomem *)>screen_h_porch);
>>  writel_relaxed((mode->upper_margin << 16) | mode->lower_margin,
>> - 

Re: [PATCH 3/3] video: fbdev: mmp: fix sparse warnings about using incorrect types

2019-08-20 Thread Andrzej Hajda
On 27.06.2019 16:08, Bartlomiej Zolnierkiewicz wrote:
> Use ->screen_buffer instead of ->screen_base in mmpfb driver.
>
> [ Please see commit 17a7b0b4d974 ("fb.h: Provide alternate screen_base
>   pointer") for details. ]
>
> Also fix all other sparse warnings about using incorrect types in
> mmp display subsystem.
>
> Signed-off-by: Bartlomiej Zolnierkiewicz 


Reviewed-by: Andrzej Hajda 

 --
Regards
Andrzej


> ---
>  drivers/video/fbdev/mmp/fb/mmpfb.c|2 -
>  drivers/video/fbdev/mmp/hw/mmp_ctrl.c |   55 
> +++---
>  drivers/video/fbdev/mmp/hw/mmp_ctrl.h |   10 +++---
>  drivers/video/fbdev/mmp/hw/mmp_spi.c  |6 +--
>  4 files changed, 41 insertions(+), 32 deletions(-)
>
> Index: b/drivers/video/fbdev/mmp/fb/mmpfb.c
> ===
> --- a/drivers/video/fbdev/mmp/fb/mmpfb.c
> +++ b/drivers/video/fbdev/mmp/fb/mmpfb.c
> @@ -522,7 +522,7 @@ static int fb_info_setup(struct fb_info
>   info->var.bits_per_pixel / 8;
>   info->fbops = _ops;
>   info->pseudo_palette = fbi->pseudo_palette;
> - info->screen_base = fbi->fb_start;
> + info->screen_buffer = fbi->fb_start;
>   info->screen_size = fbi->fb_size;
>  
>   /* For FB framework: Allocate color map and Register framebuffer*/
> Index: b/drivers/video/fbdev/mmp/hw/mmp_ctrl.c
> ===
> --- a/drivers/video/fbdev/mmp/hw/mmp_ctrl.c
> +++ b/drivers/video/fbdev/mmp/hw/mmp_ctrl.c
> @@ -136,19 +136,26 @@ static void overlay_set_win(struct mmp_o
>   mutex_lock(>access_ok);
>  
>   if (overlay_is_vid(overlay)) {
> - writel_relaxed(win->pitch[0], >v_pitch_yc);
> - writel_relaxed(win->pitch[2] << 16 |
> - win->pitch[1], >v_pitch_uv);
> -
> - writel_relaxed((win->ysrc << 16) | win->xsrc, >v_size);
> - writel_relaxed((win->ydst << 16) | win->xdst, >v_size_z);
> - writel_relaxed(win->ypos << 16 | win->xpos, >v_start);
> + writel_relaxed(win->pitch[0],
> + (void __iomem *)>v_pitch_yc);
> + writel_relaxed(win->pitch[2] << 16 | win->pitch[1],
> + (void __iomem *)>v_pitch_uv);
> +
> + writel_relaxed((win->ysrc << 16) | win->xsrc,
> + (void __iomem *)>v_size);
> + writel_relaxed((win->ydst << 16) | win->xdst,
> + (void __iomem *)>v_size_z);
> + writel_relaxed(win->ypos << 16 | win->xpos,
> + (void __iomem *)>v_start);
>   } else {
> - writel_relaxed(win->pitch[0], >g_pitch);
> + writel_relaxed(win->pitch[0], (void __iomem *)>g_pitch);
>  
> - writel_relaxed((win->ysrc << 16) | win->xsrc, >g_size);
> - writel_relaxed((win->ydst << 16) | win->xdst, >g_size_z);
> - writel_relaxed(win->ypos << 16 | win->xpos, >g_start);
> + writel_relaxed((win->ysrc << 16) | win->xsrc,
> + (void __iomem *)>g_size);
> + writel_relaxed((win->ydst << 16) | win->xdst,
> + (void __iomem *)>g_size_z);
> + writel_relaxed(win->ypos << 16 | win->xpos,
> + (void __iomem *)>g_start);
>   }
>  
>   dmafetch_set_fmt(overlay);
> @@ -233,11 +240,11 @@ static int overlay_set_addr(struct mmp_o
>   memcpy(>addr, addr, sizeof(struct mmp_addr));
>  
>   if (overlay_is_vid(overlay)) {
> - writel_relaxed(addr->phys[0], >v_y0);
> - writel_relaxed(addr->phys[1], >v_u0);
> - writel_relaxed(addr->phys[2], >v_v0);
> + writel_relaxed(addr->phys[0], (void __iomem *)>v_y0);
> + writel_relaxed(addr->phys[1], (void __iomem *)>v_u0);
> + writel_relaxed(addr->phys[2], (void __iomem *)>v_v0);
>   } else
> - writel_relaxed(addr->phys[0], >g_0);
> + writel_relaxed(addr->phys[0], (void __iomem *)>g_0);
>  
>   return overlay->addr.phys[0];
>  }
> @@ -268,16 +275,18 @@ static void path_set_mode(struct mmp_pat
>   tmp |= dsi_rbswap & CFG_INTFRBSWAP_MASK;
>   writel_relaxed(tmp, ctrl_regs(path) + intf_rbswap_ctrl(path->id));
>  
> - writel_relaxed((mode->yres << 16) | mode->xres, >screen_active);
> + writel_relaxed((mode->yres << 16) | mode->xres,
> + (void __iomem *)>screen_active);
>   writel_relaxed((mode->left_margin << 16) | mode->right_margin,
> - >screen_h_porch);
> + (void __iomem *)>screen_h_porch);
>   writel_relaxed((mode->upper_margin << 16) | mode->lower_margin,
> - >screen_v_porch);
> + (void __iomem *)>screen_v_porch);
>   total_x = mode->xres + mode->left_margin + mode->right_margin +
>   mode->hsync_len;
>   total_y = mode->yres + 

[PATCH 3/3] video: fbdev: mmp: fix sparse warnings about using incorrect types

2019-06-27 Thread Bartlomiej Zolnierkiewicz
Use ->screen_buffer instead of ->screen_base in mmpfb driver.

[ Please see commit 17a7b0b4d974 ("fb.h: Provide alternate screen_base
  pointer") for details. ]

Also fix all other sparse warnings about using incorrect types in
mmp display subsystem.

Signed-off-by: Bartlomiej Zolnierkiewicz 
---
 drivers/video/fbdev/mmp/fb/mmpfb.c|2 -
 drivers/video/fbdev/mmp/hw/mmp_ctrl.c |   55 +++---
 drivers/video/fbdev/mmp/hw/mmp_ctrl.h |   10 +++---
 drivers/video/fbdev/mmp/hw/mmp_spi.c  |6 +--
 4 files changed, 41 insertions(+), 32 deletions(-)

Index: b/drivers/video/fbdev/mmp/fb/mmpfb.c
===
--- a/drivers/video/fbdev/mmp/fb/mmpfb.c
+++ b/drivers/video/fbdev/mmp/fb/mmpfb.c
@@ -522,7 +522,7 @@ static int fb_info_setup(struct fb_info
info->var.bits_per_pixel / 8;
info->fbops = _ops;
info->pseudo_palette = fbi->pseudo_palette;
-   info->screen_base = fbi->fb_start;
+   info->screen_buffer = fbi->fb_start;
info->screen_size = fbi->fb_size;
 
/* For FB framework: Allocate color map and Register framebuffer*/
Index: b/drivers/video/fbdev/mmp/hw/mmp_ctrl.c
===
--- a/drivers/video/fbdev/mmp/hw/mmp_ctrl.c
+++ b/drivers/video/fbdev/mmp/hw/mmp_ctrl.c
@@ -136,19 +136,26 @@ static void overlay_set_win(struct mmp_o
mutex_lock(>access_ok);
 
if (overlay_is_vid(overlay)) {
-   writel_relaxed(win->pitch[0], >v_pitch_yc);
-   writel_relaxed(win->pitch[2] << 16 |
-   win->pitch[1], >v_pitch_uv);
-
-   writel_relaxed((win->ysrc << 16) | win->xsrc, >v_size);
-   writel_relaxed((win->ydst << 16) | win->xdst, >v_size_z);
-   writel_relaxed(win->ypos << 16 | win->xpos, >v_start);
+   writel_relaxed(win->pitch[0],
+   (void __iomem *)>v_pitch_yc);
+   writel_relaxed(win->pitch[2] << 16 | win->pitch[1],
+   (void __iomem *)>v_pitch_uv);
+
+   writel_relaxed((win->ysrc << 16) | win->xsrc,
+   (void __iomem *)>v_size);
+   writel_relaxed((win->ydst << 16) | win->xdst,
+   (void __iomem *)>v_size_z);
+   writel_relaxed(win->ypos << 16 | win->xpos,
+   (void __iomem *)>v_start);
} else {
-   writel_relaxed(win->pitch[0], >g_pitch);
+   writel_relaxed(win->pitch[0], (void __iomem *)>g_pitch);
 
-   writel_relaxed((win->ysrc << 16) | win->xsrc, >g_size);
-   writel_relaxed((win->ydst << 16) | win->xdst, >g_size_z);
-   writel_relaxed(win->ypos << 16 | win->xpos, >g_start);
+   writel_relaxed((win->ysrc << 16) | win->xsrc,
+   (void __iomem *)>g_size);
+   writel_relaxed((win->ydst << 16) | win->xdst,
+   (void __iomem *)>g_size_z);
+   writel_relaxed(win->ypos << 16 | win->xpos,
+   (void __iomem *)>g_start);
}
 
dmafetch_set_fmt(overlay);
@@ -233,11 +240,11 @@ static int overlay_set_addr(struct mmp_o
memcpy(>addr, addr, sizeof(struct mmp_addr));
 
if (overlay_is_vid(overlay)) {
-   writel_relaxed(addr->phys[0], >v_y0);
-   writel_relaxed(addr->phys[1], >v_u0);
-   writel_relaxed(addr->phys[2], >v_v0);
+   writel_relaxed(addr->phys[0], (void __iomem *)>v_y0);
+   writel_relaxed(addr->phys[1], (void __iomem *)>v_u0);
+   writel_relaxed(addr->phys[2], (void __iomem *)>v_v0);
} else
-   writel_relaxed(addr->phys[0], >g_0);
+   writel_relaxed(addr->phys[0], (void __iomem *)>g_0);
 
return overlay->addr.phys[0];
 }
@@ -268,16 +275,18 @@ static void path_set_mode(struct mmp_pat
tmp |= dsi_rbswap & CFG_INTFRBSWAP_MASK;
writel_relaxed(tmp, ctrl_regs(path) + intf_rbswap_ctrl(path->id));
 
-   writel_relaxed((mode->yres << 16) | mode->xres, >screen_active);
+   writel_relaxed((mode->yres << 16) | mode->xres,
+   (void __iomem *)>screen_active);
writel_relaxed((mode->left_margin << 16) | mode->right_margin,
-   >screen_h_porch);
+   (void __iomem *)>screen_h_porch);
writel_relaxed((mode->upper_margin << 16) | mode->lower_margin,
-   >screen_v_porch);
+   (void __iomem *)>screen_v_porch);
total_x = mode->xres + mode->left_margin + mode->right_margin +
mode->hsync_len;
total_y = mode->yres + mode->upper_margin + mode->lower_margin +
mode->vsync_len;
-   writel_relaxed((total_y << 16) | total_x, >screen_size);
+   writel_relaxed((total_y << 16) | total_x,
+