diff options
author | Thomas Hellstrom <unichrome@shipmail.org> | 2005-03-28 21:21:42 +0000 |
---|---|---|
committer | Thomas Hellstrom <unichrome@shipmail.org> | 2005-03-28 21:21:42 +0000 |
commit | 532ccb98b5f2946f574a747b90c39edbe783f888 (patch) | |
tree | cfbdf4e8e2b8e0827b35b92a7e57e7f6104e18f1 /shared/via_mm.c | |
parent | c6161eff86b250f3113791edcc162dc97322c401 (diff) |
Via updates:
New PCI command parser. Moved from via_dma.c to via_verifier.c so functions
with similar functionality are close to eachother.
Moved video related functions to via_video.c, which might be extended in
the future, as new video functionality is added.
New device-specific generic IRQ IOCTL, similar to the general VBLANK IOCTL,
but with support for multiple device IRQ sources and functionality.
Support for Unichrome Pro PM800/CN400 video DMA commands in verifier and
PCI parser.
Support for Unichrome Pro PM800/CN400 HQV IRQs in the new generic IRQ
IOCTL.
Bumped minor. New version 2.6.0.
Diffstat (limited to 'shared/via_mm.c')
-rw-r--r-- | shared/via_mm.c | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/shared/via_mm.c b/shared/via_mm.c index fadfbfba..d450cdd5 100644 --- a/shared/via_mm.c +++ b/shared/via_mm.c @@ -133,9 +133,7 @@ int via_init_context(struct drm_device *dev, int context) int via_final_context(struct drm_device *dev, int context) { int i; - volatile int *lock; drm_via_private_t *dev_priv = (drm_via_private_t *) dev->dev_private; - drm_via_sarea_t *sAPriv = dev_priv->sarea_priv; for (i = 0; i < MAX_CONTEXT; i++) if (global_ppriv[i].used && @@ -172,20 +170,6 @@ int via_final_context(struct drm_device *dev, int context) global_ppriv[i].used = 0; } - /* - * Release futex locks. - */ - - for (i=0; i < VIA_NR_XVMC_LOCKS; ++i) { - lock = (int *) XVMCLOCKPTR(sAPriv, i); - if ( (_DRM_LOCKING_CONTEXT( *lock ) == context)) { - if (_DRM_LOCK_IS_HELD( *lock ) && (*lock & _DRM_LOCK_CONT)) { - DRM_WAKEUP( &(dev_priv->decoder_queue[i])); - } - *lock = 0; - } - } - #if defined(__linux__) /* Linux specific until context tracking code gets ported to BSD */ /* Last context, perform cleanup */ @@ -193,6 +177,7 @@ int via_final_context(struct drm_device *dev, int context) if (dev->irq) DRM(irq_uninstall) (dev); + via_cleanup_futex(dev_priv); via_do_cleanup_map(dev); } #endif |