[PATCH] drm/radeon/kms: r600 fix color buffer pitch check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Color buffer pitch need to be 64bits aligned not 64bytes.
This patch correct the cs checker.

Signed-off-by: Jerome Glisse <jglisse@xxxxxxxxxx>
Cc: stable <stable@xxxxxxxxxx>
---
 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

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux