summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/xe/display/xe_fb_pin.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
index ead70ee48028..23a7ec41f01d 100644
--- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
+++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
@@ -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);
}
}