diff options
author | Luc Verhaegen <libv@skynet.be> | 2009-11-15 04:27:31 +0100 |
---|---|---|
committer | Luc Verhaegen <libv@skynet.be> | 2009-11-18 09:52:34 +0100 |
commit | 39ed19709f48a8457e263e5a114cf887e2ef04c3 (patch) | |
tree | 48b8f282fd891c4827e7de8acb2b3fff1c52b211 | |
parent | 1e5fd61da5296da2fa2f182a975dfef530054a14 (diff) |
DRM: Register 0x41C is HC_REG_AGP_STATE.
-rw-r--r-- | drm/via_dma.c | 9 | ||||
-rw-r--r-- | drm/via_halcyon.h | 8 |
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 |