Commit 1d34c12b authored by Jayan John's avatar Jayan John Committed by Hari Kanigeri

SYSLINK: ipc - fixes/ additions in ducatienabler and notify_ducati driver.

This patch fixes the issues found in..
	<1> notify_ducati.c: we were not unmapping
		"driver_obj->ctrl_ptr". This is done using
		unmap_ducati_virt_mem() implemented now in
		ducatienabler.
	<2> ducatienabler.c: implemented unmap_ducati_virt_mem()
		to iounmap() the "shm_virt_addr" we get calling
		ioremap() in get_ducati_virt_mem().
	<3> ducatienabler.h: added unmap_ducati_virt_mem().
	<4> notify_ducatidriver.h: added unmap_ducati_virt_mem().
Signed-off-by: default avatarJayan John <x00jayan@ti.com>
parent cb591ce7
...@@ -195,6 +195,7 @@ void dbg_print_ptes(bool ashow_inv_entries, bool ashow_repeat_entries); ...@@ -195,6 +195,7 @@ void dbg_print_ptes(bool ashow_inv_entries, bool ashow_repeat_entries);
int ducati_setup(void); int ducati_setup(void);
void ducati_destroy(void); void ducati_destroy(void);
u32 get_ducati_virt_mem(); u32 get_ducati_virt_mem();
void unmap_ducati_virt_mem(u32 shm_virt_addr);
int ducati_mem_map(u32 va, u32 da, u32 num_bytes, u32 map_attr); int ducati_mem_map(u32 va, u32 da, u32 num_bytes, u32 map_attr);
int ducati_mem_unmap(u32 da, u32 num_bytes); int ducati_mem_unmap(u32 da, u32 num_bytes);
u32 user_va2pa(struct mm_struct *mm, u32 address); u32 user_va2pa(struct mm_struct *mm, u32 address);
......
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
extern u32 get_ducati_virt_mem(); extern u32 get_ducati_virt_mem();
extern void unmap_ducati_virt_mem(u32 shm_virt_addr);
/* /*
* func notify_mbxdrv_register_event * func notify_mbxdrv_register_event
......
...@@ -528,6 +528,7 @@ int notify_ducatidrv_delete(struct notify_driver_object **handle_ptr) ...@@ -528,6 +528,7 @@ int notify_ducatidrv_delete(struct notify_driver_object **handle_ptr)
recv_init_status = 0x0; recv_init_status = 0x0;
driver_obj->ctrl_ptr->proc_ctrl[driver_obj->self_id]. driver_obj->ctrl_ptr->proc_ctrl[driver_obj->self_id].
send_init_status = 0x0; send_init_status = 0x0;
unmap_ducati_virt_mem((u32) driver_obj->ctrl_ptr);
driver_obj->ctrl_ptr = NULL; driver_obj->ctrl_ptr = NULL;
} }
......
...@@ -823,7 +823,7 @@ void ducati_destroy(void) ...@@ -823,7 +823,7 @@ void ducati_destroy(void)
EXPORT_SYMBOL(ducati_destroy); EXPORT_SYMBOL(ducati_destroy);
/*============================================ /*============================================
* Returns the duati virtual address for IPC shared memory * Returns the ducati virtual address for IPC shared memory
* *
*/ */
u32 get_ducati_virt_mem() u32 get_ducati_virt_mem()
...@@ -833,4 +833,13 @@ u32 get_ducati_virt_mem() ...@@ -833,4 +833,13 @@ u32 get_ducati_virt_mem()
} }
EXPORT_SYMBOL(get_ducati_virt_mem); EXPORT_SYMBOL(get_ducati_virt_mem);
/*============================================
* Unmaps the ducati virtual address for IPC shared memory
*
*/
void unmap_ducati_virt_mem(u32 shm_virt_addr)
{
iounmap((unsigned int *) shm_virt_addr);
return;
}
EXPORT_SYMBOL(unmap_ducati_virt_mem);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment