summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Hellstrom <unichrome@shipmail.org>2004-04-12 10:18:18 +0000
committerThomas Hellstrom <unichrome@shipmail.org>2004-04-12 10:18:18 +0000
commit6f6d2a553a776068a53332e409fa19e83f6be964 (patch)
treebe9cd5630323700142f63316650173e09c6b971d
parent6fa5c5d958688fba801bc08e75345edd51bf27c7 (diff)
1. Added a PCI ID.
2. Big change to the XvMC part of the SAREA. OpenGL clients will not suffer from this, and via XvMC is still alpha. Needed to make future additions to XvMC (More decoders and overlays) possible. 3. Bumped version number to 1.3.0.
-rw-r--r--shared-core/via_drm.h14
-rw-r--r--shared-core/via_drv.c4
-rw-r--r--shared/via.h1
-rw-r--r--shared/via_drm.h14
-rw-r--r--shared/via_drv.c4
5 files changed, 17 insertions, 20 deletions
diff --git a/shared-core/via_drm.h b/shared-core/via_drm.h
index da80aa92..e984932c 100644
--- a/shared-core/via_drm.h
+++ b/shared-core/via_drm.h
@@ -35,7 +35,8 @@
#define VIA_DMA_BUF_SZ (1 << VIA_DMA_BUF_ORDER)
#define VIA_DMA_BUF_NR 256
#define VIA_NR_SAREA_CLIPRECTS 8
-#define VIA_NR_XVMC_LOCKS 2
+#define VIA_NR_XVMC_PORTS 10
+#define VIA_NR_XVMC_LOCKS 5
#define VIA_MAX_CACHELINE_SIZE 64
#define XVMCLOCKPTR(saPriv,lockNo) \
((volatile int *)(((((unsigned long) (saPriv)->XvMCLockArea) + \
@@ -142,19 +143,16 @@ typedef struct _drm_via_sarea {
/*
* Below is for XvMC.
- */
-
- unsigned int XvMCSubPicOn; /* Subpicture displaying flag */
- unsigned int XvMCDisplaying; /* Surface displaying flag */
- unsigned int XvMCCtxNoGrabbed; /* Last context to hold decoder */
-
- /*
* We want the lock integers alone on, and aligned to, a cache line.
* Therefore this somewhat strange construct.
*/
char XvMCLockArea[VIA_MAX_CACHELINE_SIZE * (VIA_NR_XVMC_LOCKS + 1)];
+ unsigned int XvMCDisplaying[VIA_NR_XVMC_PORTS];
+ unsigned int XvMCSubPicOn[VIA_NR_XVMC_PORTS];
+ unsigned int XvMCCtxNoGrabbed; /* Last context to hold decoder */
+
} drm_via_sarea_t;
diff --git a/shared-core/via_drv.c b/shared-core/via_drv.c
index 65ea55a1..6f41f1fc 100644
--- a/shared-core/via_drv.c
+++ b/shared-core/via_drv.c
@@ -31,10 +31,10 @@
#define DRIVER_NAME "via"
#define DRIVER_DESC "VIA Unichrome"
-#define DRIVER_DATE "20040317"
+#define DRIVER_DATE "20040411"
#define DRIVER_MAJOR 1
-#define DRIVER_MINOR 2
+#define DRIVER_MINOR 3
#define DRIVER_PATCHLEVEL 0
diff --git a/shared/via.h b/shared/via.h
index 8e81e571..7974dfbe 100644
--- a/shared/via.h
+++ b/shared/via.h
@@ -53,6 +53,7 @@ extern int via_final_context(int context);
#define DRIVER_CTX_DTOR via_final_context
#define DRIVER_PCI_IDS \
+ {0x1106, 0x3022, 0, "VIA CLE266 3022"}, \
{0x1106, 0x3122, 0, "VIA CLE266"}, \
{0x1106, 0x7205, 0, "VIA KM400"}, \
{0x1106, 0x7204, 0, "VIA K8M800"}, \
diff --git a/shared/via_drm.h b/shared/via_drm.h
index da80aa92..e984932c 100644
--- a/shared/via_drm.h
+++ b/shared/via_drm.h
@@ -35,7 +35,8 @@
#define VIA_DMA_BUF_SZ (1 << VIA_DMA_BUF_ORDER)
#define VIA_DMA_BUF_NR 256
#define VIA_NR_SAREA_CLIPRECTS 8
-#define VIA_NR_XVMC_LOCKS 2
+#define VIA_NR_XVMC_PORTS 10
+#define VIA_NR_XVMC_LOCKS 5
#define VIA_MAX_CACHELINE_SIZE 64
#define XVMCLOCKPTR(saPriv,lockNo) \
((volatile int *)(((((unsigned long) (saPriv)->XvMCLockArea) + \
@@ -142,19 +143,16 @@ typedef struct _drm_via_sarea {
/*
* Below is for XvMC.
- */
-
- unsigned int XvMCSubPicOn; /* Subpicture displaying flag */
- unsigned int XvMCDisplaying; /* Surface displaying flag */
- unsigned int XvMCCtxNoGrabbed; /* Last context to hold decoder */
-
- /*
* We want the lock integers alone on, and aligned to, a cache line.
* Therefore this somewhat strange construct.
*/
char XvMCLockArea[VIA_MAX_CACHELINE_SIZE * (VIA_NR_XVMC_LOCKS + 1)];
+ unsigned int XvMCDisplaying[VIA_NR_XVMC_PORTS];
+ unsigned int XvMCSubPicOn[VIA_NR_XVMC_PORTS];
+ unsigned int XvMCCtxNoGrabbed; /* Last context to hold decoder */
+
} drm_via_sarea_t;
diff --git a/shared/via_drv.c b/shared/via_drv.c
index 65ea55a1..6f41f1fc 100644
--- a/shared/via_drv.c
+++ b/shared/via_drv.c
@@ -31,10 +31,10 @@
#define DRIVER_NAME "via"
#define DRIVER_DESC "VIA Unichrome"
-#define DRIVER_DATE "20040317"
+#define DRIVER_DATE "20040411"
#define DRIVER_MAJOR 1
-#define DRIVER_MINOR 2
+#define DRIVER_MINOR 3
#define DRIVER_PATCHLEVEL 0