[PATCH 25/37] drm: Replace drm_format_plane_cpp() with fb->format->cpp[]

2016-11-19 Thread Laurent Pinchart
Hi Ville,

Thank you for the patch.

On Friday 18 Nov 2016 21:53:01 ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä 
> 
> Replace drm_format_plane_cpp(fb->pixel_format) with just
> fb->format->cpp[]. Avoids the expensive format info lookup.
> 
> @@
> struct drm_framebuffer *a;
> struct drm_framebuffer b;
> expression E;
> @@
> (
> - drm_format_plane_cpp(a->pixel_format, E)
> + a->format->cpp[E]
> 
> - drm_format_plane_cpp(b.pixel_format, E)
> + b.format->cpp[E]
> )
> 
> @@
> struct drm_plane_state *a;
> struct drm_plane_state b;
> expression E;
> @@
> (
> - drm_format_plane_cpp(a->fb->pixel_format, E)
> + a->fb->format->cpp[E]
> 
> - drm_format_plane_cpp(b.fb->pixel_format, E)
> + b.fb->format->cpp[E]
> )
> 
> @@
> struct drm_framebuffer *a;
> identifier T;
> expression E;
> @@
>   T = a->pixel_format
> <+...
> - drm_format_plane_cpp(T, E)
> + a->format->cpp[E]
> ...+>
> 
> @@
> struct drm_framebuffer b;
> identifier T;
> expression E;
> @@
>   T = b.pixel_format
> <+...
> - drm_format_plane_cpp(T, E)
> + b.format->cpp[E]
> ...+>
> 
> Cc: Laurent Pinchart 
> Suggested-by: Laurent Pinchart 
> Signed-off-by: Ville Syrjälä 

Reviewed-by: Laurent Pinchart 

> ---
>  drivers/gpu/drm/arm/hdlcd_crtc.c|  2 +-
>  drivers/gpu/drm/armada/armada_overlay.c |  2 +-
>  drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c |  2 +-
>  drivers/gpu/drm/i915/intel_display.c| 16 +-
>  drivers/gpu/drm/i915/intel_pm.c | 42 ++
>  drivers/gpu/drm/i915/intel_sprite.c |  2 +-
>  drivers/gpu/drm/imx/ipuv3-plane.c   |  6 ++--
>  drivers/gpu/drm/mediatek/mtk_drm_plane.c|  2 +-
>  drivers/gpu/drm/rockchip/rockchip_drm_vop.c |  4 +--
>  drivers/gpu/drm/sti/sti_gdp.c   |  2 +-
>  drivers/gpu/drm/sun4i/sun4i_backend.c   |  2 +-
>  drivers/gpu/drm/tilcdc/tilcdc_crtc.c|  2 +-
>  drivers/gpu/drm/tilcdc/tilcdc_plane.c   |  2 +-
>  drivers/gpu/drm/vc4/vc4_plane.c |  2 +-
>  drivers/gpu/drm/zte/zx_plane.c  |  2 +-
>  15 files changed, 45 insertions(+), 45 deletions(-)

-- 
Regards,

Laurent Pinchart



[PATCH 25/37] drm: Replace drm_format_plane_cpp() with fb->format->cpp[]

2016-11-18 Thread ville.syrj...@linux.intel.com
From: Ville Syrjälä 

Replace drm_format_plane_cpp(fb->pixel_format) with just
fb->format->cpp[]. Avoids the expensive format info lookup.

@@
struct drm_framebuffer *a;
struct drm_framebuffer b;
expression E;
@@
(
- drm_format_plane_cpp(a->pixel_format, E)
+ a->format->cpp[E]
|
- drm_format_plane_cpp(b.pixel_format, E)
+ b.format->cpp[E]
)

@@
struct drm_plane_state *a;
struct drm_plane_state b;
expression E;
@@
(
- drm_format_plane_cpp(a->fb->pixel_format, E)
+ a->fb->format->cpp[E]
|
- drm_format_plane_cpp(b.fb->pixel_format, E)
+ b.fb->format->cpp[E]
)

@@
struct drm_framebuffer *a;
identifier T;
expression E;
@@
  T = a->pixel_format
<+...
- drm_format_plane_cpp(T, E)
+ a->format->cpp[E]
...+>

@@
struct drm_framebuffer b;
identifier T;
expression E;
@@
  T = b.pixel_format
<+...
- drm_format_plane_cpp(T, E)
+ b.format->cpp[E]
...+>

