[Intel-gfx] [PATCH 1/2] drm/i915: Replace initial plane_config.tiling with fb modifier
David Weinehall
tao at kernel.org
Wed Aug 24 08:47:22 UTC 2016
On Wed, Aug 24, 2016 at 08:20:31AM +0100, Chris Wilson wrote:
> When determining the initial plane config we set the same information in
> both the framebuffer (fb.modifier[0]) and in plane_config.tiling.
> Ultimately, we only need the information in the framebuffer so remove
> the redundant copy from plane_config.tiling
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/intel_display.c | 23 +++++++----------------
> drivers/gpu/drm/i915/intel_drv.h | 1 -
> 2 files changed, 7 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index d61c264d5a37..e363a68d97ed 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -2700,7 +2700,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
> return false;
> }
>
> - if (plane_config->tiling == I915_TILING_X)
> + if (fb->modifier[0] == I915_FORMAT_MOD_X_TILED)
> obj->tiling_and_stride = fb->pitches[0] | I915_TILING_X;
>
> mode_cmd.pixel_format = fb->pixel_format;
> @@ -8730,12 +8730,8 @@ i9xx_get_initial_plane_config(struct intel_crtc *crtc,
>
> fb = &intel_fb->base;
>
> - if (INTEL_INFO(dev)->gen >= 4) {
> - if (val & DISPPLANE_TILED) {
> - plane_config->tiling = I915_TILING_X;
> - fb->modifier[0] = I915_FORMAT_MOD_X_TILED;
> - }
> - }
> + if (INTEL_GEN(dev) >= 4 && val & DISPPLANE_TILED)
> + fb->modifier[0] = I915_FORMAT_MOD_X_TILED;
dev_priv
>
> pixel_format = val & DISPPLANE_PIXFORMAT_MASK;
> fourcc = i9xx_format_to_fourcc(pixel_format);
> @@ -8743,7 +8739,7 @@ i9xx_get_initial_plane_config(struct intel_crtc *crtc,
> fb->bits_per_pixel = drm_format_plane_cpp(fourcc, 0) * 8;
>
> if (INTEL_INFO(dev)->gen >= 4) {
> - if (plane_config->tiling)
> + if (fb->modifier[0] == I915_FORMAT_MOD_X_TILED)
> offset = I915_READ(DSPTILEOFF(plane));
> else
> offset = I915_READ(DSPLINOFF(plane));
> @@ -9756,7 +9752,6 @@ skylake_get_initial_plane_config(struct intel_crtc *crtc,
> fb->modifier[0] = DRM_FORMAT_MOD_NONE;
> break;
> case PLANE_CTL_TILED_X:
> - plane_config->tiling = I915_TILING_X;
> fb->modifier[0] = I915_FORMAT_MOD_X_TILED;
> break;
> case PLANE_CTL_TILED_Y:
> @@ -9851,12 +9846,8 @@ ironlake_get_initial_plane_config(struct intel_crtc *crtc,
>
> fb = &intel_fb->base;
>
> - if (INTEL_INFO(dev)->gen >= 4) {
> - if (val & DISPPLANE_TILED) {
> - plane_config->tiling = I915_TILING_X;
> - fb->modifier[0] = I915_FORMAT_MOD_X_TILED;
> - }
> - }
> + if (INTEL_GEN(dev) >= 4 && val & DISPPLANE_TILED)
> + fb->modifier[0] = I915_FORMAT_MOD_X_TILED;
dev_priv
>
> pixel_format = val & DISPPLANE_PIXFORMAT_MASK;
> fourcc = i9xx_format_to_fourcc(pixel_format);
> @@ -9867,7 +9858,7 @@ ironlake_get_initial_plane_config(struct intel_crtc *crtc,
> if (IS_HASWELL(dev) || IS_BROADWELL(dev)) {
> offset = I915_READ(DSPOFFSET(pipe));
> } else {
> - if (plane_config->tiling)
> + if (fb->modifier[0] == I915_FORMAT_MOD_X_TILED)
> offset = I915_READ(DSPTILEOFF(pipe));
> else
> offset = I915_READ(DSPLINOFF(pipe));
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 37cad7c779b3..3ee156aab938 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -400,7 +400,6 @@ struct intel_plane_state {
>
> struct intel_initial_plane_config {
> struct intel_framebuffer *fb;
> - unsigned int tiling;
> int size;
> u32 base;
> };
Kind regards, David
More information about the Intel-gfx
mailing list