]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe: Move the FORCE_WC assert into __xe_pin_fb_vma()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 8 May 2026 14:34:17 +0000 (17:34 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 11 May 2026 14:43:24 +0000 (17:43 +0300)
No need to bother the higher level pinning code with the
FORCE_WC assert. Move it into the lower level function.

This also introduces the check to intel_fb_pin_to_ggtt(), which
(for the moment) is still used for the fbdev bo setup. But this
is all display stuff we're talking about here so having the check
is correct everywhere.

v2: Pimp the commit message a bit (Jani)

Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20260508143426.26504-8-ville.syrjala@linux.intel.com
drivers/gpu/drm/xe/display/xe_fb_pin.c

index 0da1fbcb82d54b83fdd14e98a4d4fc2f2d528ebf..21cc38dadb180d2426abaf1f70e99904183cf310 100644 (file)
@@ -328,6 +328,9 @@ static struct i915_vma *__xe_pin_fb_vma(struct drm_gem_object *obj, bool is_dpt,
        struct drm_exec exec;
        int ret = 0;
 
+       /* We reject creating !SCANOUT fb's, so this is weird.. */
+       drm_WARN_ON(bo->ttm.base.dev, !(bo->flags & XE_BO_FLAG_FORCE_WC));
+
        if (!vma)
                return ERR_PTR(-ENODEV);
 
@@ -473,7 +476,6 @@ int intel_plane_pin_fb(struct intel_plane_state *new_plane_state,
 {
        struct drm_framebuffer *fb = new_plane_state->hw.fb;
        struct drm_gem_object *obj = intel_fb_bo(fb);
-       struct xe_bo *bo = gem_to_xe_bo(obj);
        struct i915_vma *vma;
        struct intel_plane *plane = to_intel_plane(new_plane_state->uapi.plane);
        struct intel_fb_pin_params pin_params = {
@@ -485,9 +487,6 @@ int intel_plane_pin_fb(struct intel_plane_state *new_plane_state,
        if (reuse_vma(new_plane_state, old_plane_state))
                return 0;
 
-       /* We reject creating !SCANOUT fb's, so this is weird.. */
-       drm_WARN_ON(bo->ttm.base.dev, !(bo->flags & XE_BO_FLAG_FORCE_WC));
-
        vma = __xe_pin_fb_vma(obj, intel_fb_uses_dpt(fb), &pin_params);
 
        if (IS_ERR(vma))