1. Added a PCI ID.
authorThomas Hellstrom <unichrome@shipmail.org>
Mon, 12 Apr 2004 10:18:18 +0000 (10:18 +0000)
committerThomas Hellstrom <unichrome@shipmail.org>
Mon, 12 Apr 2004 10:18:18 +0000 (10:18 +0000)
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.

shared-core/via_drm.h
shared-core/via_drv.c
shared/via.h
shared/via_drm.h
shared/via_drv.c

index da80aa9..e984932 100644 (file)
@@ -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;
 
 
index 65ea55a..6f41f1f 100644 (file)
 
 #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
 
 
index 8e81e57..7974dfb 100644 (file)
@@ -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"},         \
index da80aa9..e984932 100644 (file)
@@ -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;
 
 
index 65ea55a..6f41f1f 100644 (file)
 
 #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