diff options
author | Dave Airlie <airlied@airlied2.(none)> | 2007-04-18 14:11:49 +1000 |
---|---|---|
committer | Dave Airlie <airlied@airlied2.(none)> | 2007-04-18 14:11:49 +1000 |
commit | e46e028bd21552331ca4db409c2b45e54491ced6 (patch) | |
tree | bb80819c26bbfd9d6d7bcb92a216627b2b30e095 /shared-core/via_dma.c | |
parent | c71c44bb9288e0bf1b319ec19a2e25f4467d9583 (diff) | |
parent | 5a96d59ce9d9ad5816e2d0e195afa9902445f594 (diff) |
Merge branch 'origin' into modesetting-101
Conflicts:
linux-core/drm_bo.c
Merge in changes from master from Thomas fixiing TTM problems
Diffstat (limited to 'shared-core/via_dma.c')
-rw-r--r-- | shared-core/via_dma.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/shared-core/via_dma.c b/shared-core/via_dma.c index 8c5a5c64..c73634e4 100644 --- a/shared-core/via_dma.c +++ b/shared-core/via_dma.c @@ -430,8 +430,10 @@ static int via_hook_segment(drm_via_private_t *dev_priv, paused = 0; via_flush_write_combine(); - *dev_priv->last_pause_ptr = pause_addr_lo; + (void) *(volatile uint32_t *)(via_get_dma(dev_priv) -1); + *paused_at = pause_addr_lo; via_flush_write_combine(); + (void) *paused_at; reader = *(dev_priv->hw_addr_ptr); ptr = ((volatile char *)paused_at - dev_priv->dma_ptr) + dev_priv->dma_offset + (uint32_t) dev_priv->agpAddr + 4; @@ -536,7 +538,7 @@ static void via_cmdbuf_start(drm_via_private_t * dev_priv) &pause_addr_hi, & pause_addr_lo, 1) - 1; via_flush_write_combine(); - while(! *dev_priv->last_pause_ptr); + (void) *(volatile uint32_t *)dev_priv->last_pause_ptr; VIA_WRITE(VIA_REG_TRANSET, (HC_ParaType_PreCR << 16)); VIA_WRITE(VIA_REG_TRANSPACE, command); |