[PATCH] drm/radeon/kms: r600 fix color buffer pitch check
Jerome Glisse
jglisse at redhat.com
Mon Apr 26 02:36:16 PDT 2010
Color buffer pitch need to be 64bits aligned not 64bytes.
This patch correct the cs checker.
Signed-off-by: Jerome Glisse <jglisse at redhat.com>
Cc: stable <stable at kernel.org>
---
drivers/gpu/drm/radeon/r600_cs.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/radeon/r600_cs.c b/drivers/gpu/drm/radeon/r600_cs.c
index c39c1bc..865144e 100644
--- a/drivers/gpu/drm/radeon/r600_cs.c
+++ b/drivers/gpu/drm/radeon/r600_cs.c
@@ -193,14 +193,14 @@ static inline int r600_cs_track_validate_cb(struct radeon_cs_parser *p, int i)
switch (G_0280A0_ARRAY_MODE(track->cb_color_info[i])) {
case V_0280A0_ARRAY_LINEAR_GENERAL:
case V_0280A0_ARRAY_LINEAR_ALIGNED:
- if (pitch & 0x3f) {
+ if (pitch & 0x3) {
dev_warn(p->dev, "%s:%d cb pitch (%d x %d = %d) invalid\n",
__func__, __LINE__, pitch, bpe, pitch * bpe);
return -EINVAL;
}
- if ((pitch * bpe) & (track->group_size - 1)) {
- dev_warn(p->dev, "%s:%d cb pitch (%d) invalid\n",
- __func__, __LINE__, pitch);
+ if ((pitch * bpe * 8) & (track->group_size - 1)) {
+ dev_warn(p->dev, "%s:%d cb pitch (%d x %d = %d) %d invalid\n",
+ __func__, __LINE__, pitch, bpe, pitch * bpe, track->group_size);
return -EINVAL;
}
break;
--
1.7.0.1
More information about the dri-devel
mailing list