]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/i915: Precompute plane SURF address
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 17 Jul 2025 20:32:16 +0000 (23:32 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Sat, 19 Jul 2025 17:55:07 +0000 (20:55 +0300)
commit971eb92b0460ca2afe581e60e3c8d863563ae38c
tree138b37e4360853092139a3eb07259d0eb88902c5
parent615c8ec48621f5c157fef3633d6e4be81d7a370f
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
drivers/gpu/drm/i915/display/i9xx_plane.c
drivers/gpu/drm/i915/display/i9xx_plane.h
drivers/gpu/drm/i915/display/intel_cursor.c
drivers/gpu/drm/i915/display/intel_display_types.h
drivers/gpu/drm/i915/display/intel_fb_pin.c
drivers/gpu/drm/i915/display/intel_plane_initial.c
drivers/gpu/drm/i915/display/intel_sprite.c
drivers/gpu/drm/i915/display/skl_universal_plane.c
drivers/gpu/drm/xe/display/xe_fb_pin.c
drivers/gpu/drm/xe/display/xe_plane_initial.c