Loading drivers/gpu/drm/i810/i810_dma.c +38 −43 Original line number Diff line number Diff line Loading @@ -60,10 +60,9 @@ static struct drm_buf *i810_freelist_get(struct drm_device * dev) /* In use is already a pointer */ used = cmpxchg(buf_priv->in_use, I810_BUF_FREE, I810_BUF_CLIENT); if (used == I810_BUF_FREE) { if (used == I810_BUF_FREE) return buf; } } return NULL; } Loading Loading @@ -218,9 +217,8 @@ static int i810_dma_cleanup(struct drm_device * dev) drm_i810_private_t *dev_priv = (drm_i810_private_t *) dev->dev_private; if (dev_priv->ring.virtual_start) { if (dev_priv->ring.virtual_start) drm_core_ioremapfree(&dev_priv->ring.map, dev); } if (dev_priv->hw_status_page) { pci_free_consistent(dev->pdev, PAGE_SIZE, dev_priv->hw_status_page, Loading Loading @@ -969,9 +967,8 @@ static int i810_clear_bufs(struct drm_device *dev, void *data, LOCK_TEST_WITH_RETURN(dev, file_priv); /* GH: Someone's doing nasty things... */ if (!dev->dev_private) { if (!dev->dev_private) return -EINVAL; } i810_dma_dispatch_clear(dev, clear->flags, clear->clear_color, clear->clear_depth); Loading Loading @@ -1053,9 +1050,8 @@ static void i810_dma_dispatch_mc(struct drm_device * dev, struct drm_buf * buf, i810_kernel_lost_context(dev); u = cmpxchg(buf_priv->in_use, I810_BUF_CLIENT, I810_BUF_HARDWARE); if (u != I810_BUF_CLIENT) { if (u != I810_BUF_CLIENT) DRM_DEBUG("MC found buffer that isn't mine!\n"); } if (used > 4 * 1024) used = 0; Loading Loading @@ -1160,7 +1156,7 @@ static int i810_ov0_flip(struct drm_device *dev, void *data, LOCK_TEST_WITH_RETURN(dev, file_priv); //Tell the overlay to update /* Tell the overlay to update */ I810_WRITE(0x30000, dev_priv->overlay_physical | 0x80000000); return 0; Loading Loading @@ -1227,11 +1223,10 @@ void i810_driver_preclose(struct drm_device * dev, struct drm_file *file_priv) { if (dev->dev_private) { drm_i810_private_t *dev_priv = dev->dev_private; if (dev_priv->page_flipping) { if (dev_priv->page_flipping) i810_do_cleanup_pageflip(dev); } } } void i810_driver_reclaim_buffers_locked(struct drm_device *dev, struct drm_file *file_priv) Loading drivers/gpu/drm/i810/i810_drv.h +33 −31 Original line number Diff line number Diff line Loading @@ -132,10 +132,10 @@ extern int i810_max_ioctl; #define I810_BASE(reg) ((unsigned long) \ dev_priv->mmio_map->handle) #define I810_ADDR(reg) (I810_BASE(reg) + reg) #define I810_DEREF(reg) *(__volatile__ int *)I810_ADDR(reg) #define I810_DEREF(reg) (*(__volatile__ int *)I810_ADDR(reg)) #define I810_READ(reg) I810_DEREF(reg) #define I810_WRITE(reg, val) do { I810_DEREF(reg) = val; } while (0) #define I810_DEREF16(reg) *(__volatile__ u16 *)I810_ADDR(reg) #define I810_DEREF16(reg) (*(__volatile__ u16 *)I810_ADDR(reg)) #define I810_READ16(reg) I810_DEREF16(reg) #define I810_WRITE16(reg, val) do { I810_DEREF16(reg) = val; } while (0) Loading @@ -155,13 +155,15 @@ extern int i810_max_ioctl; } while (0) #define ADVANCE_LP_RING() do { \ if (I810_VERBOSE) DRM_DEBUG("ADVANCE_LP_RING\n"); \ if (I810_VERBOSE) \ DRM_DEBUG("ADVANCE_LP_RING\n"); \ dev_priv->ring.tail = outring; \ I810_WRITE(LP_RING + RING_TAIL, outring); \ } while (0) #define OUT_RING(n) do { \ if (I810_VERBOSE) DRM_DEBUG(" OUT_RING %x\n", (int)(n)); \ if (I810_VERBOSE) \ DRM_DEBUG(" OUT_RING %x\n", (int)(n)); \ *(volatile unsigned int *)(virt + outring) = n; \ outring += 4; \ outring &= ringmask; \ Loading Loading
drivers/gpu/drm/i810/i810_dma.c +38 −43 Original line number Diff line number Diff line Loading @@ -60,10 +60,9 @@ static struct drm_buf *i810_freelist_get(struct drm_device * dev) /* In use is already a pointer */ used = cmpxchg(buf_priv->in_use, I810_BUF_FREE, I810_BUF_CLIENT); if (used == I810_BUF_FREE) { if (used == I810_BUF_FREE) return buf; } } return NULL; } Loading Loading @@ -218,9 +217,8 @@ static int i810_dma_cleanup(struct drm_device * dev) drm_i810_private_t *dev_priv = (drm_i810_private_t *) dev->dev_private; if (dev_priv->ring.virtual_start) { if (dev_priv->ring.virtual_start) drm_core_ioremapfree(&dev_priv->ring.map, dev); } if (dev_priv->hw_status_page) { pci_free_consistent(dev->pdev, PAGE_SIZE, dev_priv->hw_status_page, Loading Loading @@ -969,9 +967,8 @@ static int i810_clear_bufs(struct drm_device *dev, void *data, LOCK_TEST_WITH_RETURN(dev, file_priv); /* GH: Someone's doing nasty things... */ if (!dev->dev_private) { if (!dev->dev_private) return -EINVAL; } i810_dma_dispatch_clear(dev, clear->flags, clear->clear_color, clear->clear_depth); Loading Loading @@ -1053,9 +1050,8 @@ static void i810_dma_dispatch_mc(struct drm_device * dev, struct drm_buf * buf, i810_kernel_lost_context(dev); u = cmpxchg(buf_priv->in_use, I810_BUF_CLIENT, I810_BUF_HARDWARE); if (u != I810_BUF_CLIENT) { if (u != I810_BUF_CLIENT) DRM_DEBUG("MC found buffer that isn't mine!\n"); } if (used > 4 * 1024) used = 0; Loading Loading @@ -1160,7 +1156,7 @@ static int i810_ov0_flip(struct drm_device *dev, void *data, LOCK_TEST_WITH_RETURN(dev, file_priv); //Tell the overlay to update /* Tell the overlay to update */ I810_WRITE(0x30000, dev_priv->overlay_physical | 0x80000000); return 0; Loading Loading @@ -1227,11 +1223,10 @@ void i810_driver_preclose(struct drm_device * dev, struct drm_file *file_priv) { if (dev->dev_private) { drm_i810_private_t *dev_priv = dev->dev_private; if (dev_priv->page_flipping) { if (dev_priv->page_flipping) i810_do_cleanup_pageflip(dev); } } } void i810_driver_reclaim_buffers_locked(struct drm_device *dev, struct drm_file *file_priv) Loading
drivers/gpu/drm/i810/i810_drv.h +33 −31 Original line number Diff line number Diff line Loading @@ -132,10 +132,10 @@ extern int i810_max_ioctl; #define I810_BASE(reg) ((unsigned long) \ dev_priv->mmio_map->handle) #define I810_ADDR(reg) (I810_BASE(reg) + reg) #define I810_DEREF(reg) *(__volatile__ int *)I810_ADDR(reg) #define I810_DEREF(reg) (*(__volatile__ int *)I810_ADDR(reg)) #define I810_READ(reg) I810_DEREF(reg) #define I810_WRITE(reg, val) do { I810_DEREF(reg) = val; } while (0) #define I810_DEREF16(reg) *(__volatile__ u16 *)I810_ADDR(reg) #define I810_DEREF16(reg) (*(__volatile__ u16 *)I810_ADDR(reg)) #define I810_READ16(reg) I810_DEREF16(reg) #define I810_WRITE16(reg, val) do { I810_DEREF16(reg) = val; } while (0) Loading @@ -155,13 +155,15 @@ extern int i810_max_ioctl; } while (0) #define ADVANCE_LP_RING() do { \ if (I810_VERBOSE) DRM_DEBUG("ADVANCE_LP_RING\n"); \ if (I810_VERBOSE) \ DRM_DEBUG("ADVANCE_LP_RING\n"); \ dev_priv->ring.tail = outring; \ I810_WRITE(LP_RING + RING_TAIL, outring); \ } while (0) #define OUT_RING(n) do { \ if (I810_VERBOSE) DRM_DEBUG(" OUT_RING %x\n", (int)(n)); \ if (I810_VERBOSE) \ DRM_DEBUG(" OUT_RING %x\n", (int)(n)); \ *(volatile unsigned int *)(virt + outring) = n; \ outring += 4; \ outring &= ringmask; \ Loading