aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-10-18 23:45:39 -0400
committerDave Airlie <airlied@redhat.com>2010-10-26 00:47:44 -0400
commit354da653233898ed1e51f20cebac9705456bf9b1 (patch)
tree5a5dcd470d57ca867da35ea3f2b8fc7938efd51f
parent2281a378e1830d7ab78d3067f228e4e55d368b0d (diff)
drm/radeon/kms: fix 2D tile height alignment in the r600 CS checker
macro tile heights are aligned to num channels, not num banks. Noticed by Dave Airlie. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/radeon/r600_cs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/r600_cs.c b/drivers/gpu/drm/radeon/r600_cs.c
index f82832780a7e..41802915f93f 100644
--- a/drivers/gpu/drm/radeon/r600_cs.c
+++ b/drivers/gpu/drm/radeon/r600_cs.c
@@ -229,7 +229,7 @@ static inline int r600_cs_track_validate_cb(struct radeon_cs_parser *p, int i)
229 __func__, __LINE__, pitch); 229 __func__, __LINE__, pitch);
230 return -EINVAL; 230 return -EINVAL;
231 } 231 }
232 if (!IS_ALIGNED((height / 8), track->nbanks)) { 232 if (!IS_ALIGNED((height / 8), track->npipes)) {
233 dev_warn(p->dev, "%s:%d cb height (%d) invalid\n", 233 dev_warn(p->dev, "%s:%d cb height (%d) invalid\n",
234 __func__, __LINE__, height); 234 __func__, __LINE__, height);
235 return -EINVAL; 235 return -EINVAL;
@@ -378,7 +378,7 @@ static int r600_cs_track_check(struct radeon_cs_parser *p)
378 __func__, __LINE__, pitch); 378 __func__, __LINE__, pitch);
379 return -EINVAL; 379 return -EINVAL;
380 } 380 }
381 if ((height / 8) & (track->nbanks - 1)) { 381 if (!IS_ALIGNED((height / 8), track->npipes)) {
382 dev_warn(p->dev, "%s:%d db height (%d) invalid\n", 382 dev_warn(p->dev, "%s:%d db height (%d) invalid\n",
383 __func__, __LINE__, height); 383 __func__, __LINE__, height);
384 return -EINVAL; 384 return -EINVAL;