Cc: Laurent Pinchart 
Suggested-by: Laurent Pinchart 
Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/arm/hdlcd_crtc.c|  2 +-
 drivers/gpu/drm/armada/armada_overlay.c |  2 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c |  2 +-
 drivers/gpu/drm/i915/intel_display.c| 16 +-
 drivers/gpu/drm/i915/intel_pm.c | 42 -
 drivers/gpu/drm/i915/intel_sprite.c |  2 +-
 drivers/gpu/drm/imx/ipuv3-plane.c   |  6 ++--
 drivers/gpu/drm/mediatek/mtk_drm_plane.c|  2 +-
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c |  4 +--
 drivers/gpu/drm/sti/sti_gdp.c   |  2 +-
 drivers/gpu/drm/sun4i/sun4i_backend.c   |  2 +-
 drivers/gpu/drm/tilcdc/tilcdc_crtc.c|  2 +-
 drivers/gpu/drm/tilcdc/tilcdc_plane.c   |  2 +-
 drivers/gpu/drm/vc4/vc4_plane.c |  2 +-
 drivers/gpu/drm/zte/zx_plane.c  |  2 +-
 15 files changed, 45 insertions(+), 45 deletions(-)

diff --git a/drivers/gpu/drm/arm/hdlcd_crtc.c b/drivers/gpu/drm/arm/hdlcd_crtc.c
index 8a0fee03aa39..5c19c25729cb 100644
--- a/drivers/gpu/drm/arm/hdlcd_crtc.c
+++ b/drivers/gpu/drm/arm/hdlcd_crtc.c
@@ -239,7 +239,7 @@ static void hdlcd_plane_atomic_update(struct drm_plane 
*plane,
scanout_start = gem->paddr + fb->offsets[0] +
plane->state->crtc_y * fb->pitches[0] +
plane->state->crtc_x *
-   drm_format_plane_cpp(fb->pixel_format, 0);
+   fb->format->cpp[0];

hdlcd = plane->dev->dev_private;
hdlcd_write(hdlcd, HDLCD_REG_FB_LINE_LENGTH, fb->pitches[0]);
diff --git a/drivers/gpu/drm/armada/armada_overlay.c 
b/drivers/gpu/drm/armada/armada_overlay.c
index 903fff422e92..e2ad408c2f24 100644
--- a/drivers/gpu/drm/armada/armada_overlay.c
+++ b/drivers/gpu/drm/armada/armada_overlay.c
@@ -197,7 +197,7 @@ armada_ovl_plane_update(struct drm_plane *plane, struct 
drm_crtc *crtc,
for (i = 0; i < num_planes; i++)
addr[i] = obj->dev_addr + fb->offsets[i] +
  src_y * fb->pitches[i] +
- src_x * drm_format_plane_cpp(pixel_format, i);
+ src_x * fb->format->cpp[i];
for (; i < ARRAY_SIZE(addr); i++)
addr[i] = 0;

diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c 
b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
index f97ae75f9e63..3e00512ef187 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
@@ -672,7 +672,7 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane 
*p,
int xdiv = i ? hsub : 1;
int ydiv = i ? vsub : 1;

-   state->bpp[i] = drm_format_plane_cpp(fb->pixel_format, i);
+   state->bpp[i] = fb->format->cpp[i];
if (!state->bpp[i])
return -EINVAL;

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index c19d8bdf46d8..8f63fd38deee 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2275,7 +2275,7 @@ u32 intel_fb_xy_to_linear(int x, int y,
  int plane)
 {
const struct drm_framebuffer *fb = state->base.fb;
-   unsigned int cpp = drm_format_plane_cpp(fb->pixel_format, plane);
+   unsigned int cpp = fb->format->cpp[plane];
unsigned int pitch = fb->pitches[plane];

return y * pitch + x * cpp;
@@ -2344,7 +2344,7 @@ static u32 intel_adjust_tile_offset(int *x, int *y,
 {
const struct drm_i915_private *dev_priv = 
to_i915(state->base.plane->dev);
const struct drm_framebuffer *fb = state->base.fb;
-   unsigned int cpp = drm_format_plane_cpp(fb->pixel_format, plane);
+   unsigned int cpp = fb->format->cpp[plane];
unsigned int rotation = state->base.rotation;
unsigned int pitch = intel_fb_pitch(fb, plane, rotation);

@@ -2400,7 +2400,7 @@ static