Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef68d295508d52e792abf70d4f84461104d33b9d
Commit:     ef68d295508d52e792abf70d4f84461104d33b9d
Parent:     a0a6dd0b221260be1e3da725e6b49797e5fa7429
Author:     Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
AuthorDate: Tue May 8 15:48:39 2007 +1000
Committer:  Dave Airlie <[EMAIL PROTECTED]>
CommitDate: Tue May 8 15:48:39 2007 +1000

    via: Make sure we flush write-combining using a follow-up read.
    
    Signed-off-by: Dave Airlie <[EMAIL PROTECTED]>
---
 drivers/char/drm/via_dma.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/char/drm/via_dma.c b/drivers/char/drm/via_dma.c
index 7635e85..13a9c5c 100644
--- a/drivers/char/drm/via_dma.c
+++ b/drivers/char/drm/via_dma.c
@@ -436,8 +436,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);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to