From: Ville Syrjälä <ville.syrj...@linux.intel.com>

Replace drm_format_num_planes(fb->pixel_format) with just
fb->format->num_planes. Avoids the expensive format info lookup.

@@
struct drm_framebuffer *a;
struct drm_framebuffer b;
@@
(
- drm_format_num_planes(a->pixel_format)
+ a->format->num_planes
|
- drm_format_num_planes(b.pixel_format)
+ b.format->num_planes
)

@@
struct drm_plane_state *a;
struct drm_plane_state b;
@@
(
- drm_format_num_planes(a->fb->pixel_format)
+ a->fb->format->num_planes
|
- drm_format_num_planes(b.fb->pixel_format)
+ b.fb->format->num_planes
)

@@
struct drm_framebuffer *a;
identifier T;
@@
  T = a->pixel_format
<+...
- drm_format_num_planes(T)
+ a->format->num_planes
...+>

@@
struct drm_framebuffer b;
identifier T;
@@
  T = b.pixel_format
<+...
- drm_format_num_planes(T)
+ b.format->num_planes
...+>

v2: Rerun spatch due to code changes

Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Suggested-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 drivers/gpu/drm/arm/malidp_planes.c             | 2 +-
 drivers/gpu/drm/armada/armada_crtc.c            | 2 +-
 drivers/gpu/drm/armada/armada_overlay.c         | 2 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c | 2 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 2 +-
 drivers/gpu/drm/drm_atomic.c                    | 2 +-
 drivers/gpu/drm/i915/intel_display.c            | 2 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c       | 2 +-
 drivers/gpu/drm/msm/msm_fb.c                    | 8 ++++----
 drivers/gpu/drm/omapdrm/omap_fb.c               | 8 ++++----
 drivers/gpu/drm/tegra/dc.c                      | 4 ++--
 drivers/gpu/drm/tegra/fb.c                      | 2 +-
 drivers/gpu/drm/vc4/vc4_plane.c                 | 2 +-
 13 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/arm/malidp_planes.c 
