[PATCH v2 3/6] drm/i915: Move the intel_dpt_offset() check into intel_plane_pin_fb()

Jani Nikula jani.nikula at linux.intel.com
Thu Apr 10 08:51:01 UTC 2025


On Wed, 02 Apr 2025, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Now that we handle all the other vma offset stuff in
> intel_plane_pin_fb() it seems more proper to do the
> dpt_vma offset check there as well.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula at intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_fb_pin.c        | 7 +++++++
>  drivers/gpu/drm/i915/display/skl_universal_plane.c | 6 ------
>  2 files changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fb_pin.c b/drivers/gpu/drm/i915/display/intel_fb_pin.c
> index f2d8675dd98a..a5b9d87b2255 100644
> --- a/drivers/gpu/drm/i915/display/intel_fb_pin.c
> +++ b/drivers/gpu/drm/i915/display/intel_fb_pin.c
> @@ -259,6 +259,7 @@ intel_plane_fb_vtd_guard(const struct intel_plane_state *plane_state)
>  int intel_plane_pin_fb(struct intel_plane_state *plane_state,
>  		       const struct intel_plane_state *old_plane_state)
>  {
> +	struct intel_display *display = to_intel_display(plane_state);
>  	struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
>  	const struct intel_framebuffer *fb =
>  		to_intel_framebuffer(plane_state->hw.fb);
> @@ -297,6 +298,12 @@ int intel_plane_pin_fb(struct intel_plane_state *plane_state,
>  		plane_state->dpt_vma = vma;
>  
>  		WARN_ON(plane_state->ggtt_vma == plane_state->dpt_vma);
> +
> +		/*
> +		 * The DPT object contains only one vma, so
> +		 * the VMA's offset within the DPT is always 0.
> +		 */
> +		drm_WARN_ON(display->drm, intel_dpt_offset(plane_state->dpt_vma));
>  	}
>  
>  	/*
> diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> index b82a9e07350b..808580826b0e 100644
> --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> @@ -1271,12 +1271,6 @@ static u32 skl_surf_address(const struct intel_plane_state *plane_state,
>  	u32 offset = plane_state->view.color_plane[color_plane].offset;
>  
>  	if (intel_fb_uses_dpt(fb)) {
> -		/*
> -		 * The DPT object contains only one vma, so the VMA's offset
> -		 * within the DPT is always 0.
> -		 */
> -		drm_WARN_ON(display->drm, plane_state->dpt_vma &&
> -			    intel_dpt_offset(plane_state->dpt_vma));
>  		drm_WARN_ON(display->drm, offset & 0x1fffff);
>  		return offset >> 9;
>  	} else {

-- 
Jani Nikula, Intel


More information about the Intel-gfx mailing list