The src_w / src_h parameters to update_plane include a subpixel offset;
we need to shift off the subpixel bits before comparing to CRTC size
when checking for primary plane scaling.

Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
---
 drivers/gpu/drm/drm_plane_helper.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/drm_plane_helper.c 
b/drivers/gpu/drm/drm_plane_helper.c
index e768d35..9eca283 100644
--- a/drivers/gpu/drm/drm_plane_helper.c
+++ b/drivers/gpu/drm/drm_plane_helper.c
@@ -145,6 +145,8 @@ int drm_primary_helper_update(struct drm_plane *plane, 
struct drm_crtc *crtc,
        }

        /* Disallow scaling */
+       src_w >>= 16;
+       src_h >>= 16;
        if (crtc_w != src_w || crtc_h != src_h) {
                DRM_DEBUG_KMS("Can't scale primary plane\n");
                return -EINVAL;
-- 
1.8.5.1

Reply via email to