summaryrefslogtreecommitdiff
path: root/shared-core/via_map.c
diff options
context:
space:
mode:
authorThomas Hellstrom <unichrome@shipmail.org>2005-03-14 22:50:21 +0000
committerThomas Hellstrom <unichrome@shipmail.org>2005-03-14 22:50:21 +0000
commitd2fd9200956a94cfd91a39e76994f326bdfc6ac0 (patch)
tree9151ee4ea20c3ea53be1370b058afec101858b54 /shared-core/via_map.c
parenta396617dbc15abafdc172b972a02c04007ad579f (diff)
via changes:
1. Initialize futex locks to zero on device init. 2. Remove some stray defines from via_drm.h 3. Prepare via_drm.h for drm client inclusion. The goal is to share a common file with common definitions. 4. Sync shared / shared-core via_drm.h 5. Bump minor, because of the futex lock initialization.
Diffstat (limited to 'shared-core/via_map.c')
-rw-r--r--shared-core/via_map.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/shared-core/via_map.c b/shared-core/via_map.c
index 51868dbe..50ca96cb 100644
--- a/shared-core/via_map.c
+++ b/shared-core/via_map.c
@@ -67,8 +67,10 @@ static int via_do_init_map(drm_device_t * dev, drm_via_init_t * init)
dev_priv->agpAddr = init->agpAddr;
- for (i = 0; i < VIA_NR_XVMC_LOCKS; ++i)
+ for (i = 0; i < VIA_NR_XVMC_LOCKS; ++i) {
DRM_INIT_WAITQUEUE(&(dev_priv->decoder_queue[i]));
+ XVMCLOCKPTR(dev_priv->sarea_priv, i)->lock = 0;
+ }
dev->dev_private = (void *)dev_priv;
@@ -109,6 +111,7 @@ int via_map_init(DRM_IOCTL_ARGS)
return -EINVAL;
}
+
int via_decoder_futex(DRM_IOCTL_ARGS)
{
DRM_DEVICE;
@@ -123,7 +126,7 @@ int via_decoder_futex(DRM_IOCTL_ARGS)
if (fx.lock > VIA_NR_XVMC_LOCKS)
return -EFAULT;
- lock = XVMCLOCKPTR(sAPriv, fx.lock);
+ lock = (int *)XVMCLOCKPTR(sAPriv, fx.lock);
switch (fx.func) {
case VIA_FUTEX_WAIT: