summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuc Verhaegen <libv@skynet.be>2009-11-15 04:27:31 +0100
committerLuc Verhaegen <libv@skynet.be>2009-11-18 09:52:34 +0100
commit39ed19709f48a8457e263e5a114cf887e2ef04c3 (patch)
tree48b8f282fd891c4827e7de8acb2b3fff1c52b211
parent1e5fd61da5296da2fa2f182a975dfef530054a14 (diff)
DRM: Register 0x41C is HC_REG_AGP_STATE.
-rw-r--r--drm/via_dma.c9
-rw-r--r--drm/via_halcyon.h8
2 files changed, 14 insertions, 3 deletions
diff --git a/drm/via_dma.c b/drm/via_dma.c
index ac3d899..bcc98ba 100644
--- a/drm/via_dma.c
+++ b/drm/via_dma.c
@@ -445,14 +445,16 @@ static int via_hook_segment(drm_via_private_t * dev_priv,
diff = (uint32_t) (ptr - reader) - dev_priv->dma_diff;
count = 10000000;
while(diff == 0 && count--) {
- paused = (VIA_READ(0x41c) & 0x80000000);
+ paused = VIA_READ(HC_REG_BASE + HC_REG_AGP_STATE) &
+ HC_REG_AGP_STATE_PAUSED;
if (paused)
break;
reader = *(dev_priv->hw_addr_ptr);
diff = (uint32_t) (ptr - reader) - dev_priv->dma_diff;
}
- paused = VIA_READ(0x41c) & 0x80000000;
+ paused = VIA_READ(HC_REG_BASE + HC_REG_AGP_STATE) &
+ HC_REG_AGP_STATE_PAUSED;
if (paused && !no_pci_fire) {
reader = *(dev_priv->hw_addr_ptr);
@@ -565,7 +567,8 @@ static void via_cmdbuf_start(drm_via_private_t * dev_priv)
dev_priv->dma_diff = 0;
count = 10000000;
- while (!(VIA_READ(0x41c) & 0x80000000) && count--);
+ while (!(VIA_READ(HC_REG_BASE + HC_REG_AGP_STATE) &
+ HC_REG_AGP_STATE_PAUSED) && count--);
reader = *(dev_priv->hw_addr_ptr);
ptr = ((volatile char *)dev_priv->last_pause_ptr - dev_priv->dma_ptr) +
diff --git a/drm/via_halcyon.h b/drm/via_halcyon.h
index ab02bdf..619db6f 100644
--- a/drm/via_halcyon.h
+++ b/drm/via_halcyon.h
@@ -31,12 +31,20 @@
#define VIA_3D_REG_H
#define HC_REG_BASE 0x0400
+
+#define HC_REG_AGP_STATE 0x001C
+#define HC_REG_AGP_STATE_PAUSED 0x80000000
+#define HC_REG_AGP_STATE_IDLE 0x40000000
+
#define HC_REG_TRANS_SPACE 0x0040
+
+
#define HC_ParaN_MASK 0xffffffff
#define HC_Para_MASK 0x00ffffff
#define HC_SubA_MASK 0xff000000
#define HC_SubA_SHIFT 24
+
/* Transmission Setting
*/
#define HC_REG_TRANS_SET 0x003c