[Intel-gfx] [PATCH v2 17/25] drm/i915: Store the normal view FB pitch in FB's intel_fb_view

Ville Syrjälä ville.syrjala at linux.intel.com
Fri Mar 26 16:34:43 UTC 2021


On Thu, Mar 25, 2021 at 11:48:00PM +0200, Imre Deak wrote:
> Instead of special casing getting the pitch for the normal view, store
> it during FB creation to the FB normal view struct and retrive it from
> there during atomic check, as it's done for the rotated view. A
> follow-up patch does the same for a new FB remapped view.
> 
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Imre Deak <imre.deak at intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_fb.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c
> index b223e16eb6a22..31fd8480f707e 100644
> --- a/drivers/gpu/drm/i915/display/intel_fb.c
> +++ b/drivers/gpu/drm/i915/display/intel_fb.c
> @@ -484,12 +484,14 @@ static bool intel_plane_can_remap(const struct intel_plane_state *plane_state)
>  	return true;
>  }
>  
> -int intel_fb_pitch(const struct drm_framebuffer *fb, int color_plane, unsigned int rotation)
> +int intel_fb_pitch(const struct drm_framebuffer *drm_fb, int color_plane, unsigned int rotation)
>  {
> +	struct intel_framebuffer *fb = to_intel_framebuffer(drm_fb);
> +
>  	if (drm_rotation_90_or_270(rotation))
> -		return to_intel_framebuffer(fb)->rotated_view.color_plane[color_plane].pitch;
> +		return fb->rotated_view.color_plane[color_plane].pitch;
>  	else
> -		return fb->pitches[color_plane];
> +		return fb->normal_view.color_plane[color_plane].pitch;
>  }
>  
>  static bool intel_plane_needs_remap(const struct intel_plane_state *plane_state)
> @@ -744,6 +746,7 @@ int intel_fill_fb_info(struct drm_i915_private *i915, struct drm_framebuffer *fb
>  		 */
>  		intel_fb->normal_view.color_plane[i].x = x;
>  		intel_fb->normal_view.color_plane[i].y = y;
> +		intel_fb->normal_view.color_plane[i].pitch = intel_fb->base.pitches[i];
>  
>  		offset = calc_plane_aligned_offset(intel_fb, i, &x, &y);
>  
> -- 
> 2.25.1

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list