drm/i915: Do not program aux plane offsets on gen11+
authorDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Fri, 26 Oct 2018 19:38:05 +0000 (12:38 -0700)
committerDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Mon, 29 Oct 2018 19:43:37 +0000 (12:43 -0700)
The PLANE_AUX_OFFSET mmio does not exist on ICL, do not program it.  We'll
still calculate the aux offset as it is required for adjusing x-y offsets.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181026193805.11077-2-dhinakaran.pandiyan@intel.com
drivers/gpu/drm/i915/intel_sprite.c

index be7b305..e7c95ec 100644 (file)
@@ -414,9 +414,11 @@ skl_program_plane(struct intel_plane *plane,
        I915_WRITE_FW(PLANE_SIZE(pipe, plane_id), (src_h << 16) | src_w);
        I915_WRITE_FW(PLANE_AUX_DIST(pipe, plane_id),
                      (plane_state->color_plane[1].offset - surf_addr) | aux_stride);
-       I915_WRITE_FW(PLANE_AUX_OFFSET(pipe, plane_id),
-                     (plane_state->color_plane[1].y << 16) |
-                     plane_state->color_plane[1].x);
+
+       if (INTEL_GEN(dev_priv) < 11)
+               I915_WRITE_FW(PLANE_AUX_OFFSET(pipe, plane_id),
+                             (plane_state->color_plane[1].y << 16) |
+                              plane_state->color_plane[1].x);
 
        if (icl_is_hdr_plane(plane)) {
                u32 cus_ctl = 0;