drm/i915/plane: warn on non-zero plane offset
authorJani Nikula <jani.nikula@intel.com>
Fri, 26 May 2023 17:22:18 +0000 (20:22 +0300)
committerJani Nikula <jani.nikula@intel.com>
Wed, 7 Jun 2023 10:22:10 +0000 (13:22 +0300)
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ä <ville.syrjala@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230526172218.1597394-1-jani.nikula@intel.com
drivers/gpu/drm/i915/display/i9xx_plane.c
drivers/gpu/drm/i915/display/skl_universal_plane.c

index 616654a..b104883 100644 (file)
@@ -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;
index 36070d8..6b01a0b 100644 (file)
@@ -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;