summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorC A Subramaniam <subramaniam.ca@ti.com>2009-10-21 23:25:20 +0530
committerRicardo Perez Olivares <x0081762@ti.com>2009-10-27 16:23:57 -0600
commitbe1f0ec29e24c6941bda41a06783dd21982de10d (patch)
tree3bb3b228c56183e8fc4f48b35568255d9da4d9bc
parent6ee6fa65871d657b68e4282729ffe2327c9c6e3b (diff)
SYSLINK PROCMGR Fix to support multiple load/run of ducati samples
Fixed the bug where the L4 peripheral address table was getting corrupted after calling mmu module's function to update TLB entry. this resulted in the consecutive runs failure as wrong addresses gets programmed due to L4 peripheral table corruption. Signed-off-by: C A Subramaniam <subramaniam.ca@ti.com> Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
-rw-r--r--drivers/dsp/syslink/procmgr/proc4430/ducatienabler.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/dsp/syslink/procmgr/proc4430/ducatienabler.c b/drivers/dsp/syslink/procmgr/proc4430/ducatienabler.c
index 34ca12153e33..a924c0dda60f 100644
--- a/drivers/dsp/syslink/procmgr/proc4430/ducatienabler.c
+++ b/drivers/dsp/syslink/procmgr/proc4430/ducatienabler.c
@@ -1105,8 +1105,10 @@ int ducati_mmu_init(u32 a_phy_addr)
printk(KERN_INFO "PA [0x%x] VA [0x%x] size [0x%x]\n",
l4_map[i].ul_phy_addr, l4_map[i].ul_virt_addr,
l4_map[i].ul_size);
- ret_val = add_dsp_mmu_entry((u32 *)&l4_map[i].ul_phy_addr,
- (u32 *)&l4_map[i].ul_virt_addr, (l4_map[i].ul_size));
+ virt_addr = l4_map[i].ul_virt_addr;
+ phys_addr = l4_map[i].ul_phy_addr;
+ ret_val = add_dsp_mmu_entry(&phys_addr,
+ &virt_addr, (l4_map[i].ul_size));
if (WARN_ON(ret_val < 0)) {
DPRINTK("**** Failed to map Peripheral ****");