drm/i915/fbdev: Fix smem_start for LMEMBAR stolen objects
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 2 Feb 2024 22:43:37 +0000 (00:43 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 7 Feb 2024 00:01:43 +0000 (02:01 +0200)
commitf1ee98cff3d86271491b08315fcdfa4c3f097e1e
tree4abad075bebebccac4649c3930382151289ddcd5
parent30865e4abb799547299a9cf39c86fe943ee2913a
drm/i915/fbdev: Fix smem_start for LMEMBAR stolen objects

The "io" address of an object is its dma address minus the
region.start. Subtract the latter to make smem_start correct.
The current code happens to work for genuine LMEM objects
as LMEM region.start==0, but for LMEMBAR stolen objects
region.start!=0.

TODO: perhaps just set smem_start=0 always as our .fb_mmap()
implementation no longer depends on it? Need to double check
it's not needed for anything else...

Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Tested-by: Paz Zcharya <pazz@chromium.org>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240202224340.30647-14-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_fbdev_fb.c