Commit bcb0b461 authored by Ville Syrjälä's avatar Ville Syrjälä

drm: Replace drm_format_num_planes() with fb->format->num_planes

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@ideasonboard.com>
Suggested-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1481751022-18015-1-git-send-email-ville.syrjala@linux.intel.com
parent 570cec32
...@@ -116,7 +116,7 @@ static int malidp_de_plane_check(struct drm_plane *plane, ...@@ -116,7 +116,7 @@ static int malidp_de_plane_check(struct drm_plane *plane,
if (ms->format == MALIDP_INVALID_FORMAT_ID) if (ms->format == MALIDP_INVALID_FORMAT_ID)
return -EINVAL; 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++) { for (i = 0; i < ms->n_planes; i++) {
if (!malidp_hw_pitch_valid(mp->hwdev, fb->pitches[i])) { if (!malidp_hw_pitch_valid(mp->hwdev, fb->pitches[i])) {
DRM_DEBUG_KMS("Invalid pitch %u for plane %d\n", DRM_DEBUG_KMS("Invalid pitch %u for plane %d\n",
......
...@@ -170,7 +170,7 @@ void armada_drm_plane_calc_addrs(u32 *addrs, struct drm_framebuffer *fb, ...@@ -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 addr = drm_fb_obj(fb)->dev_addr;
u32 pixel_format = fb->pixel_format; u32 pixel_format = fb->pixel_format;
int num_planes = drm_format_num_planes(pixel_format); int num_planes = fb->format->num_planes;
int i; int i;
if (num_planes > 3) if (num_planes > 3)
......
...@@ -188,7 +188,7 @@ armada_ovl_plane_update(struct drm_plane *plane, struct drm_crtc *crtc, ...@@ -188,7 +188,7 @@ armada_ovl_plane_update(struct drm_plane *plane, struct drm_crtc *crtc,
pixel_format = fb->pixel_format; pixel_format = fb->pixel_format;
hsub = drm_format_horz_chroma_subsampling(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 * Annoyingly, shifting a YUYV-format image by one pixel
......
...@@ -446,7 +446,7 @@ void atmel_hlcdc_layer_update_set_fb(struct atmel_hlcdc_layer *layer, ...@@ -446,7 +446,7 @@ void atmel_hlcdc_layer_update_set_fb(struct atmel_hlcdc_layer *layer,
return; return;
if (fb) if (fb)
nplanes = drm_format_num_planes(fb->pixel_format); nplanes = fb->format->num_planes;
if (nplanes > layer->max_planes) if (nplanes > layer->max_planes)
return; return;
......
...@@ -621,7 +621,7 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane *p, ...@@ -621,7 +621,7 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane *p,
state->src_w >>= 16; state->src_w >>= 16;
state->src_h >>= 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) if (state->nplanes > ATMEL_HLCDC_MAX_PLANES)
return -EINVAL; return -EINVAL;
......
...@@ -960,7 +960,7 @@ static void drm_atomic_plane_print_state(struct drm_printer *p, ...@@ -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); drm_printf(p, "\tfb=%u\n", state->fb ? state->fb->base.id : 0);
if (state->fb) { if (state->fb) {
struct drm_framebuffer *fb = 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; struct drm_format_name_buf format_name;
drm_printf(p, "\t\tformat=%s\n", drm_printf(p, "\t\tformat=%s\n",
......
...@@ -2497,7 +2497,7 @@ intel_fill_fb_info(struct drm_i915_private *dev_priv, ...@@ -2497,7 +2497,7 @@ intel_fill_fb_info(struct drm_i915_private *dev_priv,
u32 gtt_offset_rotated = 0; u32 gtt_offset_rotated = 0;
unsigned int max_size = 0; unsigned int max_size = 0;
uint32_t format = fb->pixel_format; 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); unsigned int tile_size = intel_tile_size(dev_priv);
for (i = 0; i < num_planes; i++) { for (i = 0; i < num_planes; i++) {
......
...@@ -699,7 +699,7 @@ static int mdp5_plane_mode_set(struct drm_plane *plane, ...@@ -699,7 +699,7 @@ static int mdp5_plane_mode_set(struct drm_plane *plane,
unsigned long flags; unsigned long flags;
int ret; int ret;
nplanes = drm_format_num_planes(fb->pixel_format); nplanes = fb->format->num_planes;
/* bad formats should already be rejected: */ /* bad formats should already be rejected: */
if (WARN_ON(nplanes > pipe2nclients(pipe))) if (WARN_ON(nplanes > pipe2nclients(pipe)))
......
...@@ -41,7 +41,7 @@ static int msm_framebuffer_create_handle(struct drm_framebuffer *fb, ...@@ -41,7 +41,7 @@ static int msm_framebuffer_create_handle(struct drm_framebuffer *fb,
static void msm_framebuffer_destroy(struct drm_framebuffer *fb) static void msm_framebuffer_destroy(struct drm_framebuffer *fb)
{ {
struct msm_framebuffer *msm_fb = to_msm_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); DBG("destroy: FB ID: %d (%p)", fb->base.id, fb);
...@@ -65,7 +65,7 @@ static const struct drm_framebuffer_funcs msm_framebuffer_funcs = { ...@@ -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) void msm_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m)
{ {
struct msm_framebuffer *msm_fb = to_msm_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;
seq_printf(m, "fb: %dx%d@%4.4s (%2d, ID:%d)\n", seq_printf(m, "fb: %dx%d@%4.4s (%2d, ID:%d)\n",
fb->width, fb->height, (char *)&fb->pixel_format, fb->width, fb->height, (char *)&fb->pixel_format,
...@@ -87,7 +87,7 @@ void msm_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m) ...@@ -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) int msm_framebuffer_prepare(struct drm_framebuffer *fb, int id)
{ {
struct msm_framebuffer *msm_fb = to_msm_framebuffer(fb); 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; uint64_t iova;
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
...@@ -103,7 +103,7 @@ int msm_framebuffer_prepare(struct drm_framebuffer *fb, int id) ...@@ -103,7 +103,7 @@ int msm_framebuffer_prepare(struct drm_framebuffer *fb, int id)
void msm_framebuffer_cleanup(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); 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++) for (i = 0; i < n; i++)
msm_gem_put_iova(msm_fb->planes[i], id); msm_gem_put_iova(msm_fb->planes[i], id);
......
...@@ -107,7 +107,7 @@ static int omap_framebuffer_create_handle(struct drm_framebuffer *fb, ...@@ -107,7 +107,7 @@ static int omap_framebuffer_create_handle(struct drm_framebuffer *fb,
static void omap_framebuffer_destroy(struct drm_framebuffer *fb) static void omap_framebuffer_destroy(struct drm_framebuffer *fb)
{ {
struct omap_framebuffer *omap_fb = to_omap_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); DBG("destroy: FB ID: %d (%p)", fb->base.id, fb);
...@@ -252,7 +252,7 @@ void omap_framebuffer_update_scanout(struct drm_framebuffer *fb, ...@@ -252,7 +252,7 @@ void omap_framebuffer_update_scanout(struct drm_framebuffer *fb,
int omap_framebuffer_pin(struct drm_framebuffer *fb) int omap_framebuffer_pin(struct drm_framebuffer *fb)
{ {
struct omap_framebuffer *omap_fb = to_omap_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); mutex_lock(&omap_fb->lock);
...@@ -292,7 +292,7 @@ int omap_framebuffer_pin(struct drm_framebuffer *fb) ...@@ -292,7 +292,7 @@ int omap_framebuffer_pin(struct drm_framebuffer *fb)
void omap_framebuffer_unpin(struct drm_framebuffer *fb) void omap_framebuffer_unpin(struct drm_framebuffer *fb)
{ {
struct omap_framebuffer *omap_fb = to_omap_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); mutex_lock(&omap_fb->lock);
...@@ -343,7 +343,7 @@ struct drm_connector *omap_framebuffer_get_next_connector( ...@@ -343,7 +343,7 @@ struct drm_connector *omap_framebuffer_get_next_connector(
void omap_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m) void omap_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m)
{ {
struct omap_framebuffer *omap_fb = to_omap_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;
seq_printf(m, "fb: %dx%d@%4.4s\n", fb->width, fb->height, seq_printf(m, "fb: %dx%d@%4.4s\n", fb->width, fb->height,
(char *)&fb->pixel_format); (char *)&fb->pixel_format);
......
...@@ -531,7 +531,7 @@ static int tegra_plane_atomic_check(struct drm_plane *plane, ...@@ -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 * error out if the user tries to display a framebuffer with such a
* configuration. * 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]) { if (state->fb->pitches[2] != state->fb->pitches[1]) {
DRM_ERROR("unsupported UV-plane configuration\n"); DRM_ERROR("unsupported UV-plane configuration\n");
return -EINVAL; return -EINVAL;
...@@ -576,7 +576,7 @@ static void tegra_plane_atomic_update(struct drm_plane *plane, ...@@ -576,7 +576,7 @@ static void tegra_plane_atomic_update(struct drm_plane *plane,
window.format = state->format; window.format = state->format;
window.swap = state->swap; 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); struct tegra_bo *bo = tegra_fb_get_plane(fb, i);
window.base[i] = bo->paddr + fb->offsets[i]; window.base[i] = bo->paddr + fb->offsets[i];
......
...@@ -32,7 +32,7 @@ struct tegra_bo *tegra_fb_get_plane(struct drm_framebuffer *framebuffer, ...@@ -32,7 +32,7 @@ struct tegra_bo *tegra_fb_get_plane(struct drm_framebuffer *framebuffer,
{ {
struct tegra_fb *fb = to_tegra_fb(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 NULL;
return fb->planes[index]; return fb->planes[index];
......
...@@ -296,7 +296,7 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state) ...@@ -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); struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0);
u32 subpixel_src_mask = (1 << 16) - 1; u32 subpixel_src_mask = (1 << 16) - 1;
u32 format = fb->pixel_format; 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 h_subsample = 1;
u32 v_subsample = 1; u32 v_subsample = 1;
int i; int i;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment