Sync w/ latest debug work

This commit is contained in:
Jeff Hartmann 2000-09-08 15:52:43 +00:00
parent 4f2c60bb65
commit 3d4dc2c20e
3 changed files with 10 additions and 7 deletions

View file

@ -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_DMA)] = { mga_dma, 1, 0, 1 },
[DRM_IOCTL_NR(DRM_IOCTL_LOCK)] = { mga_lock, 1, 0, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_LOCK)] = { mga_lock, 1, 0, 0 },
[DRM_IOCTL_NR(DRM_IOCTL_UNLOCK)] = { mga_unlock, 1, 0, 1 }, [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_FINISH)] = { drm_finish, 1, 0, 0 },
[DRM_IOCTL_NR(DRM_IOCTL_AGP_ACQUIRE)] = { drm_agp_acquire, 1, 1, 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_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_ILOAD)] = { mga_iload, 1, 0, 1 },
[DRM_IOCTL_NR(DRM_IOCTL_MGA_VERTEX)] = { mga_vertex, 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 }, [DRM_IOCTL_NR(DRM_IOCTL_MGA_INDICES)] = { mga_indices, 1, 0, 1 },
}; };

View file

@ -182,7 +182,6 @@ static inline void mga_dma_quiescent(drm_device_t *dev)
for (i = 0 ; i < 2000 ; i++) mga_delay(); for (i = 0 ; i < 2000 ; i++) mga_delay();
} }
sarea_priv->dirty |= MGA_DMA_FLUSH; sarea_priv->dirty |= MGA_DMA_FLUSH;
out_status: out_status:
clear_bit(MGA_IN_DISPATCH, &dev_priv->dispatch_status); clear_bit(MGA_IN_DISPATCH, &dev_priv->dispatch_status);
out_nolock: out_nolock:
@ -956,6 +955,8 @@ static int mga_flush_queue(drm_device_t *dev)
if(dev_priv == NULL) { if(dev_priv == NULL) {
return 0; return 0;
} }
/* Get bfscking lock */
drm_big_fscking_lock(dev);
if(dev_priv->next_prim->num_dwords != 0) { if(dev_priv->next_prim->num_dwords != 0) {
current->state = TASK_INTERRUPTIBLE; current->state = TASK_INTERRUPTIBLE;
@ -978,6 +979,8 @@ static int mga_flush_queue(drm_device_t *dev)
current->state = TASK_RUNNING; current->state = TASK_RUNNING;
remove_wait_queue(&dev_priv->flush_queue, &entry); remove_wait_queue(&dev_priv->flush_queue, &entry);
} }
drm_big_fscking_unlock(dev);
return ret; return ret;
} }

View file

@ -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_DMA)] = { mga_dma, 1, 0, 1 },
[DRM_IOCTL_NR(DRM_IOCTL_LOCK)] = { mga_lock, 1, 0, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_LOCK)] = { mga_lock, 1, 0, 0 },
[DRM_IOCTL_NR(DRM_IOCTL_UNLOCK)] = { mga_unlock, 1, 0, 1 }, [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_FINISH)] = { drm_finish, 1, 0, 0 },
[DRM_IOCTL_NR(DRM_IOCTL_AGP_ACQUIRE)] = { drm_agp_acquire, 1, 1, 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_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_ILOAD)] = { mga_iload, 1, 0, 1 },
[DRM_IOCTL_NR(DRM_IOCTL_MGA_VERTEX)] = { mga_vertex, 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 }, [DRM_IOCTL_NR(DRM_IOCTL_MGA_INDICES)] = { mga_indices, 1, 0, 1 },
}; };