aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/dce_v10_0.c4
-rw-r--r--drivers/gpu/drm/amd/amdgpu/dce_v11_0.c4
-rw-r--r--drivers/gpu/drm/amd/amdgpu/dce_v6_0.c4
-rw-r--r--drivers/gpu/drm/amd/amdgpu/dce_v8_0.c4
-rw-r--r--drivers/gpu/drm/arc/arcpgu_crtc.c2
-rw-r--r--drivers/gpu/drm/arm/hdlcd_crtc.c2
-rw-r--r--drivers/gpu/drm/arm/malidp_planes.c8
-rw-r--r--drivers/gpu/drm/armada/armada_crtc.c2
-rw-r--r--drivers/gpu/drm/armada/armada_overlay.c2
-rw-r--r--drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c18
-rw-r--r--drivers/gpu/drm/drm_atomic.c6
-rw-r--r--drivers/gpu/drm/drm_crtc.c4
-rw-r--r--drivers/gpu/drm/drm_crtc_helper.c4
-rw-r--r--drivers/gpu/drm/drm_fb_cma_helper.c2
-rw-r--r--drivers/gpu/drm/drm_modeset_helper.c1
-rw-r--r--drivers/gpu/drm/drm_plane.c6
-rw-r--r--drivers/gpu/drm/exynos/exynos5433_drm_decon.c2
-rw-r--r--drivers/gpu/drm/exynos/exynos7_drm_decon.c2
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fimd.c2
-rw-r--r--drivers/gpu/drm/exynos/exynos_mixer.c8
-rw-r--r--drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c4
-rw-r--r--drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c6
-rw-r--r--drivers/gpu/drm/i915/i915_debugfs.c3
-rw-r--r--drivers/gpu/drm/i915/intel_atomic_plane.c4
-rw-r--r--drivers/gpu/drm/i915/intel_display.c33
-rw-r--r--drivers/gpu/drm/i915/intel_fbdev.c2
-rw-r--r--drivers/gpu/drm/i915/intel_overlay.c2
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c10
-rw-r--r--drivers/gpu/drm/i915/intel_sprite.c12
-rw-r--r--drivers/gpu/drm/imx/ipuv3-plane.c34
-rw-r--r--drivers/gpu/drm/mediatek/mtk_drm_plane.c2
-rw-r--r--drivers/gpu/drm/meson/meson_plane.c2
-rw-r--r--drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c2
-rw-r--r--drivers/gpu/drm/msm/msm_fb.c2
-rw-r--r--drivers/gpu/drm/mxsfb/mxsfb_crtc.c2
-rw-r--r--drivers/gpu/drm/nouveau/dispnv04/overlay.c8
-rw-r--r--drivers/gpu/drm/nouveau/nv50_display.c4
-rw-r--r--drivers/gpu/drm/omapdrm/omap_fb.c2
-rw-r--r--drivers/gpu/drm/radeon/atombios_crtc.c8
-rw-r--r--drivers/gpu/drm/rcar-du/rcar_du_plane.c4
-rw-r--r--drivers/gpu/drm/rcar-du/rcar_du_vsp.c4
-rw-r--r--drivers/gpu/drm/rockchip/rockchip_drm_vop.c18
-rw-r--r--drivers/gpu/drm/shmobile/shmob_drm_crtc.c6
-rw-r--r--drivers/gpu/drm/shmobile/shmob_drm_plane.c4
-rw-r--r--drivers/gpu/drm/sti/sti_gdp.c8
-rw-r--r--drivers/gpu/drm/sti/sti_hqvdp.c2
-rw-r--r--drivers/gpu/drm/sun4i/sun4i_backend.c3
-rw-r--r--drivers/gpu/drm/tegra/dc.c2
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_crtc.c2
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_plane.c2
-rw-r--r--drivers/gpu/drm/vc4/vc4_plane.c4
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_fb.c2
-rw-r--r--drivers/gpu/drm/zte/zx_plane.c2
53 files changed, 145 insertions, 147 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
index 8d0ff1c8db8e..84afaae97e65 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
@@ -2072,7 +2072,7 @@ static int dce_v10_0_crtc_do_set_base(struct drm_crtc *crtc,
2072 2072
2073 pipe_config = AMDGPU_TILING_GET(tiling_flags, PIPE_CONFIG); 2073 pipe_config = AMDGPU_TILING_GET(tiling_flags, PIPE_CONFIG);
2074 2074
2075 switch (target_fb->pixel_format) { 2075 switch (target_fb->format->format) {
2076 case DRM_FORMAT_C8: 2076 case DRM_FORMAT_C8:
2077 fb_format = REG_SET_FIELD(0, GRPH_CONTROL, GRPH_DEPTH, 0); 2077 fb_format = REG_SET_FIELD(0, GRPH_CONTROL, GRPH_DEPTH, 0);
2078 fb_format = REG_SET_FIELD(fb_format, GRPH_CONTROL, GRPH_FORMAT, 0); 2078 fb_format = REG_SET_FIELD(fb_format, GRPH_CONTROL, GRPH_FORMAT, 0);
@@ -2145,7 +2145,7 @@ static int dce_v10_0_crtc_do_set_base(struct drm_crtc *crtc,
2145 break; 2145 break;
2146 default: 2146 default:
2147 DRM_ERROR("Unsupported screen format %s\n", 2147 DRM_ERROR("Unsupported screen format %s\n",
2148 drm_get_format_name(target_fb->pixel_format, &format_name)); 2148 drm_get_format_name(target_fb->format->format, &format_name));
2149 return -EINVAL; 2149 return -EINVAL;
2150 } 2150 }
2151 2151
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
index c25edecb46d4..7a7fa96d2e49 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
@@ -2053,7 +2053,7 @@ static int dce_v11_0_crtc_do_set_base(struct drm_crtc *crtc,
2053 2053
2054 pipe_config = AMDGPU_TILING_GET(tiling_flags, PIPE_CONFIG); 2054 pipe_config = AMDGPU_TILING_GET(tiling_flags, PIPE_CONFIG);
2055 2055
2056 switch (target_fb->pixel_format) { 2056 switch (target_fb->format->format) {
2057 case DRM_FORMAT_C8: 2057 case DRM_FORMAT_C8:
2058 fb_format = REG_SET_FIELD(0, GRPH_CONTROL, GRPH_DEPTH, 0); 2058 fb_format = REG_SET_FIELD(0, GRPH_CONTROL, GRPH_DEPTH, 0);
2059 fb_format = REG_SET_FIELD(fb_format, GRPH_CONTROL, GRPH_FORMAT, 0); 2059 fb_format = REG_SET_FIELD(fb_format, GRPH_CONTROL, GRPH_FORMAT, 0);
@@ -2126,7 +2126,7 @@ static int dce_v11_0_crtc_do_set_base(struct drm_crtc *crtc,
2126 break; 2126 break;
2127 default: 2127 default:
2128 DRM_ERROR("Unsupported screen format %s\n", 2128 DRM_ERROR("Unsupported screen format %s\n",
2129 drm_get_format_name(target_fb->pixel_format, &format_name)); 2129 drm_get_format_name(target_fb->format->format, &format_name));
2130 return -EINVAL; 2130 return -EINVAL;
2131 } 2131 }
2132 2132
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
index ffd20f90788c..59eff6e9a883 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
@@ -1501,7 +1501,7 @@ static int dce_v6_0_crtc_do_set_base(struct drm_crtc *crtc,
1501 amdgpu_bo_get_tiling_flags(abo, &tiling_flags); 1501 amdgpu_bo_get_tiling_flags(abo, &tiling_flags);
1502 amdgpu_bo_unreserve(abo); 1502 amdgpu_bo_unreserve(abo);
1503 1503
1504 switch (target_fb->pixel_format) { 1504 switch (target_fb->format->format) {
1505 case DRM_FORMAT_C8: 1505 case DRM_FORMAT_C8:
1506 fb_format = (GRPH_DEPTH(GRPH_DEPTH_8BPP) | 1506 fb_format = (GRPH_DEPTH(GRPH_DEPTH_8BPP) |
1507 GRPH_FORMAT(GRPH_FORMAT_INDEXED)); 1507 GRPH_FORMAT(GRPH_FORMAT_INDEXED));
@@ -1567,7 +1567,7 @@ static int dce_v6_0_crtc_do_set_base(struct drm_crtc *crtc,
1567 break; 1567 break;
1568 default: 1568 default:
1569 DRM_ERROR("Unsupported screen format %s\n", 1569 DRM_ERROR("Unsupported screen format %s\n",
1570 drm_get_format_name(target_fb->pixel_format, &format_name)); 1570 drm_get_format_name(target_fb->format->format, &format_name));
1571 return -EINVAL; 1571 return -EINVAL;
1572 } 1572 }
1573 1573
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
index e6f446af3818..8de832dd981d 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
@@ -1950,7 +1950,7 @@ static int dce_v8_0_crtc_do_set_base(struct drm_crtc *crtc,
1950 1950
1951 pipe_config = AMDGPU_TILING_GET(tiling_flags, PIPE_CONFIG); 1951 pipe_config = AMDGPU_TILING_GET(tiling_flags, PIPE_CONFIG);
1952 1952
1953 switch (target_fb->pixel_format) { 1953 switch (target_fb->format->format) {
1954 case DRM_FORMAT_C8: 1954 case DRM_FORMAT_C8:
1955 fb_format = ((GRPH_DEPTH_8BPP << GRPH_CONTROL__GRPH_DEPTH__SHIFT) | 1955 fb_format = ((GRPH_DEPTH_8BPP << GRPH_CONTROL__GRPH_DEPTH__SHIFT) |
1956 (GRPH_FORMAT_INDEXED << GRPH_CONTROL__GRPH_FORMAT__SHIFT)); 1956 (GRPH_FORMAT_INDEXED << GRPH_CONTROL__GRPH_FORMAT__SHIFT));
@@ -2016,7 +2016,7 @@ static int dce_v8_0_crtc_do_set_base(struct drm_crtc *crtc,
2016 break; 2016 break;
2017 default: 2017 default:
2018 DRM_ERROR("Unsupported screen format %s\n", 2018 DRM_ERROR("Unsupported screen format %s\n",
2019 drm_get_format_name(target_fb->pixel_format, &format_name)); 2019 drm_get_format_name(target_fb->format->format, &format_name));
2020 return -EINVAL; 2020 return -EINVAL;
2021 } 2021 }
2022 2022
diff --git a/drivers/gpu/drm/arc/arcpgu_crtc.c b/drivers/gpu/drm/arc/arcpgu_crtc.c
index 5c26c5f126a3..ad9a95916f1f 100644
--- a/drivers/gpu/drm/arc/arcpgu_crtc.c
+++ b/drivers/gpu/drm/arc/arcpgu_crtc.c
@@ -36,7 +36,7 @@ static void arc_pgu_set_pxl_fmt(struct drm_crtc *crtc)
36{ 36{
37 struct arcpgu_drm_private *arcpgu = crtc_to_arcpgu_priv(crtc); 37 struct arcpgu_drm_private *arcpgu = crtc_to_arcpgu_priv(crtc);
38 const struct drm_framebuffer *fb = crtc->primary->state->fb; 38 const struct drm_framebuffer *fb = crtc->primary->state->fb;
39 uint32_t pixel_format = fb->pixel_format; 39 uint32_t pixel_format = fb->format->format;
40 struct simplefb_format *format = NULL; 40 struct simplefb_format *format = NULL;
41 int i; 41 int i;
42 42
diff --git a/drivers/gpu/drm/arm/hdlcd_crtc.c b/drivers/gpu/drm/arm/hdlcd_crtc.c
index ecdcd99c92cc..20ebfb4fbdfa 100644
--- a/drivers/gpu/drm/arm/hdlcd_crtc.c
+++ b/drivers/gpu/drm/arm/hdlcd_crtc.c
@@ -65,7 +65,7 @@ static int hdlcd_set_pxl_fmt(struct drm_crtc *crtc)
65 struct simplefb_format *format = NULL; 65 struct simplefb_format *format = NULL;
66 int i; 66 int i;
67 67
68 pixel_format = fb->pixel_format; 68 pixel_format = fb->format->format;
69 69
70 for (i = 0; i < ARRAY_SIZE(supported_formats); i++) { 70 for (i = 0; i < ARRAY_SIZE(supported_formats); i++) {
71 if (supported_formats[i].fourcc == pixel_format) 71 if (supported_formats[i].fourcc == pixel_format)
diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c
index 533ee2fa64be..eff2fe47e26a 100644
--- a/drivers/gpu/drm/arm/malidp_planes.c
+++ b/drivers/gpu/drm/arm/malidp_planes.c
@@ -112,7 +112,7 @@ static int malidp_de_plane_check(struct drm_plane *plane,
112 fb = state->fb; 112 fb = state->fb;
113 113
114 ms->format = malidp_hw_get_format_id(&mp->hwdev->map, mp->layer->id, 114 ms->format = malidp_hw_get_format_id(&mp->hwdev->map, mp->layer->id,
115 fb->pixel_format); 115 fb->format->format);
116 if (ms->format == MALIDP_INVALID_FORMAT_ID) 116 if (ms->format == MALIDP_INVALID_FORMAT_ID)
117 return -EINVAL; 117 return -EINVAL;
118 118
@@ -137,8 +137,8 @@ static int malidp_de_plane_check(struct drm_plane *plane,
137 137
138 /* packed RGB888 / BGR888 can't be rotated or flipped */ 138 /* packed RGB888 / BGR888 can't be rotated or flipped */
139 if (state->rotation != DRM_ROTATE_0 && 139 if (state->rotation != DRM_ROTATE_0 &&
140 (fb->pixel_format == DRM_FORMAT_RGB888 || 140 (fb->format->format == DRM_FORMAT_RGB888 ||
141 fb->pixel_format == DRM_FORMAT_BGR888)) 141 fb->format->format == DRM_FORMAT_BGR888))
142 return -EINVAL; 142 return -EINVAL;
143 143
144 ms->rotmem_size = 0; 144 ms->rotmem_size = 0;
@@ -147,7 +147,7 @@ static int malidp_de_plane_check(struct drm_plane *plane,
147 147
148 val = mp->hwdev->rotmem_required(mp->hwdev, state->crtc_h, 148 val = mp->hwdev->rotmem_required(mp->hwdev, state->crtc_h,
149 state->crtc_w, 149 state->crtc_w,
150 fb->pixel_format); 150 fb->format->format);
151 if (val < 0) 151 if (val < 0)
152 return val; 152 return val;
153 153
diff --git a/drivers/gpu/drm/armada/armada_crtc.c b/drivers/gpu/drm/armada/armada_crtc.c
index 426e86f4cf96..41fc6ee9da91 100644
--- a/drivers/gpu/drm/armada/armada_crtc.c
+++ b/drivers/gpu/drm/armada/armada_crtc.c
@@ -1035,7 +1035,7 @@ static int armada_drm_crtc_page_flip(struct drm_crtc *crtc,
1035 int ret; 1035 int ret;
1036 1036
1037 /* We don't support changing the pixel format */ 1037 /* We don't support changing the pixel format */
1038 if (fb->pixel_format != crtc->primary->fb->pixel_format) 1038 if (fb->format->format != crtc->primary->fb->format->format)
1039 return -EINVAL; 1039 return -EINVAL;
1040 1040
1041 work = kmalloc(sizeof(*work), GFP_KERNEL); 1041 work = kmalloc(sizeof(*work), GFP_KERNEL);
diff --git a/drivers/gpu/drm/armada/armada_overlay.c b/drivers/gpu/drm/armada/armada_overlay.c
index a0883a1b3387..34cb73d0db77 100644
--- a/drivers/gpu/drm/armada/armada_overlay.c
+++ b/drivers/gpu/drm/armada/armada_overlay.c
@@ -186,7 +186,7 @@ armada_ovl_plane_update(struct drm_plane *plane, struct drm_crtc *crtc,
186 186
187 armada_drm_plane_calc_addrs(addrs, fb, src_x, src_y); 187 armada_drm_plane_calc_addrs(addrs, fb, src_x, src_y);
188 188
189 pixel_format = fb->pixel_format; 189 pixel_format = fb->format->format;
190 hsub = drm_format_horz_chroma_subsampling(pixel_format); 190 hsub = drm_format_horz_chroma_subsampling(pixel_format);
191 num_planes = fb->format->num_planes; 191 num_planes = fb->format->num_planes;
192 192
diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
index 3e00512ef187..bd2791c4b002 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
@@ -356,7 +356,7 @@ atmel_hlcdc_plane_update_general_settings(struct atmel_hlcdc_plane *plane,
356 cfg |= ATMEL_HLCDC_LAYER_OVR | ATMEL_HLCDC_LAYER_ITER2BL | 356 cfg |= ATMEL_HLCDC_LAYER_OVR | ATMEL_HLCDC_LAYER_ITER2BL |
357 ATMEL_HLCDC_LAYER_ITER; 357 ATMEL_HLCDC_LAYER_ITER;
358 358
359 if (atmel_hlcdc_format_embeds_alpha(state->base.fb->pixel_format)) 359 if (atmel_hlcdc_format_embeds_alpha(state->base.fb->format->format))
360 cfg |= ATMEL_HLCDC_LAYER_LAEN; 360 cfg |= ATMEL_HLCDC_LAYER_LAEN;
361 else 361 else
362 cfg |= ATMEL_HLCDC_LAYER_GAEN | 362 cfg |= ATMEL_HLCDC_LAYER_GAEN |
@@ -386,13 +386,13 @@ static void atmel_hlcdc_plane_update_format(struct atmel_hlcdc_plane *plane,
386 u32 cfg; 386 u32 cfg;
387 int ret; 387 int ret;
388 388
389 ret = atmel_hlcdc_format_to_plane_mode(state->base.fb->pixel_format, 389 ret = atmel_hlcdc_format_to_plane_mode(state->base.fb->format->format,
390 &cfg); 390 &cfg);
391 if (ret) 391 if (ret)
392 return; 392 return;
393 393
394 if ((state->base.fb->pixel_format == DRM_FORMAT_YUV422 || 394 if ((state->base.fb->format->format == DRM_FORMAT_YUV422 ||
395 state->base.fb->pixel_format == DRM_FORMAT_NV61) && 395 state->base.fb->format->format == DRM_FORMAT_NV61) &&
396 drm_rotation_90_or_270(state->base.rotation)) 396 drm_rotation_90_or_270(state->base.rotation))
397 cfg |= ATMEL_HLCDC_YUV422ROT; 397 cfg |= ATMEL_HLCDC_YUV422ROT;
398 398
@@ -405,7 +405,7 @@ static void atmel_hlcdc_plane_update_format(struct atmel_hlcdc_plane *plane,
405 * Rotation optimization is not working on RGB888 (rotation is still 405 * Rotation optimization is not working on RGB888 (rotation is still
406 * working but without any optimization). 406 * working but without any optimization).
407 */ 407 */
408 if (state->base.fb->pixel_format == DRM_FORMAT_RGB888) 408 if (state->base.fb->format->format == DRM_FORMAT_RGB888)
409 cfg = ATMEL_HLCDC_LAYER_DMA_ROTDIS; 409 cfg = ATMEL_HLCDC_LAYER_DMA_ROTDIS;
410 else 410 else
411 cfg = 0; 411 cfg = 0;
@@ -514,7 +514,7 @@ atmel_hlcdc_plane_prepare_disc_area(struct drm_crtc_state *c_state)
514 ovl_state = drm_plane_state_to_atmel_hlcdc_plane_state(ovl_s); 514 ovl_state = drm_plane_state_to_atmel_hlcdc_plane_state(ovl_s);
515 515
516 if (!ovl_s->fb || 516 if (!ovl_s->fb ||
517 atmel_hlcdc_format_embeds_alpha(ovl_s->fb->pixel_format) || 517 atmel_hlcdc_format_embeds_alpha(ovl_s->fb->format->format) ||
518 ovl_state->alpha != 255) 518 ovl_state->alpha != 255)
519 continue; 519 continue;
520 520
@@ -664,8 +664,8 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane *p,
664 patched_src_h = DIV_ROUND_CLOSEST(patched_crtc_h * state->src_h, 664 patched_src_h = DIV_ROUND_CLOSEST(patched_crtc_h * state->src_h,
665 state->crtc_h); 665 state->crtc_h);
666 666
667 hsub = drm_format_horz_chroma_subsampling(fb->pixel_format); 667 hsub = drm_format_horz_chroma_subsampling(fb->format->format);
668 vsub = drm_format_vert_chroma_subsampling(fb->pixel_format); 668 vsub = drm_format_vert_chroma_subsampling(fb->format->format);
669 669
670 for (i = 0; i < state->nplanes; i++) { 670 for (i = 0; i < state->nplanes; i++) {
671 unsigned int offset = 0; 671 unsigned int offset = 0;
@@ -741,7 +741,7 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane *p,
741 741
742 if ((state->crtc_h != state->src_h || state->crtc_w != state->src_w) && 742 if ((state->crtc_h != state->src_h || state->crtc_w != state->src_w) &&
743 (!layout->memsize || 743 (!layout->memsize ||
744 atmel_hlcdc_format_embeds_alpha(state->base.fb->pixel_format))) 744 atmel_hlcdc_format_embeds_alpha(state->base.fb->format->format)))
745 return -EINVAL; 745 return -EINVAL;
746 746
747 if (state->crtc_x < 0 || state->crtc_y < 0) 747 if (state->crtc_x < 0 || state->crtc_y < 0)
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 62f0f57728e1..b602faf28367 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -902,11 +902,11 @@ static int drm_atomic_plane_check(struct drm_plane *plane,
902 } 902 }
903 903
904 /* Check whether this plane supports the fb pixel format. */ 904 /* Check whether this plane supports the fb pixel format. */
905 ret = drm_plane_check_pixel_format(plane, state->fb->pixel_format); 905 ret = drm_plane_check_pixel_format(plane, state->fb->format->format);
906 if (ret) { 906 if (ret) {
907 struct drm_format_name_buf format_name; 907 struct drm_format_name_buf format_name;
908 DRM_DEBUG_ATOMIC("Invalid pixel format %s\n", 908 DRM_DEBUG_ATOMIC("Invalid pixel format %s\n",
909 drm_get_format_name(state->fb->pixel_format, 909 drm_get_format_name(state->fb->format->format,
910 &format_name)); 910 &format_name));
911 return ret; 911 return ret;
912 } 912 }
@@ -964,7 +964,7 @@ static void drm_atomic_plane_print_state(struct drm_printer *p,
964 struct drm_format_name_buf format_name; 964 struct drm_format_name_buf format_name;
965 965
966 drm_printf(p, "\t\tformat=%s\n", 966 drm_printf(p, "\t\tformat=%s\n",
967 drm_get_format_name(fb->pixel_format, &format_name)); 967 drm_get_format_name(fb->format->format, &format_name));
968 drm_printf(p, "\t\t\tmodifier=0x%llx\n", fb->modifier); 968 drm_printf(p, "\t\t\tmodifier=0x%llx\n", fb->modifier);
969 drm_printf(p, "\t\tsize=%dx%d\n", fb->width, fb->height); 969 drm_printf(p, "\t\tsize=%dx%d\n", fb->width, fb->height);
970 drm_printf(p, "\t\tlayers:\n"); 970 drm_printf(p, "\t\tlayers:\n");
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 14c58072651b..080c8d361f1f 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -575,11 +575,11 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data,
575 */ 575 */
576 if (!crtc->primary->format_default) { 576 if (!crtc->primary->format_default) {
577 ret = drm_plane_check_pixel_format(crtc->primary, 577 ret = drm_plane_check_pixel_format(crtc->primary,
578 fb->pixel_format); 578 fb->format->format);
579 if (ret) { 579 if (ret) {
580 struct drm_format_name_buf format_name; 580 struct drm_format_name_buf format_name;
581 DRM_DEBUG_KMS("Invalid pixel format %s\n", 581 DRM_DEBUG_KMS("Invalid pixel format %s\n",
582 drm_get_format_name(fb->pixel_format, 582 drm_get_format_name(fb->format->format,
583 &format_name)); 583 &format_name));
584 goto out; 584 goto out;
585 } 585 }
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
index 5d2cb138eba6..94bce0b462aa 100644
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -588,8 +588,8 @@ int drm_crtc_helper_set_config(struct drm_mode_set *set)
588 if (set->crtc->primary->fb == NULL) { 588 if (set->crtc->primary->fb == NULL) {
589 DRM_DEBUG_KMS("crtc has no fb, full mode set\n"); 589 DRM_DEBUG_KMS("crtc has no fb, full mode set\n");
590 mode_changed = true; 590 mode_changed = true;
591 } else if (set->fb->pixel_format != 591 } else if (set->fb->format->format !=
592 set->crtc->primary->fb->pixel_format) { 592 set->crtc->primary->fb->format->format) {
593 mode_changed = true; 593 mode_changed = true;
594 } else 594 } else
595 fb_changed = true; 595 fb_changed = true;
diff --git a/drivers/gpu/drm/drm_fb_cma_helper.c b/drivers/gpu/drm/drm_fb_cma_helper.c
index 181a9eafe34a..aab4465307ed 100644
--- a/drivers/gpu/drm/drm_fb_cma_helper.c
+++ b/drivers/gpu/drm/drm_fb_cma_helper.c
@@ -307,7 +307,7 @@ static void drm_fb_cma_describe(struct drm_framebuffer *fb, struct seq_file *m)
307 int i; 307 int i;
308 308
309 seq_printf(m, "fb: %dx%d@%4.4s\n", fb->width, fb->height, 309 seq_printf(m, "fb: %dx%d@%4.4s\n", fb->width, fb->height,
310 (char *)&fb->pixel_format); 310 (char *)&fb->format->format);
311 311
312 for (i = 0; i < fb->fomat->num_planes; i++) { 312 for (i = 0; i < fb->fomat->num_planes; i++) {
313 seq_printf(m, " %d: offset=%d pitch=%d, obj: ", 313 seq_printf(m, " %d: offset=%d pitch=%d, obj: ",
diff --git a/drivers/gpu/drm/drm_modeset_helper.c b/drivers/gpu/drm/drm_modeset_helper.c
index 3c44409244dc..639e474e7d43 100644
--- a/drivers/gpu/drm/drm_modeset_helper.c
+++ b/drivers/gpu/drm/drm_modeset_helper.c
@@ -94,7 +94,6 @@ void drm_helper_mode_fill_fb_struct(struct drm_device *dev,
94 fb->offsets[i] = mode_cmd->offsets[i]; 94 fb->offsets[i] = mode_cmd->offsets[i];
95 } 95 }
96 fb->modifier = mode_cmd->modifier[0]; 96 fb->modifier = mode_cmd->modifier[0];
97 fb->pixel_format = mode_cmd->pixel_format;
98 fb->flags = mode_cmd->flags; 97 fb->flags = mode_cmd->flags;
99} 98}
100EXPORT_SYMBOL(drm_helper_mode_fill_fb_struct); 99EXPORT_SYMBOL(drm_helper_mode_fill_fb_struct);
diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
index c2dc8e6f80ff..f479cda5fc2d 100644
--- a/drivers/gpu/drm/drm_plane.c
+++ b/drivers/gpu/drm/drm_plane.c
@@ -482,11 +482,11 @@ static int __setplane_internal(struct drm_plane *plane,
482 } 482 }
483 483
484 /* Check whether this plane supports the fb pixel format. */ 484 /* Check whether this plane supports the fb pixel format. */
485 ret = drm_plane_check_pixel_format(plane, fb->pixel_format); 485 ret = drm_plane_check_pixel_format(plane, fb->format->format);
486 if (ret) { 486 if (ret) {
487 struct drm_format_name_buf format_name; 487 struct drm_format_name_buf format_name;
488 DRM_DEBUG_KMS("Invalid pixel format %s\n", 488 DRM_DEBUG_KMS("Invalid pixel format %s\n",
489 drm_get_format_name(fb->pixel_format, 489 drm_get_format_name(fb->format->format,
490 &format_name)); 490 &format_name));
491 goto out; 491 goto out;
492 } 492 }
@@ -858,7 +858,7 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev,
858 if (ret) 858 if (ret)
859 goto out; 859 goto out;
860 860
861 if (crtc->primary->fb->pixel_format != fb->pixel_format) { 861 if (crtc->primary->fb->format->format != fb->format->format) {
862 DRM_DEBUG_KMS("Page flip is not allowed to change frame buffer format.\n"); 862 DRM_DEBUG_KMS("Page flip is not allowed to change frame buffer format.\n");
863 ret = -EINVAL; 863 ret = -EINVAL;
864 goto out; 864 goto out;
diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
index e8ce4a318586..c5c01628c715 100644
--- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
+++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
@@ -200,7 +200,7 @@ static void decon_win_set_pixfmt(struct decon_context *ctx, unsigned int win,
200 val = readl(ctx->addr + DECON_WINCONx(win)); 200 val = readl(ctx->addr + DECON_WINCONx(win));
201 val &= ~WINCONx_BPPMODE_MASK; 201 val &= ~WINCONx_BPPMODE_MASK;
202 202
203 switch (fb->pixel_format) { 203 switch (fb->format->format) {
204 case DRM_FORMAT_XRGB1555: 204 case DRM_FORMAT_XRGB1555:
205 val |= WINCONx_BPPMODE_16BPP_I1555; 205 val |= WINCONx_BPPMODE_16BPP_I1555;
206 val |= WINCONx_HAWSWP_F; 206 val |= WINCONx_HAWSWP_F;
diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
index 58dc9a5196bc..f9ab19e205e2 100644
--- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
+++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
@@ -281,7 +281,7 @@ static void decon_win_set_pixfmt(struct decon_context *ctx, unsigned int win,
281 val = readl(ctx->regs + WINCON(win)); 281 val = readl(ctx->regs + WINCON(win));
282 val &= ~WINCONx_BPPMODE_MASK; 282 val &= ~WINCONx_BPPMODE_MASK;
283 283
284 switch (fb->pixel_format) { 284 switch (fb->format->format) {
285 case DRM_FORMAT_RGB565: 285 case DRM_FORMAT_RGB565:
286 val |= WINCONx_BPPMODE_16BPP_565; 286 val |= WINCONx_BPPMODE_16BPP_565;
287 val |= WINCONx_BURSTLEN_16WORD; 287 val |= WINCONx_BURSTLEN_16WORD;
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index 0029065979b8..745cfbdf6b39 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -804,7 +804,7 @@ static void fimd_update_plane(struct exynos_drm_crtc *crtc,
804 DRM_DEBUG_KMS("osd size = 0x%x\n", (unsigned int)val); 804 DRM_DEBUG_KMS("osd size = 0x%x\n", (unsigned int)val);
805 } 805 }
806 806
807 fimd_win_set_pixfmt(ctx, win, fb->pixel_format, state->src.w); 807 fimd_win_set_pixfmt(ctx, win, fb->format->format, state->src.w);
808 808
809 /* hardware window 0 doesn't support color key. */ 809 /* hardware window 0 doesn't support color key. */
810 if (win != 0) 810 if (win != 0)
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
index b313e61aab65..a106046e0c93 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -485,7 +485,7 @@ static void vp_video_buffer(struct mixer_context *ctx,
485 bool crcb_mode = false; 485 bool crcb_mode = false;
486 u32 val; 486 u32 val;
487 487
488 switch (fb->pixel_format) { 488 switch (fb->format->format) {
489 case DRM_FORMAT_NV12: 489 case DRM_FORMAT_NV12:
490 crcb_mode = false; 490 crcb_mode = false;
491 break; 491 break;
@@ -494,7 +494,7 @@ static void vp_video_buffer(struct mixer_context *ctx,
494 break; 494 break;
495 default: 495 default:
496 DRM_ERROR("pixel format for vp is wrong [%d].\n", 496 DRM_ERROR("pixel format for vp is wrong [%d].\n",
497 fb->pixel_format); 497 fb->format->format);
498 return; 498 return;
499 } 499 }
500 500
@@ -597,7 +597,7 @@ static void mixer_graph_buffer(struct mixer_context *ctx,
597 unsigned int fmt; 597 unsigned int fmt;
598 u32 val; 598 u32 val;
599 599
600 switch (fb->pixel_format) { 600 switch (fb->format->format) {
601 case DRM_FORMAT_XRGB4444: 601 case DRM_FORMAT_XRGB4444:
602 case DRM_FORMAT_ARGB4444: 602 case DRM_FORMAT_ARGB4444:
603 fmt = MXR_FORMAT_ARGB4444; 603 fmt = MXR_FORMAT_ARGB4444;
@@ -681,7 +681,7 @@ static void mixer_graph_buffer(struct mixer_context *ctx,
681 mixer_cfg_scan(ctx, mode->vdisplay); 681 mixer_cfg_scan(ctx, mode->vdisplay);
682 mixer_cfg_rgb_fmt(ctx, mode->vdisplay); 682 mixer_cfg_rgb_fmt(ctx, mode->vdisplay);
683 mixer_cfg_layer(ctx, win, priority, true); 683 mixer_cfg_layer(ctx, win, priority, true);
684 mixer_cfg_gfx_blend(ctx, win, is_alpha_format(fb->pixel_format)); 684 mixer_cfg_gfx_blend(ctx, win, is_alpha_format(fb->format->format));
685 685
686 /* layer update mandatory for mixer 16.0.33.0 */ 686 /* layer update mandatory for mixer 16.0.33.0 */
687 if (ctx->mxr_ver == MXR_VER_16_0_33_0 || 687 if (ctx->mxr_ver == MXR_VER_16_0_33_0 ||
diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c
index a99f48847420..0a20723aa6e1 100644
--- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c
+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c
@@ -44,7 +44,7 @@ static int fsl_dcu_drm_plane_atomic_check(struct drm_plane *plane,
44 if (!state->fb || !state->crtc) 44 if (!state->fb || !state->crtc)
45 return 0; 45 return 0;
46 46
47 switch (fb->pixel_format) { 47 switch (fb->format->format) {
48 case DRM_FORMAT_RGB565: 48 case DRM_FORMAT_RGB565:
49 case DRM_FORMAT_RGB888: 49 case DRM_FORMAT_RGB888:
50 case DRM_FORMAT_XRGB8888: 50 case DRM_FORMAT_XRGB8888:
@@ -96,7 +96,7 @@ static void fsl_dcu_drm_plane_atomic_update(struct drm_plane *plane,
96 96
97 gem = drm_fb_cma_get_gem_obj(fb, 0); 97 gem = drm_fb_cma_get_gem_obj(fb, 0);
98 98
99 switch (fb->pixel_format) { 99 switch (fb->format->format) {
100 case DRM_FORMAT_RGB565: 100 case DRM_FORMAT_RGB565:
101 bpp = FSL_DCU_RGB565; 101 bpp = FSL_DCU_RGB565;
102 break; 102 break;
diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
index 3ea70459b901..307d460ab684 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
@@ -617,7 +617,7 @@ static void ade_rdma_set(void __iomem *base, struct drm_framebuffer *fb,
617 ch + 1, y, in_h, stride, (u32)obj->paddr); 617 ch + 1, y, in_h, stride, (u32)obj->paddr);
618 DRM_DEBUG_DRIVER("addr=0x%x, fb:%dx%d, pixel_format=%d(%s)\n", 618 DRM_DEBUG_DRIVER("addr=0x%x, fb:%dx%d, pixel_format=%d(%s)\n",
619 addr, fb->width, fb->height, fmt, 619 addr, fb->width, fb->height, fmt,
620 drm_get_format_name(fb->pixel_format, &format_name)); 620 drm_get_format_name(fb->format->format, &format_name));
621 621
622 /* get reg offset */ 622 /* get reg offset */
623 reg_ctrl = RD_CH_CTRL(ch); 623 reg_ctrl = RD_CH_CTRL(ch);
@@ -773,7 +773,7 @@ static void ade_update_channel(struct ade_plane *aplane,
773{ 773{
774 struct ade_hw_ctx *ctx = aplane->ctx; 774 struct ade_hw_ctx *ctx = aplane->ctx;
775 void __iomem *base = ctx->base; 775 void __iomem *base = ctx->base;
776 u32 fmt = ade_get_format(fb->pixel_format); 776 u32 fmt = ade_get_format(fb->format->format);
777 u32 ch = aplane->ch; 777 u32 ch = aplane->ch;
778 u32 in_w; 778 u32 in_w;
779 u32 in_h; 779 u32 in_h;
@@ -835,7 +835,7 @@ static int ade_plane_atomic_check(struct drm_plane *plane,
835 if (!crtc || !fb) 835 if (!crtc || !fb)
836 return 0; 836 return 0;
837 837
838 fmt = ade_get_format(fb->pixel_format); 838 fmt = ade_get_format(fb->format->format);
839 if (fmt == ADE_FORMAT_UNSUPPORT) 839 if (fmt == ADE_FORMAT_UNSUPPORT)
840 return -EINVAL; 840 return -EINVAL;
841 841
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index ec462dae46bc..b77b53b47acc 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -3021,7 +3021,8 @@ static void intel_plane_info(struct seq_file *m, struct intel_crtc *intel_crtc)
3021 state = plane->state; 3021 state = plane->state;
3022 3022
3023 if (state->fb) { 3023 if (state->fb) {
3024 drm_get_format_name(state->fb->pixel_format, &format_name); 3024 drm_get_format_name(state->fb->format->format,
3025 &format_name);
3025 } else { 3026 } else {
3026 sprintf(format_name.str, "N/A"); 3027 sprintf(format_name.str, "N/A");
3027 } 3028 }
diff --git a/drivers/gpu/drm/i915/intel_atomic_plane.c b/drivers/gpu/drm/i915/intel_atomic_plane.c
index dbe9fb41ae53..e049838159a1 100644
--- a/drivers/gpu/drm/i915/intel_atomic_plane.c
+++ b/drivers/gpu/drm/i915/intel_atomic_plane.c
@@ -155,11 +155,11 @@ static int intel_plane_atomic_check(struct drm_plane *plane,
155 * RGB 16-bit 5:6:5, and Indexed 8-bit. 155 * RGB 16-bit 5:6:5, and Indexed 8-bit.
156 * TBD: Add RGB64 case once its added in supported format list. 156 * TBD: Add RGB64 case once its added in supported format list.
157 */ 157 */
158 switch (state->fb->pixel_format) { 158 switch (state->fb->format->format) {
159 case DRM_FORMAT_C8: 159 case DRM_FORMAT_C8:
160 case DRM_FORMAT_RGB565: 160 case DRM_FORMAT_RGB565:
161 DRM_DEBUG_KMS("Unsupported pixel format %s for 90/270!\n", 161 DRM_DEBUG_KMS("Unsupported pixel format %s for 90/270!\n",
162 drm_get_format_name(state->fb->pixel_format, 162 drm_get_format_name(state->fb->format->format,
163 &format_name)); 163 &format_name));
164 return -EINVAL; 164 return -EINVAL;
165 165
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 4f0675460336..3b56b2cae804 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2455,7 +2455,7 @@ u32 intel_compute_tile_offset(int *x, int *y,
2455 u32 alignment; 2455 u32 alignment;
2456 2456
2457 /* AUX_DIST needs only 4K alignment */ 2457 /* AUX_DIST needs only 4K alignment */
2458 if (fb->pixel_format == DRM_FORMAT_NV12 && plane == 1) 2458 if (fb->format->format == DRM_FORMAT_NV12 && plane == 1)
2459 alignment = 4096; 2459 alignment = 4096;
2460 else 2460 else
2461 alignment = intel_surf_alignment(dev_priv, fb->modifier); 2461 alignment = intel_surf_alignment(dev_priv, fb->modifier);
@@ -2700,7 +2700,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
2700 if (plane_config->tiling == I915_TILING_X) 2700 if (plane_config->tiling == I915_TILING_X)
2701 obj->tiling_and_stride = fb->pitches[0] | I915_TILING_X; 2701 obj->tiling_and_stride = fb->pitches[0] | I915_TILING_X;
2702 2702
2703 mode_cmd.pixel_format = fb->pixel_format; 2703 mode_cmd.pixel_format = fb->format->format;
2704 mode_cmd.width = fb->width; 2704 mode_cmd.width = fb->width;
2705 mode_cmd.height = fb->height; 2705 mode_cmd.height = fb->height;
2706 mode_cmd.pitches[0] = fb->pitches[0]; 2706 mode_cmd.pitches[0] = fb->pitches[0];
@@ -2976,7 +2976,7 @@ int skl_check_plane_surface(struct intel_plane_state *plane_state)
2976 * Handle the AUX surface first since 2976 * Handle the AUX surface first since
2977 * the main surface setup depends on it. 2977 * the main surface setup depends on it.
2978 */ 2978 */
2979 if (fb->pixel_format == DRM_FORMAT_NV12) { 2979 if (fb->format->format == DRM_FORMAT_NV12) {
2980 ret = skl_check_nv12_aux_surface(plane_state); 2980 ret = skl_check_nv12_aux_surface(plane_state);
2981 if (ret) 2981 if (ret)
2982 return ret; 2982 return ret;
@@ -3031,7 +3031,7 @@ static void i9xx_update_primary_plane(struct drm_plane *primary,
3031 I915_WRITE(PRIMCNSTALPHA(plane), 0); 3031 I915_WRITE(PRIMCNSTALPHA(plane), 0);
3032 } 3032 }
3033 3033
3034 switch (fb->pixel_format) { 3034 switch (fb->format->format) {
3035 case DRM_FORMAT_C8: 3035 case DRM_FORMAT_C8:
3036 dspcntr |= DISPPLANE_8BPP; 3036 dspcntr |= DISPPLANE_8BPP;
3037 break; 3037 break;
@@ -3146,7 +3146,7 @@ static void ironlake_update_primary_plane(struct drm_plane *primary,
3146 if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) 3146 if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv))
3147 dspcntr |= DISPPLANE_PIPE_CSC_ENABLE; 3147 dspcntr |= DISPPLANE_PIPE_CSC_ENABLE;
3148 3148
3149 switch (fb->pixel_format) { 3149 switch (fb->format->format) {
3150 case DRM_FORMAT_C8: 3150 case DRM_FORMAT_C8:
3151 dspcntr |= DISPPLANE_8BPP; 3151 dspcntr |= DISPPLANE_8BPP;
3152 break; 3152 break;
@@ -3282,7 +3282,7 @@ u32 skl_plane_stride(const struct drm_framebuffer *fb, int plane,
3282 stride /= intel_tile_height(dev_priv, fb->modifier, cpp); 3282 stride /= intel_tile_height(dev_priv, fb->modifier, cpp);
3283 } else { 3283 } else {
3284 stride /= intel_fb_stride_alignment(dev_priv, fb->modifier, 3284 stride /= intel_fb_stride_alignment(dev_priv, fb->modifier,
3285 fb->pixel_format); 3285 fb->format->format);
3286 } 3286 }
3287 3287
3288 return stride; 3288 return stride;
@@ -3396,7 +3396,7 @@ static void skylake_update_primary_plane(struct drm_plane *plane,
3396 PLANE_CTL_PIPE_GAMMA_ENABLE | 3396 PLANE_CTL_PIPE_GAMMA_ENABLE |
3397 PLANE_CTL_PIPE_CSC_ENABLE; 3397 PLANE_CTL_PIPE_CSC_ENABLE;
3398 3398
3399 plane_ctl |= skl_plane_ctl_format(fb->pixel_format); 3399 plane_ctl |= skl_plane_ctl_format(fb->format->format);
3400 plane_ctl |= skl_plane_ctl_tiling(fb->modifier); 3400 plane_ctl |= skl_plane_ctl_tiling(fb->modifier);
3401 plane_ctl |= PLANE_CTL_PLANE_GAMMA_DISABLE; 3401 plane_ctl |= PLANE_CTL_PLANE_GAMMA_DISABLE;
3402 plane_ctl |= skl_plane_ctl_rotation(rotation); 3402 plane_ctl |= skl_plane_ctl_rotation(rotation);
@@ -4768,7 +4768,7 @@ static int skl_update_scaler_plane(struct intel_crtc_state *crtc_state,
4768 } 4768 }
4769 4769
4770 /* Check src format */ 4770 /* Check src format */
4771 switch (fb->pixel_format) { 4771 switch (fb->format->format) {
4772 case DRM_FORMAT_RGB565: 4772 case DRM_FORMAT_RGB565:
4773 case DRM_FORMAT_XBGR8888: 4773 case DRM_FORMAT_XBGR8888:
4774 case DRM_FORMAT_XRGB8888: 4774 case DRM_FORMAT_XRGB8888:
@@ -4784,7 +4784,7 @@ static int skl_update_scaler_plane(struct intel_crtc_state *crtc_state,
4784 default: 4784 default:
4785 DRM_DEBUG_KMS("[PLANE:%d:%s] FB:%d unsupported scaling format 0x%x\n", 4785 DRM_DEBUG_KMS("[PLANE:%d:%s] FB:%d unsupported scaling format 0x%x\n",
4786 intel_plane->base.base.id, intel_plane->base.name, 4786 intel_plane->base.base.id, intel_plane->base.name,
4787 fb->base.id, fb->pixel_format); 4787 fb->base.id, fb->format->format);
4788 return -EINVAL; 4788 return -EINVAL;
4789 } 4789 }
4790 4790
@@ -8714,7 +8714,6 @@ i9xx_get_initial_plane_config(struct intel_crtc *crtc,
8714 8714
8715 pixel_format = val & DISPPLANE_PIXFORMAT_MASK; 8715 pixel_format = val & DISPPLANE_PIXFORMAT_MASK;
8716 fourcc = i9xx_format_to_fourcc(pixel_format); 8716 fourcc = i9xx_format_to_fourcc(pixel_format);
8717 fb->pixel_format = fourcc;
8718 fb->format = drm_format_info(fourcc); 8717 fb->format = drm_format_info(fourcc);
8719 8718
8720 if (INTEL_GEN(dev_priv) >= 4) { 8719 if (INTEL_GEN(dev_priv) >= 4) {
@@ -8736,7 +8735,7 @@ i9xx_get_initial_plane_config(struct intel_crtc *crtc,
8736 fb->pitches[0] = val & 0xffffffc0; 8735 fb->pitches[0] = val & 0xffffffc0;
8737 8736
8738 aligned_height = intel_fb_align_height(dev, fb->height, 8737 aligned_height = intel_fb_align_height(dev, fb->height,
8739 fb->pixel_format, 8738 fb->format->format,
8740 fb->modifier); 8739 fb->modifier);
8741 8740
8742 plane_config->size = fb->pitches[0] * aligned_height; 8741 plane_config->size = fb->pitches[0] * aligned_height;
@@ -9745,7 +9744,6 @@ skylake_get_initial_plane_config(struct intel_crtc *crtc,
9745 fourcc = skl_format_to_fourcc(pixel_format, 9744 fourcc = skl_format_to_fourcc(pixel_format,
9746 val & PLANE_CTL_ORDER_RGBX, 9745 val & PLANE_CTL_ORDER_RGBX,
9747 val & PLANE_CTL_ALPHA_MASK); 9746 val & PLANE_CTL_ALPHA_MASK);
9748 fb->pixel_format = fourcc;
9749 fb->format = drm_format_info(fourcc); 9747 fb->format = drm_format_info(fourcc);
9750 9748
9751 tiling = val & PLANE_CTL_TILED_MASK; 9749 tiling = val & PLANE_CTL_TILED_MASK;
@@ -9779,11 +9777,11 @@ skylake_get_initial_plane_config(struct intel_crtc *crtc,
9779 9777
9780 val = I915_READ(PLANE_STRIDE(pipe, 0)); 9778 val = I915_READ(PLANE_STRIDE(pipe, 0));
9781 stride_mult = intel_fb_stride_alignment(dev_priv, fb->modifier, 9779 stride_mult = intel_fb_stride_alignment(dev_priv, fb->modifier,
9782 fb->pixel_format); 9780 fb->format->format);
9783 fb->pitches[0] = (val & 0x3ff) * stride_mult; 9781 fb->pitches[0] = (val & 0x3ff) * stride_mult;
9784 9782
9785 aligned_height = intel_fb_align_height(dev, fb->height, 9783 aligned_height = intel_fb_align_height(dev, fb->height,
9786 fb->pixel_format, 9784 fb->format->format,
9787 fb->modifier); 9785 fb->modifier);
9788 9786
9789 plane_config->size = fb->pitches[0] * aligned_height; 9787 plane_config->size = fb->pitches[0] * aligned_height;
@@ -9860,7 +9858,6 @@ ironlake_get_initial_plane_config(struct intel_crtc *crtc,
9860 9858
9861 pixel_format = val & DISPPLANE_PIXFORMAT_MASK; 9859 pixel_format = val & DISPPLANE_PIXFORMAT_MASK;
9862 fourcc = i9xx_format_to_fourcc(pixel_format); 9860 fourcc = i9xx_format_to_fourcc(pixel_format);
9863 fb->pixel_format = fourcc;
9864 fb->format = drm_format_info(fourcc); 9861 fb->format = drm_format_info(fourcc);
9865 9862
9866 base = I915_READ(DSPSURF(pipe)) & 0xfffff000; 9863 base = I915_READ(DSPSURF(pipe)) & 0xfffff000;
@@ -9882,7 +9879,7 @@ ironlake_get_initial_plane_config(struct intel_crtc *crtc,
9882 fb->pitches[0] = val & 0xffffffc0; 9879 fb->pitches[0] = val & 0xffffffc0;
9883 9880
9884 aligned_height = intel_fb_align_height(dev, fb->height, 9881 aligned_height = intel_fb_align_height(dev, fb->height,
9885 fb->pixel_format, 9882 fb->format->format,
9886 fb->modifier); 9883 fb->modifier);
9887 9884
9888 plane_config->size = fb->pitches[0] * aligned_height; 9885 plane_config->size = fb->pitches[0] * aligned_height;
@@ -12150,7 +12147,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
12150 return -EBUSY; 12147 return -EBUSY;
12151 12148
12152 /* Can't change pixel format via MI display flips. */ 12149 /* Can't change pixel format via MI display flips. */
12153 if (fb->pixel_format != crtc->primary->fb->pixel_format) 12150 if (fb->format->format != crtc->primary->fb->format->format)
12154 return -EINVAL; 12151 return -EINVAL;
12155 12152
12156 /* 12153 /*
@@ -12847,7 +12844,7 @@ static void intel_dump_pipe_config(struct intel_crtc *crtc,
12847 DRM_DEBUG_KMS("[PLANE:%d:%s] FB:%d, fb = %ux%u format = %s\n", 12844 DRM_DEBUG_KMS("[PLANE:%d:%s] FB:%d, fb = %ux%u format = %s\n",
12848 plane->base.id, plane->name, 12845 plane->base.id, plane->name,
12849 fb->base.id, fb->width, fb->height, 12846 fb->base.id, fb->width, fb->height,
12850 drm_get_format_name(fb->pixel_format, &format_name)); 12847 drm_get_format_name(fb->format->format, &format_name));
12851 if (INTEL_GEN(dev_priv) >= 9) 12848 if (INTEL_GEN(dev_priv) >= 9)
12852 DRM_DEBUG_KMS("\tscaler:%d src %dx%d+%d+%d dst %dx%d+%d+%d\n", 12849 DRM_DEBUG_KMS("\tscaler:%d src %dx%d+%d+%d dst %dx%d+%d+%d\n",
12853 state->scaler_id, 12850 state->scaler_id,
diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
index 3f60a4f6f078..570c07d59d1a 100644
--- a/drivers/gpu/drm/i915/intel_fbdev.c
+++ b/drivers/gpu/drm/i915/intel_fbdev.c
@@ -632,7 +632,7 @@ static bool intel_fbdev_init_bios(struct drm_device *dev,
632 632
633 cur_size = intel_crtc->config->base.adjusted_mode.crtc_vdisplay; 633 cur_size = intel_crtc->config->base.adjusted_mode.crtc_vdisplay;
634 cur_size = intel_fb_align_height(dev, cur_size, 634 cur_size = intel_fb_align_height(dev, cur_size,
635 fb->base.pixel_format, 635 fb->base.format->format,
636 fb->base.modifier); 636 fb->base.modifier);
637 cur_size *= fb->base.pitches[0]; 637 cur_size *= fb->base.pitches[0];
638 DRM_DEBUG_KMS("pipe %c area: %dx%d, bpp: %d, size: %d\n", 638 DRM_DEBUG_KMS("pipe %c area: %dx%d, bpp: %d, size: %d\n",
diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
index ce3667c18e18..568d194435fd 100644
--- a/drivers/gpu/drm/i915/intel_overlay.c
+++ b/drivers/gpu/drm/i915/intel_overlay.c
@@ -667,7 +667,7 @@ static void update_colorkey(struct intel_overlay *overlay,
667 if (overlay->color_key_enabled) 667 if (overlay->color_key_enabled)
668 flags |= DST_KEY_ENABLE; 668 flags |= DST_KEY_ENABLE;
669 669
670 switch (fb->pixel_format) { 670 switch (fb->format->format) {
671 case DRM_FORMAT_C8: 671 case DRM_FORMAT_C8:
672 key = 0; 672 key = 0;
673 flags |= CLK_RGB8I_MASK; 673 flags |= CLK_RGB8I_MASK;
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index f6406ebd533c..ce03d9d5aca6 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -3241,7 +3241,7 @@ skl_plane_relative_data_rate(const struct intel_crtc_state *cstate,
3241 return 0; 3241 return 0;
3242 3242
3243 fb = pstate->fb; 3243 fb = pstate->fb;
3244 format = fb->pixel_format; 3244 format = fb->format->format;
3245 3245
3246 if (pstate->plane->type == DRM_PLANE_TYPE_CURSOR) 3246 if (pstate->plane->type == DRM_PLANE_TYPE_CURSOR)
3247 return 0; 3247 return 0;
@@ -3330,7 +3330,7 @@ skl_ddb_min_alloc(const struct drm_plane_state *pstate,
3330 return 0; 3330 return 0;
3331 3331
3332 /* For packed formats, no y-plane, return 0 */ 3332 /* For packed formats, no y-plane, return 0 */
3333 if (y && fb->pixel_format != DRM_FORMAT_NV12) 3333 if (y && fb->format->format != DRM_FORMAT_NV12)
3334 return 0; 3334 return 0;
3335 3335
3336 /* For Non Y-tile return 8-blocks */ 3336 /* For Non Y-tile return 8-blocks */
@@ -3345,12 +3345,12 @@ skl_ddb_min_alloc(const struct drm_plane_state *pstate,
3345 swap(src_w, src_h); 3345 swap(src_w, src_h);
3346 3346
3347 /* Halve UV plane width and height for NV12 */ 3347 /* Halve UV plane width and height for NV12 */
3348 if (fb->pixel_format == DRM_FORMAT_NV12 && !y) { 3348 if (fb->format->format == DRM_FORMAT_NV12 && !y) {
3349 src_w /= 2; 3349 src_w /= 2;
3350 src_h /= 2; 3350 src_h /= 2;
3351 } 3351 }
3352 3352
3353 if (fb->pixel_format == DRM_FORMAT_NV12 && !y) 3353 if (fb->format->format == DRM_FORMAT_NV12 && !y)
3354 plane_bpp = fb->format->cpp[1]; 3354 plane_bpp = fb->format->cpp[1];
3355 else 3355 else
3356 plane_bpp = fb->format->cpp[0]; 3356 plane_bpp = fb->format->cpp[0];
@@ -3617,7 +3617,7 @@ static int skl_compute_plane_wm(const struct drm_i915_private *dev_priv,
3617 plane_pixel_rate = skl_adjusted_plane_pixel_rate(cstate, intel_pstate); 3617 plane_pixel_rate = skl_adjusted_plane_pixel_rate(cstate, intel_pstate);
3618 3618
3619 if (drm_rotation_90_or_270(pstate->rotation)) { 3619 if (drm_rotation_90_or_270(pstate->rotation)) {
3620 int cpp = (fb->pixel_format == DRM_FORMAT_NV12) ? 3620 int cpp = (fb->format->format == DRM_FORMAT_NV12) ?
3621 fb->format->cpp[1] : 3621 fb->format->cpp[1] :
3622 fb->format->cpp[0]; 3622 fb->format->cpp[0];
3623 3623
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
index b46c1794d3ac..ff766c0cb873 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -223,7 +223,7 @@ skl_update_plane(struct drm_plane *drm_plane,
223 PLANE_CTL_PIPE_GAMMA_ENABLE | 223 PLANE_CTL_PIPE_GAMMA_ENABLE |
224 PLANE_CTL_PIPE_CSC_ENABLE; 224 PLANE_CTL_PIPE_CSC_ENABLE;
225 225
226 plane_ctl |= skl_plane_ctl_format(fb->pixel_format); 226 plane_ctl |= skl_plane_ctl_format(fb->format->format);
227 plane_ctl |= skl_plane_ctl_tiling(fb->modifier); 227 plane_ctl |= skl_plane_ctl_tiling(fb->modifier);
228 228
229 plane_ctl |= skl_plane_ctl_rotation(rotation); 229 plane_ctl |= skl_plane_ctl_rotation(rotation);
@@ -357,7 +357,7 @@ vlv_update_plane(struct drm_plane *dplane,
357 357
358 sprctl = SP_ENABLE; 358 sprctl = SP_ENABLE;
359 359
360 switch (fb->pixel_format) { 360 switch (fb->format->format) {
361 case DRM_FORMAT_YUYV: 361 case DRM_FORMAT_YUYV:
362 sprctl |= SP_FORMAT_YUV422 | SP_YUV_ORDER_YUYV; 362 sprctl |= SP_FORMAT_YUV422 | SP_YUV_ORDER_YUYV;
363 break; 363 break;
@@ -443,7 +443,7 @@ vlv_update_plane(struct drm_plane *dplane,
443 sprctl |= SP_SOURCE_KEY; 443 sprctl |= SP_SOURCE_KEY;
444 444
445 if (IS_CHERRYVIEW(dev_priv) && pipe == PIPE_B) 445 if (IS_CHERRYVIEW(dev_priv) && pipe == PIPE_B)
446 chv_update_csc(intel_plane, fb->pixel_format); 446 chv_update_csc(intel_plane, fb->format->format);
447 447
448 I915_WRITE(SPSTRIDE(pipe, plane), fb->pitches[0]); 448 I915_WRITE(SPSTRIDE(pipe, plane), fb->pitches[0]);
449 I915_WRITE(SPPOS(pipe, plane), (crtc_y << 16) | crtc_x); 449 I915_WRITE(SPPOS(pipe, plane), (crtc_y << 16) | crtc_x);
@@ -502,7 +502,7 @@ ivb_update_plane(struct drm_plane *plane,
502 502
503 sprctl = SPRITE_ENABLE; 503 sprctl = SPRITE_ENABLE;
504 504
505 switch (fb->pixel_format) { 505 switch (fb->format->format) {
506 case DRM_FORMAT_XBGR8888: 506 case DRM_FORMAT_XBGR8888:
507 sprctl |= SPRITE_FORMAT_RGBX888 | SPRITE_RGB_ORDER_RGBX; 507 sprctl |= SPRITE_FORMAT_RGBX888 | SPRITE_RGB_ORDER_RGBX;
508 break; 508 break;
@@ -640,7 +640,7 @@ ilk_update_plane(struct drm_plane *plane,
640 640
641 dvscntr = DVS_ENABLE; 641 dvscntr = DVS_ENABLE;
642 642
643 switch (fb->pixel_format) { 643 switch (fb->format->format) {
644 case DRM_FORMAT_XBGR8888: 644 case DRM_FORMAT_XBGR8888:
645 dvscntr |= DVS_FORMAT_RGBX888 | DVS_RGB_ORDER_XBGR; 645 dvscntr |= DVS_FORMAT_RGBX888 | DVS_RGB_ORDER_XBGR;
646 break; 646 break;
@@ -866,7 +866,7 @@ intel_check_sprite_plane(struct drm_plane *plane,
866 src_y = src->y1 >> 16; 866 src_y = src->y1 >> 16;
867 src_h = drm_rect_height(src) >> 16; 867 src_h = drm_rect_height(src) >> 16;
868 868
869 if (format_is_yuv(fb->pixel_format)) { 869 if (format_is_yuv(fb->format->format)) {
870 src_x &= ~1; 870 src_x &= ~1;
871 src_w &= ~1; 871 src_w &= ~1;
872 872
diff --git a/drivers/gpu/drm/imx/ipuv3-plane.c b/drivers/gpu/drm/imx/ipuv3-plane.c
index f44a83656310..0b945f077344 100644
--- a/drivers/gpu/drm/imx/ipuv3-plane.c
+++ b/drivers/gpu/drm/imx/ipuv3-plane.c
@@ -92,8 +92,8 @@ drm_plane_state_to_ubo(struct drm_plane_state *state)
92 cma_obj = drm_fb_cma_get_gem_obj(fb, 1); 92 cma_obj = drm_fb_cma_get_gem_obj(fb, 1);
93 BUG_ON(!cma_obj); 93 BUG_ON(!cma_obj);
94 94
95 x /= drm_format_horz_chroma_subsampling(fb->pixel_format); 95 x /= drm_format_horz_chroma_subsampling(fb->format->format);
96 y /= drm_format_vert_chroma_subsampling(fb->pixel_format); 96 y /= drm_format_vert_chroma_subsampling(fb->format->format);
97 97
98 return cma_obj->paddr + fb->offsets[1] + fb->pitches[1] * y + 98 return cma_obj->paddr + fb->offsets[1] + fb->pitches[1] * y +
99 fb->format->cpp[1] * x - eba; 99 fb->format->cpp[1] * x - eba;
@@ -111,8 +111,8 @@ drm_plane_state_to_vbo(struct drm_plane_state *state)
111 cma_obj = drm_fb_cma_get_gem_obj(fb, 2); 111 cma_obj = drm_fb_cma_get_gem_obj(fb, 2);
112 BUG_ON(!cma_obj); 112 BUG_ON(!cma_obj);
113 113
114 x /= drm_format_horz_chroma_subsampling(fb->pixel_format); 114 x /= drm_format_horz_chroma_subsampling(fb->format->format);
115 y /= drm_format_vert_chroma_subsampling(fb->pixel_format); 115 y /= drm_format_vert_chroma_subsampling(fb->format->format);
116 116
117 return cma_obj->paddr + fb->offsets[2] + fb->pitches[2] * y + 117 return cma_obj->paddr + fb->offsets[2] + fb->pitches[2] * y +
118 fb->format->cpp[2] * x - eba; 118 fb->format->cpp[2] * x - eba;
@@ -281,7 +281,7 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
281 */ 281 */
282 if (old_fb && (state->src_w != old_state->src_w || 282 if (old_fb && (state->src_w != old_state->src_w ||
283 state->src_h != old_state->src_h || 283 state->src_h != old_state->src_h ||
284 fb->pixel_format != old_fb->pixel_format)) 284 fb->format->format != old_fb->format->format))
285 crtc_state->mode_changed = true; 285 crtc_state->mode_changed = true;
286 286
287 eba = drm_plane_state_to_eba(state); 287 eba = drm_plane_state_to_eba(state);
@@ -295,7 +295,7 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
295 if (old_fb && fb->pitches[0] != old_fb->pitches[0]) 295 if (old_fb && fb->pitches[0] != old_fb->pitches[0])
296 crtc_state->mode_changed = true; 296 crtc_state->mode_changed = true;
297 297
298 switch (fb->pixel_format) { 298 switch (fb->format->format) {
299 case DRM_FORMAT_YUV420: 299 case DRM_FORMAT_YUV420:
300 case DRM_FORMAT_YVU420: 300 case DRM_FORMAT_YVU420:
301 case DRM_FORMAT_YUV422: 301 case DRM_FORMAT_YUV422:
@@ -315,7 +315,7 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
315 if (vbo & 0x7 || vbo > 0xfffff8) 315 if (vbo & 0x7 || vbo > 0xfffff8)
316 return -EINVAL; 316 return -EINVAL;
317 317
318 if (old_fb && (fb->pixel_format == old_fb->pixel_format)) { 318 if (old_fb && (fb->format->format == old_fb->format->format)) {
319 old_vbo = drm_plane_state_to_vbo(old_state); 319 old_vbo = drm_plane_state_to_vbo(old_state);
320 if (vbo != old_vbo) 320 if (vbo != old_vbo)
321 crtc_state->mode_changed = true; 321 crtc_state->mode_changed = true;
@@ -332,7 +332,7 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
332 if (ubo & 0x7 || ubo > 0xfffff8) 332 if (ubo & 0x7 || ubo > 0xfffff8)
333 return -EINVAL; 333 return -EINVAL;
334 334
335 if (old_fb && (fb->pixel_format == old_fb->pixel_format)) { 335 if (old_fb && (fb->format->format == old_fb->format->format)) {
336 old_ubo = drm_plane_state_to_ubo(old_state); 336 old_ubo = drm_plane_state_to_ubo(old_state);
337 if (ubo != old_ubo) 337 if (ubo != old_ubo)
338 crtc_state->mode_changed = true; 338 crtc_state->mode_changed = true;
@@ -348,8 +348,8 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
348 * The x/y offsets must be even in case of horizontal/vertical 348 * The x/y offsets must be even in case of horizontal/vertical
349 * chroma subsampling. 349 * chroma subsampling.
350 */ 350 */
351 hsub = drm_format_horz_chroma_subsampling(fb->pixel_format); 351 hsub = drm_format_horz_chroma_subsampling(fb->format->format);
352 vsub = drm_format_vert_chroma_subsampling(fb->pixel_format); 352 vsub = drm_format_vert_chroma_subsampling(fb->format->format);
353 if (((state->src_x >> 16) & (hsub - 1)) || 353 if (((state->src_x >> 16) & (hsub - 1)) ||
354 ((state->src_y >> 16) & (vsub - 1))) 354 ((state->src_y >> 16) & (vsub - 1)))
355 return -EINVAL; 355 return -EINVAL;
@@ -392,13 +392,13 @@ static void ipu_plane_atomic_update(struct drm_plane *plane,
392 ipu_dp_set_global_alpha(ipu_plane->dp, true, 0, true); 392 ipu_dp_set_global_alpha(ipu_plane->dp, true, 0, true);
393 break; 393 break;
394 case IPU_DP_FLOW_SYNC_FG: 394 case IPU_DP_FLOW_SYNC_FG:
395 ics = ipu_drm_fourcc_to_colorspace(state->fb->pixel_format); 395 ics = ipu_drm_fourcc_to_colorspace(state->fb->format->format);
396 ipu_dp_setup_channel(ipu_plane->dp, ics, 396 ipu_dp_setup_channel(ipu_plane->dp, ics,
397 IPUV3_COLORSPACE_UNKNOWN); 397 IPUV3_COLORSPACE_UNKNOWN);
398 ipu_dp_set_window_pos(ipu_plane->dp, state->crtc_x, 398 ipu_dp_set_window_pos(ipu_plane->dp, state->crtc_x,
399 state->crtc_y); 399 state->crtc_y);
400 /* Enable local alpha on partial plane */ 400 /* Enable local alpha on partial plane */
401 switch (state->fb->pixel_format) { 401 switch (state->fb->format->format) {
402 case DRM_FORMAT_ARGB1555: 402 case DRM_FORMAT_ARGB1555:
403 case DRM_FORMAT_ABGR1555: 403 case DRM_FORMAT_ABGR1555:
404 case DRM_FORMAT_RGBA5551: 404 case DRM_FORMAT_RGBA5551:
@@ -421,11 +421,11 @@ static void ipu_plane_atomic_update(struct drm_plane *plane,
421 ipu_cpmem_zero(ipu_plane->ipu_ch); 421 ipu_cpmem_zero(ipu_plane->ipu_ch);
422 ipu_cpmem_set_resolution(ipu_plane->ipu_ch, state->src_w >> 16, 422 ipu_cpmem_set_resolution(ipu_plane->ipu_ch, state->src_w >> 16,
423 state->src_h >> 16); 423 state->src_h >> 16);
424 ipu_cpmem_set_fmt(ipu_plane->ipu_ch, state->fb->pixel_format); 424 ipu_cpmem_set_fmt(ipu_plane->ipu_ch, state->fb->format->format);
425 ipu_cpmem_set_high_priority(ipu_plane->ipu_ch); 425 ipu_cpmem_set_high_priority(ipu_plane->ipu_ch);
426 ipu_idmac_set_double_buffer(ipu_plane->ipu_ch, 1); 426 ipu_idmac_set_double_buffer(ipu_plane->ipu_ch, 1);
427 ipu_cpmem_set_stride(ipu_plane->ipu_ch, state->fb->pitches[0]); 427 ipu_cpmem_set_stride(ipu_plane->ipu_ch, state->fb->pitches[0]);
428 switch (fb->pixel_format) { 428 switch (fb->format->format) {
429 case DRM_FORMAT_YUV420: 429 case DRM_FORMAT_YUV420:
430 case DRM_FORMAT_YVU420: 430 case DRM_FORMAT_YVU420:
431 case DRM_FORMAT_YUV422: 431 case DRM_FORMAT_YUV422:
@@ -434,9 +434,9 @@ static void ipu_plane_atomic_update(struct drm_plane *plane,
434 case DRM_FORMAT_YVU444: 434 case DRM_FORMAT_YVU444:
435 ubo = drm_plane_state_to_ubo(state); 435 ubo = drm_plane_state_to_ubo(state);
436 vbo = drm_plane_state_to_vbo(state); 436 vbo = drm_plane_state_to_vbo(state);
437 if (fb->pixel_format == DRM_FORMAT_YVU420 || 437 if (fb->format->format == DRM_FORMAT_YVU420 ||
438 fb->pixel_format == DRM_FORMAT_YVU422 || 438 fb->format->format == DRM_FORMAT_YVU422 ||
439 fb->pixel_format == DRM_FORMAT_YVU444) 439 fb->format->format == DRM_FORMAT_YVU444)
440 swap(ubo, vbo); 440 swap(ubo, vbo);
441 441
442 ipu_cpmem_set_yuv_planar_full(ipu_plane->ipu_ch, 442 ipu_cpmem_set_yuv_planar_full(ipu_plane->ipu_ch,
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_plane.c b/drivers/gpu/drm/mediatek/mtk_drm_plane.c
index 71421923c592..e405e89ed5e5 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_plane.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_plane.c
@@ -133,7 +133,7 @@ static void mtk_plane_atomic_update(struct drm_plane *plane,
133 mtk_gem = to_mtk_gem_obj(gem); 133 mtk_gem = to_mtk_gem_obj(gem);
134 addr = mtk_gem->dma_addr; 134 addr = mtk_gem->dma_addr;
135 pitch = fb->pitches[0]; 135 pitch = fb->pitches[0];
136 format = fb->pixel_format; 136 format = fb->format->format;
137 137
138 addr += (plane->state->src.x1 >> 16) * fb->format->cpp[0]; 138 addr += (plane->state->src.x1 >> 16) * fb->format->cpp[0];
139 addr += (plane->state->src.y1 >> 16) * pitch; 139 addr += (plane->state->src.y1 >> 16) * pitch;
diff --git a/drivers/gpu/drm/meson/meson_plane.c b/drivers/gpu/drm/meson/meson_plane.c
index 4942ca090b46..642b2fab42ff 100644
--- a/drivers/gpu/drm/meson/meson_plane.c
+++ b/drivers/gpu/drm/meson/meson_plane.c
@@ -113,7 +113,7 @@ static void meson_plane_atomic_update(struct drm_plane *plane,
113 if (meson_vpu_is_compatible(priv, "amlogic,meson-gxbb-vpu")) 113 if (meson_vpu_is_compatible(priv, "amlogic,meson-gxbb-vpu"))
114 priv->viu.osd1_blk0_cfg[0] |= OSD_OUTPUT_COLOR_RGB; 114 priv->viu.osd1_blk0_cfg[0] |= OSD_OUTPUT_COLOR_RGB;
115 115
116 switch (fb->pixel_format) { 116 switch (fb->format->format) {
117 case DRM_FORMAT_XRGB8888: 117 case DRM_FORMAT_XRGB8888:
118 /* For XRGB, replace the pixel's alpha by 0xFF */ 118 /* For XRGB, replace the pixel's alpha by 0xFF */
119 writel_bits_relaxed(OSD_REPLACE_EN, OSD_REPLACE_EN, 119 writel_bits_relaxed(OSD_REPLACE_EN, OSD_REPLACE_EN,
diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c
index 911e4690d36a..53619d07677e 100644
--- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c
+++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c
@@ -43,7 +43,7 @@ enum mdp4_frame_format mdp4_get_frame_format(struct drm_framebuffer *fb)
43 if (fb->modifier == DRM_FORMAT_MOD_SAMSUNG_64_32_TILE) 43 if (fb->modifier == DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
44 is_tile = true; 44 is_tile = true;
45 45
46 if (fb->pixel_format == DRM_FORMAT_NV12 && is_tile) 46 if (fb->format->format == DRM_FORMAT_NV12 && is_tile)
47 return FRAME_TILE_YCBCR_420; 47 return FRAME_TILE_YCBCR_420;
48 48
49 return FRAME_LINEAR; 49 return FRAME_LINEAR;
diff --git a/drivers/gpu/drm/msm/msm_fb.c b/drivers/gpu/drm/msm/msm_fb.c
index 0649863d7fd7..5cf165c9c3a9 100644
--- a/drivers/gpu/drm/msm/msm_fb.c
+++ b/drivers/gpu/drm/msm/msm_fb.c
@@ -68,7 +68,7 @@ void msm_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m)
68 int i, n = fb->format->num_planes; 68 int i, n = fb->format->num_planes;
69 69
70 seq_printf(m, "fb: %dx%d@%4.4s (%2d, ID:%d)\n", 70 seq_printf(m, "fb: %dx%d@%4.4s (%2d, ID:%d)\n",
71 fb->width, fb->height, (char *)&fb->pixel_format, 71 fb->width, fb->height, (char *)&fb->format->format,
72 drm_framebuffer_read_refcount(fb), fb->base.id); 72 drm_framebuffer_read_refcount(fb), fb->base.id);
73 73
74 for (i = 0; i < n; i++) { 74 for (i = 0; i < n; i++) {
diff --git a/drivers/gpu/drm/mxsfb/mxsfb_crtc.c b/drivers/gpu/drm/mxsfb/mxsfb_crtc.c
index 081890336ce7..e10a4eda4078 100644
--- a/drivers/gpu/drm/mxsfb/mxsfb_crtc.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_crtc.c
@@ -46,7 +46,7 @@ static int mxsfb_set_pixel_fmt(struct mxsfb_drm_private *mxsfb)
46{ 46{
47 struct drm_crtc *crtc = &mxsfb->pipe.crtc; 47 struct drm_crtc *crtc = &mxsfb->pipe.crtc;
48 struct drm_device *drm = crtc->dev; 48 struct drm_device *drm = crtc->dev;
49 const u32 format = crtc->primary->state->fb->pixel_format; 49 const u32 format = crtc->primary->state->fb->format->format;
50 u32 ctrl, ctrl1; 50 u32 ctrl, ctrl1;
51 51
52 ctrl = CTRL_BYPASS_COUNT | CTRL_MASTER; 52 ctrl = CTRL_BYPASS_COUNT | CTRL_MASTER;
diff --git a/drivers/gpu/drm/nouveau/dispnv04/overlay.c b/drivers/gpu/drm/nouveau/dispnv04/overlay.c
index a79514d440b3..6275c270df25 100644
--- a/drivers/gpu/drm/nouveau/dispnv04/overlay.c
+++ b/drivers/gpu/drm/nouveau/dispnv04/overlay.c
@@ -145,16 +145,16 @@ nv10_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
145 nvif_wr32(dev, NV_PVIDEO_POINT_OUT(flip), crtc_y << 16 | crtc_x); 145 nvif_wr32(dev, NV_PVIDEO_POINT_OUT(flip), crtc_y << 16 | crtc_x);
146 nvif_wr32(dev, NV_PVIDEO_SIZE_OUT(flip), crtc_h << 16 | crtc_w); 146 nvif_wr32(dev, NV_PVIDEO_SIZE_OUT(flip), crtc_h << 16 | crtc_w);
147 147
148 if (fb->pixel_format != DRM_FORMAT_UYVY) 148 if (fb->format->format != DRM_FORMAT_UYVY)
149 format |= NV_PVIDEO_FORMAT_COLOR_LE_CR8YB8CB8YA8; 149 format |= NV_PVIDEO_FORMAT_COLOR_LE_CR8YB8CB8YA8;
150 if (fb->pixel_format == DRM_FORMAT_NV12) 150 if (fb->format->format == DRM_FORMAT_NV12)
151 format |= NV_PVIDEO_FORMAT_PLANAR; 151 format |= NV_PVIDEO_FORMAT_PLANAR;
152 if (nv_plane->iturbt_709) 152 if (nv_plane->iturbt_709)
153 format |= NV_PVIDEO_FORMAT_MATRIX_ITURBT709; 153 format |= NV_PVIDEO_FORMAT_MATRIX_ITURBT709;
154 if (nv_plane->colorkey & (1 << 24)) 154 if (nv_plane->colorkey & (1 << 24))
155 format |= NV_PVIDEO_FORMAT_DISPLAY_COLOR_KEY; 155 format |= NV_PVIDEO_FORMAT_DISPLAY_COLOR_KEY;
156 156
157 if (fb->pixel_format == DRM_FORMAT_NV12) { 157 if (fb->format->format == DRM_FORMAT_NV12) {
158 nvif_wr32(dev, NV_PVIDEO_UVPLANE_BASE(flip), 0); 158 nvif_wr32(dev, NV_PVIDEO_UVPLANE_BASE(flip), 0);
159 nvif_wr32(dev, NV_PVIDEO_UVPLANE_OFFSET_BUFF(flip), 159 nvif_wr32(dev, NV_PVIDEO_UVPLANE_OFFSET_BUFF(flip),
160 nv_fb->nvbo->bo.offset + fb->offsets[1]); 160 nv_fb->nvbo->bo.offset + fb->offsets[1]);
@@ -411,7 +411,7 @@ nv04_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
411 411
412 if (nv_plane->colorkey & (1 << 24)) 412 if (nv_plane->colorkey & (1 << 24))
413 overlay |= 0x10; 413 overlay |= 0x10;
414 if (fb->pixel_format == DRM_FORMAT_YUYV) 414 if (fb->format->format == DRM_FORMAT_YUYV)
415 overlay |= 0x100; 415 overlay |= 0x100;
416 416
417 nvif_wr32(dev, NV_PVIDEO_OVERLAY, overlay); 417 nvif_wr32(dev, NV_PVIDEO_OVERLAY, overlay);
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
index b617e5d3277a..cb85cb72dc1c 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -1153,7 +1153,7 @@ nv50_curs_acquire(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw,
1153 if (asyw->state.fb->width != asyw->state.fb->height) 1153 if (asyw->state.fb->width != asyw->state.fb->height)
1154 return -EINVAL; 1154 return -EINVAL;
1155 1155
1156 switch (asyw->state.fb->pixel_format) { 1156 switch (asyw->state.fb->format->format) {
1157 case DRM_FORMAT_ARGB8888: asyh->curs.format = 1; break; 1157 case DRM_FORMAT_ARGB8888: asyh->curs.format = 1; break;
1158 default: 1158 default:
1159 WARN_ON(1); 1159 WARN_ON(1);
@@ -1438,7 +1438,7 @@ nv50_base_acquire(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw,
1438 asyh->base.w = asyw->state.fb->width; 1438 asyh->base.w = asyw->state.fb->width;
1439 asyh->base.h = asyw->state.fb->height; 1439 asyh->base.h = asyw->state.fb->height;
1440 1440
1441 switch (fb->pixel_format) { 1441 switch (fb->format->format) {
1442 case DRM_FORMAT_C8 : asyw->image.format = 0x1e; break; 1442 case DRM_FORMAT_C8 : asyw->image.format = 0x1e; break;
1443 case DRM_FORMAT_RGB565 : asyw->image.format = 0xe8; break; 1443 case DRM_FORMAT_RGB565 : asyw->image.format = 0xe8; break;
1444 case DRM_FORMAT_XRGB1555 : 1444 case DRM_FORMAT_XRGB1555 :
diff --git a/drivers/gpu/drm/omapdrm/omap_fb.c b/drivers/gpu/drm/omapdrm/omap_fb.c
index c6ef457b9fca..bd6b94c38613 100644
--- a/drivers/gpu/drm/omapdrm/omap_fb.c
+++ b/drivers/gpu/drm/omapdrm/omap_fb.c
@@ -346,7 +346,7 @@ void omap_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m)
346 int i, n = fb->format->num_planes; 346 int i, n = fb->format->num_planes;
347 347
348 seq_printf(m, "fb: %dx%d@%4.4s\n", fb->width, fb->height, 348 seq_printf(m, "fb: %dx%d@%4.4s\n", fb->width, fb->height,
349 (char *)&fb->pixel_format); 349 (char *)&fb->format->format);
350 350
351 for (i = 0; i < n; i++) { 351 for (i = 0; i < n; i++) {
352 struct plane *plane = &omap_fb->planes[i]; 352 struct plane *plane = &omap_fb->planes[i];
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c
index 0d7f84f7d71d..3c492a0aa6bd 100644
--- a/drivers/gpu/drm/radeon/atombios_crtc.c
+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -1195,7 +1195,7 @@ static int dce4_crtc_do_set_base(struct drm_crtc *crtc,
1195 radeon_bo_get_tiling_flags(rbo, &tiling_flags, NULL); 1195 radeon_bo_get_tiling_flags(rbo, &tiling_flags, NULL);
1196 radeon_bo_unreserve(rbo); 1196 radeon_bo_unreserve(rbo);
1197 1197
1198 switch (target_fb->pixel_format) { 1198 switch (target_fb->format->format) {
1199 case DRM_FORMAT_C8: 1199 case DRM_FORMAT_C8:
1200 fb_format = (EVERGREEN_GRPH_DEPTH(EVERGREEN_GRPH_DEPTH_8BPP) | 1200 fb_format = (EVERGREEN_GRPH_DEPTH(EVERGREEN_GRPH_DEPTH_8BPP) |
1201 EVERGREEN_GRPH_FORMAT(EVERGREEN_GRPH_FORMAT_INDEXED)); 1201 EVERGREEN_GRPH_FORMAT(EVERGREEN_GRPH_FORMAT_INDEXED));
@@ -1261,7 +1261,7 @@ static int dce4_crtc_do_set_base(struct drm_crtc *crtc,
1261 break; 1261 break;
1262 default: 1262 default:
1263 DRM_ERROR("Unsupported screen format %s\n", 1263 DRM_ERROR("Unsupported screen format %s\n",
1264 drm_get_format_name(target_fb->pixel_format, &format_name)); 1264 drm_get_format_name(target_fb->format->format, &format_name));
1265 return -EINVAL; 1265 return -EINVAL;
1266 } 1266 }
1267 1267
@@ -1511,7 +1511,7 @@ static int avivo_crtc_do_set_base(struct drm_crtc *crtc,
1511 radeon_bo_get_tiling_flags(rbo, &tiling_flags, NULL); 1511 radeon_bo_get_tiling_flags(rbo, &tiling_flags, NULL);
1512 radeon_bo_unreserve(rbo); 1512 radeon_bo_unreserve(rbo);
1513 1513
1514 switch (target_fb->pixel_format) { 1514 switch (target_fb->format->format) {
1515 case DRM_FORMAT_C8: 1515 case DRM_FORMAT_C8:
1516 fb_format = 1516 fb_format =
1517 AVIVO_D1GRPH_CONTROL_DEPTH_8BPP | 1517 AVIVO_D1GRPH_CONTROL_DEPTH_8BPP |
@@ -1564,7 +1564,7 @@ static int avivo_crtc_do_set_base(struct drm_crtc *crtc,
1564 break; 1564 break;
1565 default: 1565 default:
1566 DRM_ERROR("Unsupported screen format %s\n", 1566 DRM_ERROR("Unsupported screen format %s\n",
1567 drm_get_format_name(target_fb->pixel_format, &format_name)); 1567 drm_get_format_name(target_fb->format->format, &format_name));
1568 return -EINVAL; 1568 return -EINVAL;
1569 } 1569 }
1570 1570
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c
index a74f8ed8ca2e..dcde6288da6c 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c
@@ -567,10 +567,10 @@ static int rcar_du_plane_atomic_check(struct drm_plane *plane,
567 return -EINVAL; 567 return -EINVAL;
568 } 568 }
569 569
570 rstate->format = rcar_du_format_info(state->fb->pixel_format); 570 rstate->format = rcar_du_format_info(state->fb->format->format);
571 if (rstate->format == NULL) { 571 if (rstate->format == NULL) {
572 dev_dbg(rcdu->dev, "%s: unsupported format %08x\n", __func__, 572 dev_dbg(rcdu->dev, "%s: unsupported format %08x\n", __func__,
573 state->fb->pixel_format); 573 state->fb->format->format);
574 return -EINVAL; 574 return -EINVAL;
575 } 575 }
576 576
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
index 83ebd162f3ef..b5bfbe50bd87 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
@@ -201,10 +201,10 @@ static int rcar_du_vsp_plane_atomic_check(struct drm_plane *plane,
201 return -EINVAL; 201 return -EINVAL;
202 } 202 }
203 203
204 rstate->format = rcar_du_format_info(state->fb->pixel_format); 204 rstate->format = rcar_du_format_info(state->fb->format->format);
205 if (rstate->format == NULL) { 205 if (rstate->format == NULL) {
206 dev_dbg(rcdu->dev, "%s: unsupported format %08x\n", __func__, 206 dev_dbg(rcdu->dev, "%s: unsupported format %08x\n", __func__,
207 state->fb->pixel_format); 207 state->fb->format->format);
208 return -EINVAL; 208 return -EINVAL;
209 } 209 }
210 210
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 50e085e74214..fb5f001f51c3 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -668,7 +668,7 @@ static int vop_plane_atomic_check(struct drm_plane *plane,
668 if (!state->visible) 668 if (!state->visible)
669 return 0; 669 return 0;
670 670
671 ret = vop_convert_format(fb->pixel_format); 671 ret = vop_convert_format(fb->format->format);
672 if (ret < 0) 672 if (ret < 0)
673 return ret; 673 return ret;
674 674
@@ -676,7 +676,7 @@ static int vop_plane_atomic_check(struct drm_plane *plane,
676 * Src.x1 can be odd when do clip, but yuv plane start point 676 * Src.x1 can be odd when do clip, but yuv plane start point
677 * need align with 2 pixel. 677 * need align with 2 pixel.
678 */ 678 */
679 if (is_yuv_support(fb->pixel_format) && ((state->src.x1 >> 16) % 2)) 679 if (is_yuv_support(fb->format->format) && ((state->src.x1 >> 16) % 2))
680 return -EINVAL; 680 return -EINVAL;
681 681
682 return 0; 682 return 0;
@@ -753,16 +753,16 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
753 offset += (src->y1 >> 16) * fb->pitches[0]; 753 offset += (src->y1 >> 16) * fb->pitches[0];
754 dma_addr = rk_obj->dma_addr + offset + fb->offsets[0]; 754 dma_addr = rk_obj->dma_addr + offset + fb->offsets[0];
755 755
756 format = vop_convert_format(fb->pixel_format); 756 format = vop_convert_format(fb->format->format);
757 757
758 spin_lock(&vop->reg_lock); 758 spin_lock(&vop->reg_lock);
759 759
760 VOP_WIN_SET(vop, win, format, format); 760 VOP_WIN_SET(vop, win, format, format);
761 VOP_WIN_SET(vop, win, yrgb_vir, fb->pitches[0] >> 2); 761 VOP_WIN_SET(vop, win, yrgb_vir, fb->pitches[0] >> 2);
762 VOP_WIN_SET(vop, win, yrgb_mst, dma_addr); 762 VOP_WIN_SET(vop, win, yrgb_mst, dma_addr);
763 if (is_yuv_support(fb->pixel_format)) { 763 if (is_yuv_support(fb->format->format)) {
764 int hsub = drm_format_horz_chroma_subsampling(fb->pixel_format); 764 int hsub = drm_format_horz_chroma_subsampling(fb->format->format);
765 int vsub = drm_format_vert_chroma_subsampling(fb->pixel_format); 765 int vsub = drm_format_vert_chroma_subsampling(fb->format->format);
766 int bpp = fb->format->cpp[1]; 766 int bpp = fb->format->cpp[1];
767 767
768 uv_obj = rockchip_fb_get_gem_obj(fb, 1); 768 uv_obj = rockchip_fb_get_gem_obj(fb, 1);
@@ -779,16 +779,16 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
779 if (win->phy->scl) 779 if (win->phy->scl)
780 scl_vop_cal_scl_fac(vop, win, actual_w, actual_h, 780 scl_vop_cal_scl_fac(vop, win, actual_w, actual_h,
781 drm_rect_width(dest), drm_rect_height(dest), 781 drm_rect_width(dest), drm_rect_height(dest),
782 fb->pixel_format); 782 fb->format->format);
783 783
784 VOP_WIN_SET(vop, win, act_info, act_info); 784 VOP_WIN_SET(vop, win, act_info, act_info);
785 VOP_WIN_SET(vop, win, dsp_info, dsp_info); 785 VOP_WIN_SET(vop, win, dsp_info, dsp_info);
786 VOP_WIN_SET(vop, win, dsp_st, dsp_st); 786 VOP_WIN_SET(vop, win, dsp_st, dsp_st);
787 787
788 rb_swap = has_rb_swapped(fb->pixel_format); 788 rb_swap = has_rb_swapped(fb->format->format);
789 VOP_WIN_SET(vop, win, rb_swap, rb_swap); 789 VOP_WIN_SET(vop, win, rb_swap, rb_swap);
790 790
791 if (is_alpha_support(fb->pixel_format)) { 791 if (is_alpha_support(fb->format->format)) {
792 VOP_WIN_SET(vop, win, dst_alpha_ctl, 792 VOP_WIN_SET(vop, win, dst_alpha_ctl,
793 DST_FACTOR_M0(ALPHA_SRC_INVERSE)); 793 DST_FACTOR_M0(ALPHA_SRC_INVERSE));
794 val = SRC_ALPHA_EN(1) | SRC_COLOR_M0(ALPHA_SRC_PRE_MUL) | 794 val = SRC_ALPHA_EN(1) | SRC_COLOR_M0(ALPHA_SRC_PRE_MUL) |
diff --git a/drivers/gpu/drm/shmobile/shmob_drm_crtc.c b/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
index dddbdd62bed0..445476551695 100644
--- a/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
+++ b/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
@@ -174,7 +174,7 @@ static void shmob_drm_crtc_start(struct shmob_drm_crtc *scrtc)
174 if (scrtc->started) 174 if (scrtc->started)
175 return; 175 return;
176 176
177 format = shmob_drm_format_info(crtc->primary->fb->pixel_format); 177 format = shmob_drm_format_info(crtc->primary->fb->format->format);
178 if (WARN_ON(format == NULL)) 178 if (WARN_ON(format == NULL))
179 return; 179 return;
180 180
@@ -376,10 +376,10 @@ static int shmob_drm_crtc_mode_set(struct drm_crtc *crtc,
376 const struct shmob_drm_format_info *format; 376 const struct shmob_drm_format_info *format;
377 void *cache; 377 void *cache;
378 378
379 format = shmob_drm_format_info(crtc->primary->fb->pixel_format); 379 format = shmob_drm_format_info(crtc->primary->fb->format->format);
380 if (format == NULL) { 380 if (format == NULL) {
381 dev_dbg(sdev->dev, "mode_set: unsupported format %08x\n", 381 dev_dbg(sdev->dev, "mode_set: unsupported format %08x\n",
382 crtc->primary->fb->pixel_format); 382 crtc->primary->fb->format->format);
383 return -EINVAL; 383 return -EINVAL;
384 } 384 }
385 385
diff --git a/drivers/gpu/drm/shmobile/shmob_drm_plane.c b/drivers/gpu/drm/shmobile/shmob_drm_plane.c
index 1805bb23b113..2023a93cee2b 100644
--- a/drivers/gpu/drm/shmobile/shmob_drm_plane.c
+++ b/drivers/gpu/drm/shmobile/shmob_drm_plane.c
@@ -183,10 +183,10 @@ shmob_drm_plane_update(struct drm_plane *plane, struct drm_crtc *crtc,
183 struct shmob_drm_device *sdev = plane->dev->dev_private; 183 struct shmob_drm_device *sdev = plane->dev->dev_private;
184 const struct shmob_drm_format_info *format; 184 const struct shmob_drm_format_info *format;
185 185
186 format = shmob_drm_format_info(fb->pixel_format); 186 format = shmob_drm_format_info(fb->format->format);
187 if (format == NULL) { 187 if (format == NULL) {
188 dev_dbg(sdev->dev, "update_plane: unsupported format %08x\n", 188 dev_dbg(sdev->dev, "update_plane: unsupported format %08x\n",
189 fb->pixel_format); 189 fb->format->format);
190 return -EINVAL; 190 return -EINVAL;
191 } 191 }
192 192
diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c
index 58316bd6d7d6..877d053d86f4 100644
--- a/drivers/gpu/drm/sti/sti_gdp.c
+++ b/drivers/gpu/drm/sti/sti_gdp.c
@@ -636,10 +636,10 @@ static int sti_gdp_atomic_check(struct drm_plane *drm_plane,
636 src_w = clamp_val(state->src_w >> 16, 0, GAM_GDP_SIZE_MAX); 636 src_w = clamp_val(state->src_w >> 16, 0, GAM_GDP_SIZE_MAX);
637 src_h = clamp_val(state->src_h >> 16, 0, GAM_GDP_SIZE_MAX); 637 src_h = clamp_val(state->src_h >> 16, 0, GAM_GDP_SIZE_MAX);
638 638
639 format = sti_gdp_fourcc2format(fb->pixel_format); 639 format = sti_gdp_fourcc2format(fb->format->format);
640 if (format == -1) { 640 if (format == -1) {
641 DRM_ERROR("Format not supported by GDP %.4s\n", 641 DRM_ERROR("Format not supported by GDP %.4s\n",
642 (char *)&fb->pixel_format); 642 (char *)&fb->format->format);
643 return -EINVAL; 643 return -EINVAL;
644 } 644 }
645 645
@@ -745,7 +745,7 @@ static void sti_gdp_atomic_update(struct drm_plane *drm_plane,
745 /* build the top field */ 745 /* build the top field */
746 top_field->gam_gdp_agc = GAM_GDP_AGC_FULL_RANGE; 746 top_field->gam_gdp_agc = GAM_GDP_AGC_FULL_RANGE;
747 top_field->gam_gdp_ctl = WAIT_NEXT_VSYNC; 747 top_field->gam_gdp_ctl = WAIT_NEXT_VSYNC;
748 format = sti_gdp_fourcc2format(fb->pixel_format); 748 format = sti_gdp_fourcc2format(fb->format->format);
749 top_field->gam_gdp_ctl |= format; 749 top_field->gam_gdp_ctl |= format;
750 top_field->gam_gdp_ctl |= sti_gdp_get_alpharange(format); 750 top_field->gam_gdp_ctl |= sti_gdp_get_alpharange(format);
751 top_field->gam_gdp_ppt &= ~GAM_GDP_PPT_IGNORE; 751 top_field->gam_gdp_ppt &= ~GAM_GDP_PPT_IGNORE;
@@ -753,7 +753,7 @@ static void sti_gdp_atomic_update(struct drm_plane *drm_plane,
753 cma_obj = drm_fb_cma_get_gem_obj(fb, 0); 753 cma_obj = drm_fb_cma_get_gem_obj(fb, 0);
754 754
755 DRM_DEBUG_DRIVER("drm FB:%d format:%.4s phys@:0x%lx\n", fb->base.id, 755 DRM_DEBUG_DRIVER("drm FB:%d format:%.4s phys@:0x%lx\n", fb->base.id,
756 (char *)&fb->pixel_format, 756 (char *)&fb->format->format,
757 (unsigned long)cma_obj->paddr); 757 (unsigned long)cma_obj->paddr);
758 758
759 /* pixel memory location */ 759 /* pixel memory location */
diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c
index f88130f2eb48..becf10d255c4 100644
--- a/drivers/gpu/drm/sti/sti_hqvdp.c
+++ b/drivers/gpu/drm/sti/sti_hqvdp.c
@@ -1147,7 +1147,7 @@ static void sti_hqvdp_atomic_update(struct drm_plane *drm_plane,
1147 cma_obj = drm_fb_cma_get_gem_obj(fb, 0); 1147 cma_obj = drm_fb_cma_get_gem_obj(fb, 0);
1148 1148
1149 DRM_DEBUG_DRIVER("drm FB:%d format:%.4s phys@:0x%lx\n", fb->base.id, 1149 DRM_DEBUG_DRIVER("drm FB:%d format:%.4s phys@:0x%lx\n", fb->base.id,
1150 (char *)&fb->pixel_format, 1150 (char *)&fb->format->format,
1151 (unsigned long)cma_obj->paddr); 1151 (unsigned long)cma_obj->paddr);
1152 1152
1153 /* Buffer planes address */ 1153 /* Buffer planes address */
diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c b/drivers/gpu/drm/sun4i/sun4i_backend.c
index a606207d4e25..a278e1f44661 100644
--- a/drivers/gpu/drm/sun4i/sun4i_backend.c
+++ b/drivers/gpu/drm/sun4i/sun4i_backend.c
@@ -189,7 +189,8 @@ int sun4i_backend_update_layer_formats(struct sun4i_backend *backend,
189 DRM_DEBUG_DRIVER("Switching display backend interlaced mode %s\n", 189 DRM_DEBUG_DRIVER("Switching display backend interlaced mode %s\n",
190 interlaced ? "on" : "off"); 190 interlaced ? "on" : "off");
191 191
192 ret = sun4i_backend_drm_format_to_layer(plane, fb->pixel_format, &val); 192 ret = sun4i_backend_drm_format_to_layer(plane, fb->format->format,
193 &val);
193 if (ret) { 194 if (ret) {
194 DRM_DEBUG_DRIVER("Invalid format\n"); 195 DRM_DEBUG_DRIVER("Invalid format\n");
195 return val; 196 return val;
diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c
index 642dcff87e34..7561a95a54e3 100644
--- a/drivers/gpu/drm/tegra/dc.c
+++ b/drivers/gpu/drm/tegra/dc.c
@@ -511,7 +511,7 @@ static int tegra_plane_atomic_check(struct drm_plane *plane,
511 if (!state->crtc) 511 if (!state->crtc)
512 return 0; 512 return 0;
513 513
514 err = tegra_dc_format(state->fb->pixel_format, &plane_state->format, 514 err = tegra_dc_format(state->fb->format->format, &plane_state->format,
515 &plane_state->swap); 515 &plane_state->swap);
516 if (err < 0) 516 if (err < 0)
517 return err; 517 return err;
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
index 0dc96e12fd06..47c2fe659fe3 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
@@ -399,7 +399,7 @@ static void tilcdc_crtc_set_mode(struct drm_crtc *crtc)
399 if (info->tft_alt_mode) 399 if (info->tft_alt_mode)
400 reg |= LCDC_TFT_ALT_ENABLE; 400 reg |= LCDC_TFT_ALT_ENABLE;
401 if (priv->rev == 2) { 401 if (priv->rev == 2) {
402 switch (fb->pixel_format) { 402 switch (fb->format->format) {
403 case DRM_FORMAT_BGR565: 403 case DRM_FORMAT_BGR565:
404 case DRM_FORMAT_RGB565: 404 case DRM_FORMAT_RGB565:
405 break; 405 break;
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_plane.c b/drivers/gpu/drm/tilcdc/tilcdc_plane.c
index c0fc874e91cf..4b7519dfd1b9 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_plane.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_plane.c
@@ -77,7 +77,7 @@ static int tilcdc_plane_atomic_check(struct drm_plane *plane,
77 } 77 }
78 78
79 if (state->fb && old_state->fb && 79 if (state->fb && old_state->fb &&
80 state->fb->pixel_format != old_state->fb->pixel_format) { 80 state->fb->format->format != old_state->fb->format->format) {
81 dev_dbg(plane->dev->dev, 81 dev_dbg(plane->dev->dev,
82 "%s(): pixel format change requires mode_change\n", 82 "%s(): pixel format change requires mode_change\n",
83 __func__); 83 __func__);
diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c
index f84f6bddd015..110d1518f5d5 100644
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -295,7 +295,7 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state)
295 struct drm_framebuffer *fb = state->fb; 295 struct drm_framebuffer *fb = state->fb;
296 struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0); 296 struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0);
297 u32 subpixel_src_mask = (1 << 16) - 1; 297 u32 subpixel_src_mask = (1 << 16) - 1;
298 u32 format = fb->pixel_format; 298 u32 format = fb->format->format;
299 int num_planes = fb->format->num_planes; 299 int num_planes = fb->format->num_planes;
300 u32 h_subsample = 1; 300 u32 h_subsample = 1;
301 u32 v_subsample = 1; 301 u32 v_subsample = 1;
@@ -496,7 +496,7 @@ static int vc4_plane_mode_set(struct drm_plane *plane,
496 struct vc4_plane_state *vc4_state = to_vc4_plane_state(state); 496 struct vc4_plane_state *vc4_state = to_vc4_plane_state(state);
497 struct drm_framebuffer *fb = state->fb; 497 struct drm_framebuffer *fb = state->fb;
498 u32 ctl0_offset = vc4_state->dlist_count; 498 u32 ctl0_offset = vc4_state->dlist_count;
499 const struct hvs_format *format = vc4_get_hvs_format(fb->pixel_format); 499 const struct hvs_format *format = vc4_get_hvs_format(fb->format->format);
500 int num_planes = drm_format_num_planes(format->drm); 500 int num_planes = drm_format_num_planes(format->drm);
501 u32 scl0, scl1; 501 u32 scl0, scl1;
502 u32 lbm_size; 502 u32 lbm_size;
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
index 58643c5ca1d7..867a8442220c 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
@@ -488,7 +488,7 @@ static int vmw_fb_kms_framebuffer(struct fb_info *info)
488 cur_fb = par->set_fb; 488 cur_fb = par->set_fb;
489 if (cur_fb && cur_fb->width == mode_cmd.width && 489 if (cur_fb && cur_fb->width == mode_cmd.width &&
490 cur_fb->height == mode_cmd.height && 490 cur_fb->height == mode_cmd.height &&
491 cur_fb->pixel_format == mode_cmd.pixel_format && 491 cur_fb->format->format == mode_cmd.pixel_format &&
492 cur_fb->pitches[0] == mode_cmd.pitches[0]) 492 cur_fb->pitches[0] == mode_cmd.pitches[0])
493 return 0; 493 return 0;
494 494
diff --git a/drivers/gpu/drm/zte/zx_plane.c b/drivers/gpu/drm/zte/zx_plane.c
index 72d27b0a48b2..b634b090cdc1 100644
--- a/drivers/gpu/drm/zte/zx_plane.c
+++ b/drivers/gpu/drm/zte/zx_plane.c
@@ -146,7 +146,7 @@ static void zx_gl_plane_atomic_update(struct drm_plane *plane,
146 if (!fb) 146 if (!fb)
147 return; 147 return;
148 148
149 format = fb->pixel_format; 149 format = fb->format->format;
150 stride = fb->pitches[0]; 150 stride = fb->pitches[0];
151 151
152 src_x = plane->state->src_x >> 16; 152 src_x = plane->state->src_x >> 16;