diff options
author | Jeff Hartmann <jhartmann@valinux.com> | 2000-09-08 15:52:43 +0000 |
---|---|---|
committer | Jeff Hartmann <jhartmann@valinux.com> | 2000-09-08 15:52:43 +0000 |
commit | 3d4dc2c20ebbb92c24ec24dc8cf656e6341ed8da (patch) | |
tree | 4d90692a20e467713f980dee833d93ee87b2bb58 | |
parent | 4f2c60bb65fec6333c4b16bbc33c0c8112244916 (diff) |
Sync w/ latest debug work
-rw-r--r-- | linux-core/mga_drv.c | 6 | ||||
-rw-r--r-- | linux/mga_dma.c | 5 | ||||
-rw-r--r-- | linux/mga_drv.c | 6 |
3 files changed, 10 insertions, 7 deletions
diff --git a/linux-core/mga_drv.c b/linux-core/mga_drv.c index 5e47f4366..db4711a96 100644 --- a/linux-core/mga_drv.c +++ b/linux-core/mga_drv.c @@ -95,8 +95,8 @@ static drm_ioctl_desc_t mga_ioctls[] = { [DRM_IOCTL_NR(DRM_IOCTL_DMA)] = { mga_dma, 1, 0, 1 }, - [DRM_IOCTL_NR(DRM_IOCTL_LOCK)] = { mga_lock, 1, 0, 1 }, - [DRM_IOCTL_NR(DRM_IOCTL_UNLOCK)] = { mga_unlock, 1, 0, 1 }, + [DRM_IOCTL_NR(DRM_IOCTL_LOCK)] = { mga_lock, 1, 0, 0 }, + [DRM_IOCTL_NR(DRM_IOCTL_UNLOCK)] = { mga_unlock, 1, 0, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_FINISH)] = { drm_finish, 1, 0, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_AGP_ACQUIRE)] = { drm_agp_acquire, 1, 1, 0 }, @@ -113,7 +113,7 @@ static drm_ioctl_desc_t mga_ioctls[] = { [DRM_IOCTL_NR(DRM_IOCTL_MGA_CLEAR)] = { mga_clear_bufs, 1, 0, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_MGA_ILOAD)] = { mga_iload, 1, 0, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_MGA_VERTEX)] = { mga_vertex, 1, 0, 1 }, - [DRM_IOCTL_NR(DRM_IOCTL_MGA_FLUSH)] = { mga_flush_ioctl, 1, 0, 1 }, + [DRM_IOCTL_NR(DRM_IOCTL_MGA_FLUSH)] = { mga_flush_ioctl, 1, 0, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_MGA_INDICES)] = { mga_indices, 1, 0, 1 }, }; diff --git a/linux/mga_dma.c b/linux/mga_dma.c index 40cc3a55c..4e24258e7 100644 --- a/linux/mga_dma.c +++ b/linux/mga_dma.c @@ -182,7 +182,6 @@ static inline void mga_dma_quiescent(drm_device_t *dev) for (i = 0 ; i < 2000 ; i++) mga_delay(); } sarea_priv->dirty |= MGA_DMA_FLUSH; - out_status: clear_bit(MGA_IN_DISPATCH, &dev_priv->dispatch_status); out_nolock: @@ -956,6 +955,8 @@ static int mga_flush_queue(drm_device_t *dev) if(dev_priv == NULL) { return 0; } + /* Get bfscking lock */ + drm_big_fscking_lock(dev); if(dev_priv->next_prim->num_dwords != 0) { current->state = TASK_INTERRUPTIBLE; @@ -978,6 +979,8 @@ static int mga_flush_queue(drm_device_t *dev) current->state = TASK_RUNNING; remove_wait_queue(&dev_priv->flush_queue, &entry); } + drm_big_fscking_unlock(dev); + return ret; } diff --git a/linux/mga_drv.c b/linux/mga_drv.c index 5e47f4366..db4711a96 100644 --- a/linux/mga_drv.c +++ b/linux/mga_drv.c @@ -95,8 +95,8 @@ static drm_ioctl_desc_t mga_ioctls[] = { [DRM_IOCTL_NR(DRM_IOCTL_DMA)] = { mga_dma, 1, 0, 1 }, - [DRM_IOCTL_NR(DRM_IOCTL_LOCK)] = { mga_lock, 1, 0, 1 }, - [DRM_IOCTL_NR(DRM_IOCTL_UNLOCK)] = { mga_unlock, 1, 0, 1 }, + [DRM_IOCTL_NR(DRM_IOCTL_LOCK)] = { mga_lock, 1, 0, 0 }, + [DRM_IOCTL_NR(DRM_IOCTL_UNLOCK)] = { mga_unlock, 1, 0, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_FINISH)] = { drm_finish, 1, 0, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_AGP_ACQUIRE)] = { drm_agp_acquire, 1, 1, 0 }, @@ -113,7 +113,7 @@ static drm_ioctl_desc_t mga_ioctls[] = { [DRM_IOCTL_NR(DRM_IOCTL_MGA_CLEAR)] = { mga_clear_bufs, 1, 0, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_MGA_ILOAD)] = { mga_iload, 1, 0, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_MGA_VERTEX)] = { mga_vertex, 1, 0, 1 }, - [DRM_IOCTL_NR(DRM_IOCTL_MGA_FLUSH)] = { mga_flush_ioctl, 1, 0, 1 }, + [DRM_IOCTL_NR(DRM_IOCTL_MGA_FLUSH)] = { mga_flush_ioctl, 1, 0, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_MGA_INDICES)] = { mga_indices, 1, 0, 1 }, }; |