summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/display/intel_plane_initial.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2025-07-17 23:32:16 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2025-07-19 20:55:07 +0300
commit971eb92b0460ca2afe581e60e3c8d863563ae38c (patch)
tree138b37e4360853092139a3eb07259d0eb88902c5 /drivers/gpu/drm/i915/display/intel_plane_initial.c
parent615c8ec48621f5c157fef3633d6e4be81d7a370f (diff)
drm/i915: Precompute plane SURF address
Currently we pre-compute the plane surface/base address partially (only for cursor_needs_physical cases) in intel_plane_pin_fb() and finish the calculation in the plane->update_arm(). Let's just precompute the whole thing instead. One benefit is that we get rid of all the vma offset stuff from the low level plane code. Another use I have in mind is including the surface address in the plane tracepoints, which should make it easier to analyze display faults. v2: Deal with xe reuse_vma() hacks v3: use intel_plane_ggtt_offset() still in reuse_vma() Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250717203216.31258-1-ville.syrjala@linux.intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_plane_initial.c')
-rw-r--r--drivers/gpu/drm/i915/display/intel_plane_initial.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_plane_initial.c b/drivers/gpu/drm/i915/display/intel_plane_initial.c
index 2194d39a5c98..c506b5d660c3 100644
--- a/drivers/gpu/drm/i915/display/intel_plane_initial.c
+++ b/drivers/gpu/drm/i915/display/intel_plane_initial.c
@@ -359,6 +359,8 @@ valid_fb:
i915_vma_pin_fence(vma) == 0 && vma->fence)
plane_state->flags |= PLANE_HAS_FENCE;
+ plane_state->surf = intel_plane_ggtt_offset(plane_state);
+
plane_state->uapi.src_x = 0;
plane_state->uapi.src_y = 0;
plane_state->uapi.src_w = fb->width << 16;