static void intel_fb_view_init(struct intel_display *display,
struct intel_fb_view *view,
- enum i915_gtt_view_type view_type)
+ enum i915_gtt_view_type view_type,
+ const struct intel_framebuffer *fb)
{
memset(view, 0, sizeof(*view));
view->gtt.type = view_type;
if (i915_gtt_view_is_remapped(&view->gtt) &&
- (display->platform.alderlake_p || DISPLAY_VER(display) >= 14))
+ intel_fb_needs_pot_stride_remap(fb))
view->gtt.remapped.plane_alignment = SZ_2M / PAGE_SIZE;
}
int i, num_planes = fb->base.format->num_planes;
unsigned int tile_size = intel_tile_size(display);
- intel_fb_view_init(display, &fb->normal_view, I915_GTT_VIEW_NORMAL);
+ intel_fb_view_init(display, &fb->normal_view,
+ I915_GTT_VIEW_NORMAL, fb);
drm_WARN_ON(display->drm,
intel_fb_supports_90_270_rotation(fb) &&
intel_fb_needs_pot_stride_remap(fb));
if (intel_fb_supports_90_270_rotation(fb))
- intel_fb_view_init(display, &fb->rotated_view, I915_GTT_VIEW_ROTATED);
+ intel_fb_view_init(display, &fb->rotated_view,
+ I915_GTT_VIEW_ROTATED, fb);
if (intel_fb_needs_pot_stride_remap(fb))
- intel_fb_view_init(display, &fb->remapped_view, I915_GTT_VIEW_REMAPPED);
+ intel_fb_view_init(display, &fb->remapped_view,
+ I915_GTT_VIEW_REMAPPED, fb);
for (i = 0; i < num_planes; i++) {
struct fb_plane_view_dims view_dims;
u32 gtt_offset = 0;
intel_fb_view_init(display, &plane_state->view,
- drm_rotation_90_or_270(rotation) ? I915_GTT_VIEW_ROTATED :
- I915_GTT_VIEW_REMAPPED);
+ drm_rotation_90_or_270(rotation) ?
+ I915_GTT_VIEW_ROTATED : I915_GTT_VIEW_REMAPPED,
+ intel_fb);
src_x = plane_state->uapi.src.x1 >> 16;
src_y = plane_state->uapi.src.y1 >> 16;