diff options
-rw-r--r-- | shared-core/via_drm.h | 14 | ||||
-rw-r--r-- | shared-core/via_drv.c | 4 | ||||
-rw-r--r-- | shared/via.h | 1 | ||||
-rw-r--r-- | shared/via_drm.h | 14 | ||||
-rw-r--r-- | shared/via_drv.c | 4 |
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 |