From fb4b152aee5c240b35319724fbdadaeab5ab32b5 Mon Sep 17 00:00:00 2001
From: Linus Torvalds <torvalds@home.osdl.org>
Date: Thu, 10 Jul 2003 09:30:25 -0700
Subject: [PATCH] Update r128 driver from DRI CVS: add support for ycbcr
 textures.

(version 2.3.0 -> 2.4.0)
---
 drivers/char/drm/r128.h       | 10 +++++++---
 drivers/char/drm/r128_drv.h   |  7 +++++++
 drivers/char/drm/r128_state.c |  2 ++
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/drivers/char/drm/r128.h b/drivers/char/drm/r128.h
index f23f46eef385..94e43d739b29 100644
--- a/drivers/char/drm/r128.h
+++ b/drivers/char/drm/r128.h
@@ -47,13 +47,17 @@
 
 #define DRIVER_NAME		"r128"
 #define DRIVER_DESC		"ATI Rage 128"
-#define DRIVER_DATE		"20021029"
+#define DRIVER_DATE		"20030526"
 
 #define DRIVER_MAJOR		2
-#define DRIVER_MINOR		3
+#define DRIVER_MINOR		4
 #define DRIVER_PATCHLEVEL	0
 
-
+/* Interface history:
+ *
+ * ??  - ??
+ * 2.4 - Add support for ycbcr textures (no new ioctls)
+ */
 #define DRIVER_IOCTLS							    \
    [DRM_IOCTL_NR(DRM_IOCTL_DMA)]             = { r128_cce_buffers,  1, 0 }, \
    [DRM_IOCTL_NR(DRM_IOCTL_R128_INIT)]       = { r128_cce_init,     1, 1 }, \
diff --git a/drivers/char/drm/r128_drv.h b/drivers/char/drm/r128_drv.h
index 3dee2e943aee..9f96fcd0aed7 100644
--- a/drivers/char/drm/r128_drv.h
+++ b/drivers/char/drm/r128_drv.h
@@ -343,13 +343,20 @@ extern int r128_cce_indirect( DRM_IOCTL_ARGS );
 #define R128_CCE_VC_CNTL_PRIM_WALK_RING		0x00000030
 #define R128_CCE_VC_CNTL_NUM_SHIFT		16
 
+#define R128_DATATYPE_VQ		0
+#define R128_DATATYPE_CI4		1
 #define R128_DATATYPE_CI8		2
 #define R128_DATATYPE_ARGB1555		3
 #define R128_DATATYPE_RGB565		4
 #define R128_DATATYPE_RGB888		5
 #define R128_DATATYPE_ARGB8888		6
 #define R128_DATATYPE_RGB332		7
+#define R128_DATATYPE_Y8		8
 #define R128_DATATYPE_RGB8		9
+#define R128_DATATYPE_CI16		10
+#define R128_DATATYPE_YVYU422		11
+#define R128_DATATYPE_VYUY422		12
+#define R128_DATATYPE_AYUV444		14
 #define R128_DATATYPE_ARGB4444		15
 
 /* Constants */
diff --git a/drivers/char/drm/r128_state.c b/drivers/char/drm/r128_state.c
index 8b9e97cff6ef..27720cff1834 100644
--- a/drivers/char/drm/r128_state.c
+++ b/drivers/char/drm/r128_state.c
@@ -802,6 +802,8 @@ static int r128_cce_dispatch_blit( DRMFILE filp,
 	case R128_DATATYPE_ARGB1555:
 	case R128_DATATYPE_RGB565:
 	case R128_DATATYPE_ARGB4444:
+	case R128_DATATYPE_YVYU422:
+	case R128_DATATYPE_VYUY422:
 		dword_shift = 1;
 		break;
 	case R128_DATATYPE_CI8:
-- 
2.30.9