diff options
author | C A Subramaniam <subramaniam.ca@ti.com> | 2009-10-21 23:25:20 +0530 |
---|---|---|
committer | Ricardo Perez Olivares <x0081762@ti.com> | 2009-10-27 16:23:57 -0600 |
commit | be1f0ec29e24c6941bda41a06783dd21982de10d (patch) | |
tree | 3bb3b228c56183e8fc4f48b35568255d9da4d9bc | |
parent | 6ee6fa65871d657b68e4282729ffe2327c9c6e3b (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.c | 6 |
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 ****"); |