drm/i915/display: Use i915_gem_object_get_dma_address to get dma address
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Wed, 25 Oct 2023 10:11:31 +0000 (12:11 +0200)
committerMaarten Lankhorst <dev@lankhorst.se>
Thu, 7 Dec 2023 11:38:25 +0000 (12:38 +0100)
Works better for xe like that. obj is no longer const.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231204134946.16219-1-maarten.lankhorst@linux.intel.com
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
drivers/gpu/drm/i915/display/intel_cursor.c

index a515ae2831f800eab6d5094daef3d389ef7d8591..926e2de00eb5820a1ca1e31d538f90b9eaa1bf62 100644 (file)
@@ -24,6 +24,8 @@
 #include "intel_psr_regs.h"
 #include "skl_watermark.h"
 
+#include "gem/i915_gem_object.h"
+
 /* Cursor formats */
 static const u32 intel_cursor_formats[] = {
        DRM_FORMAT_ARGB8888,
@@ -34,11 +36,11 @@ static u32 intel_cursor_base(const struct intel_plane_state *plane_state)
        struct drm_i915_private *dev_priv =
                to_i915(plane_state->uapi.plane->dev);
        const struct drm_framebuffer *fb = plane_state->hw.fb;
-       const struct drm_i915_gem_object *obj = intel_fb_obj(fb);
+       struct drm_i915_gem_object *obj = intel_fb_obj(fb);
        u32 base;
 
        if (DISPLAY_INFO(dev_priv)->cursor_needs_physical)
-               base = sg_dma_address(obj->mm.pages->sgl);
+               base = i915_gem_object_get_dma_address(obj, 0);
        else
                base = intel_plane_ggtt_offset(plane_state);