diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2010-02-17 12:27:37 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-02-17 12:28:05 -0500 |
commit | b7e56edba4b02f2079042c326a8cd72a44635817 (patch) | |
tree | b5042002e9747cd8fb1278d61f86d8b92a74c018 /arch/mips/alchemy/common/dbdma.c | |
parent | 13ca0fcaa33f6b1984c4111b6ec5df42689fea6f (diff) | |
parent | b0483e78e5c4c9871fc5541875b3bc006846d46b (diff) |
Merge branch 'linus' into x86/mm
x86/mm is on 32-rc4 and missing the spinlock namespace changes which
are needed for further commits into this topic.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/mips/alchemy/common/dbdma.c')
-rw-r--r-- | arch/mips/alchemy/common/dbdma.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/mips/alchemy/common/dbdma.c b/arch/mips/alchemy/common/dbdma.c index 19c1c82849ff..f9201ca2295b 100644 --- a/arch/mips/alchemy/common/dbdma.c +++ b/arch/mips/alchemy/common/dbdma.c | |||
@@ -412,8 +412,11 @@ u32 au1xxx_dbdma_ring_alloc(u32 chanid, int entries) | |||
412 | if (desc_base == 0) | 412 | if (desc_base == 0) |
413 | return 0; | 413 | return 0; |
414 | 414 | ||
415 | ctp->cdb_membase = desc_base; | ||
415 | desc_base = ALIGN_ADDR(desc_base, sizeof(au1x_ddma_desc_t)); | 416 | desc_base = ALIGN_ADDR(desc_base, sizeof(au1x_ddma_desc_t)); |
416 | } | 417 | } else |
418 | ctp->cdb_membase = desc_base; | ||
419 | |||
417 | dp = (au1x_ddma_desc_t *)desc_base; | 420 | dp = (au1x_ddma_desc_t *)desc_base; |
418 | 421 | ||
419 | /* Keep track of the base descriptor. */ | 422 | /* Keep track of the base descriptor. */ |
@@ -613,7 +616,7 @@ u32 _au1xxx_dbdma_put_source(u32 chanid, void *buf, int nbytes, u32 flags) | |||
613 | dma_cache_wback_inv((unsigned long)buf, nbytes); | 616 | dma_cache_wback_inv((unsigned long)buf, nbytes); |
614 | dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */ | 617 | dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */ |
615 | au_sync(); | 618 | au_sync(); |
616 | dma_cache_wback_inv((unsigned long)dp, sizeof(dp)); | 619 | dma_cache_wback_inv((unsigned long)dp, sizeof(*dp)); |
617 | ctp->chan_ptr->ddma_dbell = 0; | 620 | ctp->chan_ptr->ddma_dbell = 0; |
618 | 621 | ||
619 | /* Get next descriptor pointer. */ | 622 | /* Get next descriptor pointer. */ |
@@ -676,7 +679,7 @@ _au1xxx_dbdma_put_dest(u32 chanid, void *buf, int nbytes, u32 flags) | |||
676 | dma_cache_inv((unsigned long)buf, nbytes); | 679 | dma_cache_inv((unsigned long)buf, nbytes); |
677 | dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */ | 680 | dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */ |
678 | au_sync(); | 681 | au_sync(); |
679 | dma_cache_wback_inv((unsigned long)dp, sizeof(dp)); | 682 | dma_cache_wback_inv((unsigned long)dp, sizeof(*dp)); |
680 | ctp->chan_ptr->ddma_dbell = 0; | 683 | ctp->chan_ptr->ddma_dbell = 0; |
681 | 684 | ||
682 | /* Get next descriptor pointer. */ | 685 | /* Get next descriptor pointer. */ |
@@ -831,7 +834,7 @@ void au1xxx_dbdma_chan_free(u32 chanid) | |||
831 | 834 | ||
832 | au1xxx_dbdma_stop(chanid); | 835 | au1xxx_dbdma_stop(chanid); |
833 | 836 | ||
834 | kfree((void *)ctp->chan_desc_base); | 837 | kfree((void *)ctp->cdb_membase); |
835 | 838 | ||
836 | stp->dev_flags &= ~DEV_FLAGS_INUSE; | 839 | stp->dev_flags &= ~DEV_FLAGS_INUSE; |
837 | dtp->dev_flags &= ~DEV_FLAGS_INUSE; | 840 | dtp->dev_flags &= ~DEV_FLAGS_INUSE; |