We assume the plane offset is 0. Warn if it's not. This also fixes a
warn on unused but set variable offset.

v2: initialize offset on the gen2/3 path (Ville)

Suggested-by: Ville Syrjälä <[email protected]>
Reviewed-by: Ville Syrjälä <[email protected]>
Signed-off-by: Jani Nikula <[email protected]>
---
 drivers/gpu/drm/i915/display/i9xx_plane.c          | 3 +++
 drivers/gpu/drm/i915/display/skl_universal_plane.c | 1 +
 2 files changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/i9xx_plane.c 
b/drivers/gpu/drm/i915/display/i9xx_plane.c
index 616654adbfb8..b10488324457 100644
--- a/drivers/gpu/drm/i915/display/i9xx_plane.c
+++ b/drivers/gpu/drm/i915/display/i9xx_plane.c
@@ -1033,10 +1033,13 @@ i9xx_get_initial_plane_config(struct intel_crtc *crtc,
                                               DSPLINOFF(i9xx_plane));
                base = intel_de_read(dev_priv, DSPSURF(i9xx_plane)) & 
DISP_ADDR_MASK;
        } else {
+               offset = 0;
                base = intel_de_read(dev_priv, DSPADDR(i9xx_plane));
        }
        plane_config->base = base;
 
+       drm_WARN_ON(&dev_priv->drm, offset != 0);
+
        val = intel_de_read(dev_priv, PIPESRC(pipe));
        fb->width = REG_FIELD_GET(PIPESRC_WIDTH_MASK, val) + 1;
        fb->height = REG_FIELD_GET(PIPESRC_HEIGHT_MASK, val) + 1;
diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c 
b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 36070d86550f..6b01a0b68b97 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -2529,6 +2529,7 @@ skl_get_initial_plane_config(struct intel_crtc *crtc,
        plane_config->base = base;
 
        offset = intel_de_read(dev_priv, PLANE_OFFSET(pipe, plane_id));
+       drm_WARN_ON(&dev_priv->drm, offset != 0);
 
        val = intel_de_read(dev_priv, PLANE_SIZE(pipe, plane_id));
        fb->height = REG_FIELD_GET(PLANE_HEIGHT_MASK, val) + 1;
-- 
2.39.2

Reply via email to