|
@@ -2455,7 +2455,7 @@ u32 intel_compute_tile_offset(int *x, int *y,
|
|
|
u32 alignment;
|
|
|
|
|
|
/* AUX_DIST needs only 4K alignment */
|
|
|
- if (fb->pixel_format == DRM_FORMAT_NV12 && plane == 1)
|
|
|
+ if (fb->format->format == DRM_FORMAT_NV12 && plane == 1)
|
|
|
alignment = 4096;
|
|
|
else
|
|
|
alignment = intel_surf_alignment(dev_priv, fb->modifier);
|
|
@@ -2700,7 +2700,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
|
|
|
if (plane_config->tiling == I915_TILING_X)
|
|
|
obj->tiling_and_stride = fb->pitches[0] | I915_TILING_X;
|
|
|
|
|
|
- mode_cmd.pixel_format = fb->pixel_format;
|
|
|
+ mode_cmd.pixel_format = fb->format->format;
|
|
|
mode_cmd.width = fb->width;
|
|
|
mode_cmd.height = fb->height;
|
|
|
mode_cmd.pitches[0] = fb->pitches[0];
|
|
@@ -2976,7 +2976,7 @@ int skl_check_plane_surface(struct intel_plane_state *plane_state)
|
|
|
* Handle the AUX surface first since
|
|
|
* the main surface setup depends on it.
|
|
|
*/
|
|
|
- if (fb->pixel_format == DRM_FORMAT_NV12) {
|
|
|
+ if (fb->format->format == DRM_FORMAT_NV12) {
|
|
|
ret = skl_check_nv12_aux_surface(plane_state);
|
|
|
if (ret)
|
|
|
return ret;
|
|
@@ -3031,7 +3031,7 @@ static void i9xx_update_primary_plane(struct drm_plane *primary,
|
|
|
I915_WRITE(PRIMCNSTALPHA(plane), 0);
|
|
|
}
|
|
|
|
|
|
- switch (fb->pixel_format) {
|
|
|
+ switch (fb->format->format) {
|
|
|
case DRM_FORMAT_C8:
|
|
|
dspcntr |= DISPPLANE_8BPP;
|
|
|
break;
|
|
@@ -3146,7 +3146,7 @@ static void ironlake_update_primary_plane(struct drm_plane *primary,
|
|
|
if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv))
|
|
|
dspcntr |= DISPPLANE_PIPE_CSC_ENABLE;
|
|
|
|
|
|
- switch (fb->pixel_format) {
|
|
|
+ switch (fb->format->format) {
|
|
|
case DRM_FORMAT_C8:
|
|
|
dspcntr |= DISPPLANE_8BPP;
|
|
|
break;
|
|
@@ -3282,7 +3282,7 @@ u32 skl_plane_stride(const struct drm_framebuffer *fb, int plane,
|
|
|
stride /= intel_tile_height(dev_priv, fb->modifier, cpp);
|
|
|
} else {
|
|
|
stride /= intel_fb_stride_alignment(dev_priv, fb->modifier,
|
|
|
- fb->pixel_format);
|
|
|
+ fb->format->format);
|
|
|
}
|
|
|
|
|
|
return stride;
|
|
@@ -3396,7 +3396,7 @@ static void skylake_update_primary_plane(struct drm_plane *plane,
|
|
|
PLANE_CTL_PIPE_GAMMA_ENABLE |
|
|
|
PLANE_CTL_PIPE_CSC_ENABLE;
|
|
|
|
|
|
- plane_ctl |= skl_plane_ctl_format(fb->pixel_format);
|
|
|
+ plane_ctl |= skl_plane_ctl_format(fb->format->format);
|
|
|
plane_ctl |= skl_plane_ctl_tiling(fb->modifier);
|
|
|
plane_ctl |= PLANE_CTL_PLANE_GAMMA_DISABLE;
|
|
|
plane_ctl |= skl_plane_ctl_rotation(rotation);
|
|
@@ -4768,7 +4768,7 @@ static int skl_update_scaler_plane(struct intel_crtc_state *crtc_state,
|
|
|
}
|
|
|
|
|
|
/* Check src format */
|
|
|
- switch (fb->pixel_format) {
|
|
|
+ switch (fb->format->format) {
|
|
|
case DRM_FORMAT_RGB565:
|
|
|
case DRM_FORMAT_XBGR8888:
|
|
|
case DRM_FORMAT_XRGB8888:
|
|
@@ -4784,7 +4784,7 @@ static int skl_update_scaler_plane(struct intel_crtc_state *crtc_state,
|
|
|
default:
|
|
|
DRM_DEBUG_KMS("[PLANE:%d:%s] FB:%d unsupported scaling format 0x%x\n",
|
|
|
intel_plane->base.base.id, intel_plane->base.name,
|
|
|
- fb->base.id, fb->pixel_format);
|
|
|
+ fb->base.id, fb->format->format);
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
@@ -8714,7 +8714,6 @@ i9xx_get_initial_plane_config(struct intel_crtc *crtc,
|
|
|
|
|
|
pixel_format = val & DISPPLANE_PIXFORMAT_MASK;
|
|
|
fourcc = i9xx_format_to_fourcc(pixel_format);
|
|
|
- fb->pixel_format = fourcc;
|
|
|
fb->format = drm_format_info(fourcc);
|
|
|
|
|
|
if (INTEL_GEN(dev_priv) >= 4) {
|
|
@@ -8736,7 +8735,7 @@ i9xx_get_initial_plane_config(struct intel_crtc *crtc,
|
|
|
fb->pitches[0] = val & 0xffffffc0;
|
|
|
|
|
|
aligned_height = intel_fb_align_height(dev, fb->height,
|
|
|
- fb->pixel_format,
|
|
|
+ fb->format->format,
|
|
|
fb->modifier);
|
|
|
|
|
|
plane_config->size = fb->pitches[0] * aligned_height;
|
|
@@ -9745,7 +9744,6 @@ skylake_get_initial_plane_config(struct intel_crtc *crtc,
|
|
|
fourcc = skl_format_to_fourcc(pixel_format,
|
|
|
val & PLANE_CTL_ORDER_RGBX,
|
|
|
val & PLANE_CTL_ALPHA_MASK);
|
|
|
- fb->pixel_format = fourcc;
|
|
|
fb->format = drm_format_info(fourcc);
|
|
|
|
|
|
tiling = val & PLANE_CTL_TILED_MASK;
|
|
@@ -9779,11 +9777,11 @@ skylake_get_initial_plane_config(struct intel_crtc *crtc,
|
|
|
|
|
|
val = I915_READ(PLANE_STRIDE(pipe, 0));
|
|
|
stride_mult = intel_fb_stride_alignment(dev_priv, fb->modifier,
|
|
|
- fb->pixel_format);
|
|
|
+ fb->format->format);
|
|
|
fb->pitches[0] = (val & 0x3ff) * stride_mult;
|
|
|
|
|
|
aligned_height = intel_fb_align_height(dev, fb->height,
|
|
|
- fb->pixel_format,
|
|
|
+ fb->format->format,
|
|
|
fb->modifier);
|
|
|
|
|
|
plane_config->size = fb->pitches[0] * aligned_height;
|
|
@@ -9860,7 +9858,6 @@ ironlake_get_initial_plane_config(struct intel_crtc *crtc,
|
|
|
|
|
|
pixel_format = val & DISPPLANE_PIXFORMAT_MASK;
|
|
|
fourcc = i9xx_format_to_fourcc(pixel_format);
|
|
|
- fb->pixel_format = fourcc;
|
|
|
fb->format = drm_format_info(fourcc);
|
|
|
|
|
|
base = I915_READ(DSPSURF(pipe)) & 0xfffff000;
|
|
@@ -9882,7 +9879,7 @@ ironlake_get_initial_plane_config(struct intel_crtc *crtc,
|
|
|
fb->pitches[0] = val & 0xffffffc0;
|
|
|
|
|
|
aligned_height = intel_fb_align_height(dev, fb->height,
|
|
|
- fb->pixel_format,
|
|
|
+ fb->format->format,
|
|
|
fb->modifier);
|
|
|
|
|
|
plane_config->size = fb->pitches[0] * aligned_height;
|
|
@@ -12150,7 +12147,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
|
|
|
return -EBUSY;
|
|
|
|
|
|
/* Can't change pixel format via MI display flips. */
|
|
|
- if (fb->pixel_format != crtc->primary->fb->pixel_format)
|
|
|
+ if (fb->format->format != crtc->primary->fb->format->format)
|
|
|
return -EINVAL;
|
|
|
|
|
|
/*
|
|
@@ -12847,7 +12844,7 @@ static void intel_dump_pipe_config(struct intel_crtc *crtc,
|
|
|
DRM_DEBUG_KMS("[PLANE:%d:%s] FB:%d, fb = %ux%u format = %s\n",
|
|
|
plane->base.id, plane->name,
|
|
|
fb->base.id, fb->width, fb->height,
|
|
|
- drm_get_format_name(fb->pixel_format, &format_name));
|
|
|
+ drm_get_format_name(fb->format->format, &format_name));
|
|
|
if (INTEL_GEN(dev_priv) >= 9)
|
|
|
DRM_DEBUG_KMS("\tscaler:%d src %dx%d+%d+%d dst %dx%d+%d+%d\n",
|
|
|
state->scaler_id,
|