b/drivers/gpu/drm/arm/malidp_planes.c
index ee7f7663a307..533ee2fa64be 100644
--- a/drivers/gpu/drm/arm/malidp_planes.c
+++ b/drivers/gpu/drm/arm/malidp_planes.c
@@ -116,7 +116,7 @@ static int malidp_de_plane_check(struct drm_plane *plane,
        if (ms->format == MALIDP_INVALID_FORMAT_ID)
                return -EINVAL;

-       ms->n_planes = drm_format_num_planes(fb->pixel_format);
+       ms->n_planes = fb->format->num_planes;
        for (i = 0; i < ms->n_planes; i++) {
                if (!malidp_hw_pitch_valid(mp->hwdev, fb->pitches[i])) {
                        DRM_DEBUG_KMS("Invalid pitch %u for plane %d\n",
diff --git a/drivers/gpu/drm/armada/armada_crtc.c 
b/drivers/gpu/drm/armada/armada_crtc.c
index 95cb3966b2ca..2e1c63569c72 100644
--- a/drivers/gpu/drm/armada/armada_crtc.c
+++ b/drivers/gpu/drm/armada/armada_crtc.c
@@ -170,7 +170,7 @@ void armada_drm_plane_calc_addrs(u32 *addrs, struct 
drm_framebuffer *fb,
 {
        u32 addr = drm_fb_obj(fb)->dev_addr;
        u32 pixel_format = fb->pixel_format;
-       int num_planes = drm_format_num_planes(pixel_format);
+       int num_planes = fb->format->num_planes;
        int i;

        if (num_planes > 3)
diff --git a/drivers/gpu/drm/armada/armada_overlay.c 
b/drivers/gpu/drm/armada/armada_overlay.c
index 6743615232f5..a0883a1b3387 100644
--- a/drivers/gpu/drm/armada/armada_overlay.c
+++ b/drivers/gpu/drm/armada/armada_overlay.c
@@ -188,7 +188,7 @@ armada_ovl_plane_update(struct drm_plane *plane, struct 
drm_crtc *crtc,

                pixel_format = fb->pixel_format;
                hsub = drm_format_horz_chroma_subsampling(pixel_format);
-               num_planes = drm_format_num_planes(pixel_format);
+               num_planes = fb->format->num_planes;

                /*
                 * Annoyingly, shifting a YUYV-format image by one pixel
diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c 
b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c
index 377e43cea9dd..63dfdbf34f80 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c
@@ -446,7 +446,7 @@ void atmel_hlcdc_layer_update_set_fb(struct 
atmel_hlcdc_layer *layer,
                return;

        if (fb)
-               nplanes = drm_format_num_planes(fb->pixel_format);
+               nplanes = fb->format->num_planes;

        if (nplanes > layer->max_planes)
                return;
diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c 
b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
index 246ed1e33d8a..f97ae75f9e63 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
@@ -621,7 +621,7 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane 
*p,
        state->src_w >>= 16;
        state->src_h >>= 16;

-       state->nplanes = drm_format_num_planes(fb->pixel_format);
+       state->nplanes = fb->format->num_planes;
        if (state->nplanes > ATMEL_HLCDC_MAX_PLANES)
                return -EINVAL;

diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 60697482b94c..62f0f57728e1 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -960,7 +960,7 @@ static void drm_atomic_plane_print_state(struct drm_printer 
*p,
        drm_printf(p, "\tfb=%u\n", state->fb ? state->fb->base.id : 0);
        if (state->fb) {
                struct drm_framebuffer *fb = state->fb;
-               int i, n = drm_format_num_planes(fb->pixel_format);
+               int i, n = fb->format->num_planes;
                struct drm_format_name_buf format_name;

                drm_printf(p, "\t\tformat=%s\n",
diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 822539bf9074..41f9b3d5ce85 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2498,7 +2498,7 @@ intel_fill_fb_info(struct drm_i915_private *dev_priv,
        u32 gtt_offset_rotated = 0;
        unsigned int max_size = 0;
        uint32_t format = fb->pixel_format;
-       int i, num_planes = drm_format_num_planes(format);
+       int i, num_planes = fb->format->num_planes;
        unsigned int tile_size = intel_tile_size(dev_priv);

        for (i = 0; i < num_planes; i++) {
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c 
b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
index c099da7bc212..75247ea4335b 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
@@ -699,7 +699,7 @@ static int mdp5_plane_mode_set(struct drm_plane *plane,
        unsigned long flags;
        int ret;

-       nplanes = drm_format_num_planes(fb->pixel_format);
+       nplanes = fb->format->num_planes;

        /* bad formats should already be rejected: */
        if (WARN_ON(nplanes > pipe2nclients(pipe)))
diff --git a/drivers/gpu/drm/msm/msm_fb.c b/drivers/gpu/drm/msm/msm_fb.c
index ccefd6a30f37..0649863d7fd7 100644
--- a/drivers/gpu/drm/msm/msm_fb.c
+++ b/drivers/gpu/drm/msm/msm_fb.c
@@ -41,7 +41,7 @@ static int msm_framebuffer_create_handle(struct 
drm_framebuffer *fb,
 static void msm_framebuffer_destroy(struct drm_framebuffer *fb)
 {
        struct msm_framebuffer *msm_fb = to_msm_framebuffer(fb);
-       int i, n = drm_format_num_planes(fb->pixel_format);
+       int i, n = fb->format->num_planes;

        DBG("destroy: FB ID: %d (%p)", fb->base.id, fb);

@@ -65,7 +65,7 @@ static const struct drm_framebuffer_funcs 
msm_framebuffer_funcs = {
 void msm_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m)
 {
        struct msm_framebuffer *msm_fb = to_msm_framebuffer(fb);
-       int i, n = drm_format_num_planes(fb->pixel_format);
+       int i, n = fb->format->num_planes;

        seq_printf(m, "fb: %dx%d@%4.4s (%2d, ID:%d)\n",
                        fb->width, fb->height, (char *)&fb->pixel_format,
@@ -87,7 +87,7 @@ void msm_framebuffer_describe(struct drm_framebuffer *fb, 
struct seq_file *m)
 int msm_framebuffer_prepare(struct drm_framebuffer *fb, int id)
 {
        struct msm_framebuffer *msm_fb = to_msm_framebuffer(fb);
-       int ret, i, n = drm_format_num_planes(fb->pixel_format);
+       int ret, i, n = fb->format->num_planes;
        uint64_t iova;

        for (i = 0; i < n; i++) {
@@ -103,7 +103,7 @@ int msm_framebuffer_prepare(struct drm_framebuffer *fb, int 
id)
 void msm_framebuffer_cleanup(struct drm_framebuffer *fb, int id)
 {
        struct msm_framebuffer *msm_fb = to_msm_framebuffer(fb);
-       int i, n = drm_format_num_planes(fb->pixel_format);
+       int i, n = fb->format->num_planes;

        for (i = 0; i < n; i++)
                msm_gem_put_iova(msm_fb->planes[i], id);
diff --git a/drivers/gpu/drm/omapdrm/omap_fb.c 
b/drivers/gpu/drm/omapdrm/omap_fb.c
index 9875c99be009..c6ef457b9fca 100644
--- a/drivers/gpu/drm/omapdrm/omap_fb.c
+++ b/drivers/gpu/drm/omapdrm/omap_fb.c
@@ -107,7 +107,7 @@ static int omap_framebuffer_create_handle(struct 
drm_framebuffer *fb,
 static void omap_framebuffer_destroy(struct drm_framebuffer *fb)
 {
        struct omap_framebuffer *omap_fb = to_omap_framebuffer(fb);
-       int i, n = drm_format_num_planes(fb->pixel_format);
+       int i, n = fb->format->num_planes;

        DBG("destroy: FB ID: %d (%p)", fb->base.id, fb);

@@ -252,7 +252,7 @@ void omap_framebuffer_update_scanout(struct drm_framebuffer 
*fb,
 int omap_framebuffer_pin(struct drm_framebuffer *fb)
 {
        struct omap_framebuffer *omap_fb = to_omap_framebuffer(fb);
-       int ret, i, n = drm_format_num_planes(fb->pixel_format);
+       int ret, i, n = fb->format->num_planes;

        mutex_lock(&omap_fb->lock);

@@ -292,7 +292,7 @@ int omap_framebuffer_pin(struct drm_framebuffer *fb)
 void omap_framebuffer_unpin(struct drm_framebuffer *fb)
 {
        struct omap_framebuffer *omap_fb = to_omap_framebuffer(fb);
-       int i, n = drm_format_num_planes(fb->pixel_format);
+       int i, n = fb->format->num_planes;

        mutex_lock(&omap_fb->lock);

@@ -343,7 +343,7 @@ struct drm_connector *omap_framebuffer_get_next_connector(
 void omap_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m)
 {
        struct omap_framebuffer *omap_fb = to_omap_framebuffer(fb);
-       int i, n = drm_format_num_planes(fb->pixel_format);
+       int i, n = fb->format->num_planes;

        seq_printf(m, "fb: %dx%d@%4.4s\n", fb->width, fb->height,
                        (char *)&fb->pixel_format);
diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c
index 4010d69cbd08..b60c306190e9 100644
--- a/drivers/gpu/drm/tegra/dc.c
+++ b/drivers/gpu/drm/tegra/dc.c
@@ -531,7 +531,7 @@ static int tegra_plane_atomic_check(struct drm_plane *plane,
         * error out if the user tries to display a framebuffer with such a
         * configuration.
         */
-       if (drm_format_num_planes(state->fb->pixel_format) > 2) {
+       if (state->fb->format->num_planes > 2) {
                if (state->fb->pitches[2] != state->fb->pitches[1]) {
                        DRM_ERROR("unsupported UV-plane configuration\n");
                        return -EINVAL;
@@ -576,7 +576,7 @@ static void tegra_plane_atomic_update(struct drm_plane 
*plane,
        window.format = state->format;
        window.swap = state->swap;

-       for (i = 0; i < drm_format_num_planes(fb->pixel_format); i++) {
+       for (i = 0; i < fb->format->num_planes; i++) {
                struct tegra_bo *bo = tegra_fb_get_plane(fb, i);

                window.base[i] = bo->paddr + fb->offsets[i];
diff --git a/drivers/gpu/drm/tegra/fb.c b/drivers/gpu/drm/tegra/fb.c
index a0096493f51c..8a4aea211e94 100644
--- a/drivers/gpu/drm/tegra/fb.c
+++ b/drivers/gpu/drm/tegra/fb.c
@@ -32,7 +32,7 @@ struct tegra_bo *tegra_fb_get_plane(struct drm_framebuffer 
*framebuffer,
 {
        struct tegra_fb *fb = to_tegra_fb(framebuffer);

-       if (index >= drm_format_num_planes(framebuffer->pixel_format))
+       if (index >= framebuffer->format->num_planes)
                return NULL;

        return fb->planes[index];
diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c
index 881bf489478b..a7fb581c7c55 100644
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -296,7 +296,7 @@ static int vc4_plane_setup_clipping_and_scaling(struct 
drm_plane_state *state)
        struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0);
        u32 subpixel_src_mask = (1 << 16) - 1;
        u32 format = fb->pixel_format;
-       int num_planes = drm_format_num_planes(format);
+       int num_planes = fb->format->num_planes;
        u32 h_subsample = 1;
        u32 v_subsample = 1;
        int i;
-- 
2.7.4

Reply via email to