drm/radeon/kms: fix r6xx/7xx 1D tiling CS checker v2
authorAlex Deucher <alexdeucher@gmail.com>
Wed, 27 Oct 2010 00:22:42 +0000 (20:22 -0400)
committerDave Airlie <airlied@redhat.com>
Wed, 27 Oct 2010 00:46:52 +0000 (10:46 +1000)
broken by:
drm/radeon/r600: fix tiling issues in CS checker.

v2: only apply it to 1D tiling case.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/radeon/r600_cs.c

index 4180291..7b294c1 100644 (file)
@@ -215,6 +215,9 @@ static inline int r600_cs_track_validate_cb(struct radeon_cs_parser *p, int i)
                                 __func__, __LINE__, pitch);
                        return -EINVAL;
                }
+               /* avoid breaking userspace */
+               if (height > 7)
+                       height &= ~0x7;
                if (!IS_ALIGNED(height, 8)) {
                        dev_warn(p->dev, "%s:%d cb height (%d) invalid\n",
                                 __func__, __LINE__, height);