From dc4508c33845602e4c94c3e125536d01fe9110b1 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Sat, 31 Jul 2004 07:25:58 +0000 Subject: athe patch below optimises the drm code to not do put_user() on memory the kernel allocated and then mmap-installed to userspace, but instead makes it use the kernel virtual address directly instead. From: Arjan van de Ven --- linux-core/i810_dma.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'linux-core/i810_dma.c') diff --git a/linux-core/i810_dma.c b/linux-core/i810_dma.c index eb5e192b..c58a8851 100644 --- a/linux-core/i810_dma.c +++ b/linux-core/i810_dma.c @@ -851,13 +851,10 @@ static void i810_dma_dispatch_vertex(drm_device_t *dev, if (buf_priv->currently_mapped == I810_BUF_MAPPED) { unsigned int prim = (sarea_priv->vertex_prim & PR_MASK); - put_user((GFX_OP_PRIMITIVE | prim | - ((used/4)-2)), - (u32 __user *)buf_priv->virtual); + *(u32 *)buf_priv->kernel_virtual = ((GFX_OP_PRIMITIVE | prim | ((used/4)-2))); if (used & 4) { - put_user(0, - (u32 __user *)((u32)buf_priv->virtual + used)); + *(u32 *)((u32)buf_priv->kernel_virtual + used) = 0; used += 4; } -- cgit v1.2.3