summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuc Verhaegen <libv@skynet.be>2010-03-21 12:28:51 +0100
committerLuc Verhaegen <libv@skynet.be>2010-03-21 12:28:51 +0100
commite15805645653cfcacb1f2dc3c370c19b163e4f55 (patch)
tree50fce46d30882a9b39f5eb6cba202c023f22326e
parent7c8c5cb39b41e367bf8180c33e8123ca7b19f2f4 (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.c15
-rw-r--r--drm/via_drm.h3
-rw-r--r--src/via_dri.c15
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,