Re: [PATCH 08/16] drm/xe: Kill the fbdev vma reuse hack

Jani Nikula
2026-04-24T10:06:28Z

On Thu, 23 Apr 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> This fbdev vma reuse hacks is a massive layering violation. It
> really does not belong in the fb pinning code. And it's in the
> way of properly abstracting this stuff, so kill it.

Might mention what the fallout is. Need to create a new vma etc.

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

> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/xe/display/xe_fb_pin.c | 10 ----------
> 1 file changed, 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> index 487c092cd000..bbeb5c2a6c51 100644
> --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
> +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
> @@ -10,7 +10,6 @@
> #include "intel_display_types.h"
> #include "intel_fb.h"
> #include "intel_fb_pin.h"
> -#include "intel_fbdev.h"
> #include "xe_bo.h"
> #include "xe_device.h"
> #include "xe_display_vma.h"
> @@ -432,10 +431,7 @@ void intel_fb_unpin_vma(struct i915_vma *vma, int fence_id)
> static bool reuse_vma(struct intel_plane_state *new_plane_state,
> const struct intel_plane_state *old_plane_state)
> {
> - struct intel_framebuffer *fb = to_intel_framebuffer(new_plane_state->hw.fb);
> struct intel_plane *plane = to_intel_plane(new_plane_state->uapi.plane);
> - struct xe_device *xe = to_xe_device(fb->base.dev);
> - struct intel_display *display = xe->display;
> struct i915_vma *vma;
>
> if (old_plane_state->hw.fb == new_plane_state->hw.fb &&
> @@ -446,12 +442,6 @@ static bool reuse_vma(struct intel_plane_state *new_plane_state,
> goto found;
> }
>
> - if (fb == intel_fbdev_framebuffer(display->fbdev.fbdev)) {
> - vma = intel_fbdev_vma_pointer(display->fbdev.fbdev);
> - if (vma)
> - goto found;
> - }
> -
> return false;
>
> found:

--
Jani Nikula, Intel