diff options
author | Luc Verhaegen <libv@skynet.be> | 2010-03-21 12:28:51 +0100 |
---|---|---|
committer | Luc Verhaegen <libv@skynet.be> | 2010-03-21 12:28:51 +0100 |
commit | e15805645653cfcacb1f2dc3c370c19b163e4f55 (patch) | |
tree | 50fce46d30882a9b39f5eb6cba202c023f22326e | |
parent | 7c8c5cb39b41e367bf8180c33e8123ca7b19f2f4 (diff) |
DRM: remove reg_pause_addr from _drm_via_dma_init.
The drm module should know this on its own.
-rw-r--r-- | drm/via_dma.c | 15 | ||||
-rw-r--r-- | drm/via_drm.h | 3 | ||||
-rw-r--r-- | src/via_dri.c | 15 |
3 files changed, 15 insertions, 18 deletions
diff --git a/drm/via_dma.c b/drm/via_dma.c index dac5ff8..98a387b 100644 --- a/drm/via_dma.c +++ b/drm/via_dma.c @@ -219,9 +219,18 @@ static int via_initialize(struct drm_device * dev, dev_priv->dma_wrap = init->size; dev_priv->dma_offset = init->offset; dev_priv->last_pause_ptr = NULL; - dev_priv->hw_addr_ptr = - (volatile uint32_t *)((char *)dev_priv->mmio->handle + - init->reg_pause_addr); + + switch (dev->pci_device) { + case 0x3118: + case 0x3157: + dev_priv->hw_addr_ptr = (volatile uint32_t *) + ((char *)dev_priv->mmio->handle + 0x40C); + break; + default: + dev_priv->hw_addr_ptr = (volatile uint32_t *) + ((char *)dev_priv->mmio->handle + 0x418); + break; + } via_cmdbuf_start(dev_priv); diff --git a/drm/via_drm.h b/drm/via_drm.h index d69cb36..6e0c4c6 100644 --- a/drm/via_drm.h +++ b/drm/via_drm.h @@ -25,7 +25,7 @@ #define _VIA_DRM_H_ #define VIA_DRM_DRIVER_MAJOR 3 -#define VIA_DRM_DRIVER_MINOR 0 +#define VIA_DRM_DRIVER_MINOR 1 #define VIA_DRM_DRIVER_PATCHLEVEL 0 /* WARNING: These defines must be the same as what the Xserver uses. @@ -119,7 +119,6 @@ typedef struct _drm_via_dma_init { unsigned long offset; unsigned long size; - unsigned long reg_pause_addr; } drm_via_dma_init_t; typedef struct _drm_via_cmdbuffer { diff --git a/src/via_dri.c b/src/via_dri.c index 47da011..c355f44 100644 --- a/src/via_dri.c +++ b/src/via_dri.c @@ -176,7 +176,7 @@ VIADRMCommandBufferStart(VIAPtr pVia) VIAFUNC(pVia); - if (pDri->drmVersion < 0x010400) + if (pDri->drmVersion < 0x030100) return FALSE; if (pVia->CommandBufferActive) @@ -185,19 +185,8 @@ VIADRMCommandBufferStart(VIAPtr pVia) ringBufInit.offset = pDri->agpSize; ringBufInit.size = AGP_CMDBUF_SIZE; - - /* Info frome code-snippet on DRI-DEVEL list; Erdi Chen. */ - switch (pVia->Chipset) { - case VT3118: - case VT3157: - ringBufInit.reg_pause_addr = 0x40c; - break; - default: - ringBufInit.reg_pause_addr = 0x418; - break; - } - ringBufInit.func = VIA_INIT_DMA; + if (drmCommandWrite(pVia->drmFD, DRM_VIA_DMA_INIT, &ringBufInit, sizeof(ringBufInit))) { xf86DrvMsg(pVia->scrnIndex, X_ERROR, |