mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 07:33:19 +02:00
drm/xe/display: Respect remapped plane alignment
Instead of assuming PAGE_SIZE alignment between the remapped planes respect the value set in the struct intel_remapped_info. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Cc: Michael J. Ruhl <michael.j.ruhl@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com> Link: https://patch.msgid.link/20260324084018.20353-11-tvrtko.ursulin@igalia.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
parent
11dbd2d146
commit
cce1c47726
|
|
@ -83,9 +83,6 @@ write_dpt_remapped_tiled(struct xe_bo *bo, struct iosys_map *map,
|
|||
plane->dst_stride - plane->width);
|
||||
}
|
||||
|
||||
/* Align to next page */
|
||||
dest = ALIGN(dest, XE_PAGE_SIZE);
|
||||
|
||||
return dest;
|
||||
}
|
||||
|
||||
|
|
@ -100,6 +97,18 @@ write_dpt_remapped(struct xe_bo *bo,
|
|||
const struct intel_remapped_plane_info *plane =
|
||||
&remap_info->plane[i];
|
||||
|
||||
if (!plane->linear && !plane->width && !plane->height)
|
||||
continue;
|
||||
|
||||
if (dest && remap_info->plane_alignment) {
|
||||
const unsigned int index = dest / sizeof(u64);
|
||||
const unsigned int pad =
|
||||
ALIGN(index, remap_info->plane_alignment) -
|
||||
index;
|
||||
|
||||
dest = write_dpt_padding(map, dest, pad);
|
||||
}
|
||||
|
||||
dest = write_dpt_remapped_tiled(bo, map, dest, plane);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user