diff options
author | Fernando Guzman Lugo <x0095840@ti.com> | 2010-10-05 16:35:42 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-10-05 18:30:58 -0400 |
commit | db348ca36e5881cd1d2e5caa6eee7d0237d07a3d (patch) | |
tree | 56e9be2fe55d66d2b178ed17ba9fd41885e9f217 /drivers/staging/tidspbridge/rmgr/proc.c | |
parent | b5a44939231d6e3b0354624289507bfa1432a7b1 (diff) |
staging: tidspbridge - remove reserved memory clean up
Now iommv module keeps track of iommu memory used,
we do not need resource cleanup for reserved
memories anymore.
Signed-off-by: Fernando Guzman Lugo <x0095840@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/tidspbridge/rmgr/proc.c')
-rw-r--r-- | drivers/staging/tidspbridge/rmgr/proc.c | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/drivers/staging/tidspbridge/rmgr/proc.c b/drivers/staging/tidspbridge/rmgr/proc.c index 59c946bb3ed..e5fec572903 100644 --- a/drivers/staging/tidspbridge/rmgr/proc.c +++ b/drivers/staging/tidspbridge/rmgr/proc.c | |||
@@ -1515,7 +1515,6 @@ int proc_reserve_memory(void *hprocessor, u32 ul_size, | |||
1515 | struct dmm_object *dmm_mgr; | 1515 | struct dmm_object *dmm_mgr; |
1516 | int status = 0; | 1516 | int status = 0; |
1517 | struct proc_object *p_proc_object = (struct proc_object *)hprocessor; | 1517 | struct proc_object *p_proc_object = (struct proc_object *)hprocessor; |
1518 | struct dmm_rsv_object *rsv_obj; | ||
1519 | 1518 | ||
1520 | if (!p_proc_object) { | 1519 | if (!p_proc_object) { |
1521 | status = -EFAULT; | 1520 | status = -EFAULT; |
@@ -1529,22 +1528,6 @@ int proc_reserve_memory(void *hprocessor, u32 ul_size, | |||
1529 | } | 1528 | } |
1530 | 1529 | ||
1531 | status = dmm_reserve_memory(dmm_mgr, ul_size, (u32 *) pp_rsv_addr); | 1530 | status = dmm_reserve_memory(dmm_mgr, ul_size, (u32 *) pp_rsv_addr); |
1532 | if (status != 0) | ||
1533 | goto func_end; | ||
1534 | |||
1535 | /* | ||
1536 | * A successful reserve should be followed by insertion of rsv_obj | ||
1537 | * into dmm_rsv_list, so that reserved memory resource tracking | ||
1538 | * remains uptodate | ||
1539 | */ | ||
1540 | rsv_obj = kmalloc(sizeof(struct dmm_rsv_object), GFP_KERNEL); | ||
1541 | if (rsv_obj) { | ||
1542 | rsv_obj->dsp_reserved_addr = (u32) *pp_rsv_addr; | ||
1543 | spin_lock(&pr_ctxt->dmm_rsv_lock); | ||
1544 | list_add(&rsv_obj->link, &pr_ctxt->dmm_rsv_list); | ||
1545 | spin_unlock(&pr_ctxt->dmm_rsv_lock); | ||
1546 | } | ||
1547 | |||
1548 | func_end: | 1531 | func_end: |
1549 | dev_dbg(bridge, "%s: hprocessor: 0x%p ul_size: 0x%x pp_rsv_addr: 0x%p " | 1532 | dev_dbg(bridge, "%s: hprocessor: 0x%p ul_size: 0x%x pp_rsv_addr: 0x%p " |
1550 | "status 0x%x\n", __func__, hprocessor, | 1533 | "status 0x%x\n", __func__, hprocessor, |
@@ -1756,7 +1739,6 @@ int proc_un_reserve_memory(void *hprocessor, void *prsv_addr, | |||
1756 | struct dmm_object *dmm_mgr; | 1739 | struct dmm_object *dmm_mgr; |
1757 | int status = 0; | 1740 | int status = 0; |
1758 | struct proc_object *p_proc_object = (struct proc_object *)hprocessor; | 1741 | struct proc_object *p_proc_object = (struct proc_object *)hprocessor; |
1759 | struct dmm_rsv_object *rsv_obj; | ||
1760 | 1742 | ||
1761 | if (!p_proc_object) { | 1743 | if (!p_proc_object) { |
1762 | status = -EFAULT; | 1744 | status = -EFAULT; |
@@ -1770,24 +1752,6 @@ int proc_un_reserve_memory(void *hprocessor, void *prsv_addr, | |||
1770 | } | 1752 | } |
1771 | 1753 | ||
1772 | status = dmm_un_reserve_memory(dmm_mgr, (u32) prsv_addr); | 1754 | status = dmm_un_reserve_memory(dmm_mgr, (u32) prsv_addr); |
1773 | if (status != 0) | ||
1774 | goto func_end; | ||
1775 | |||
1776 | /* | ||
1777 | * A successful unreserve should be followed by removal of rsv_obj | ||
1778 | * from dmm_rsv_list, so that reserved memory resource tracking | ||
1779 | * remains uptodate | ||
1780 | */ | ||
1781 | spin_lock(&pr_ctxt->dmm_rsv_lock); | ||
1782 | list_for_each_entry(rsv_obj, &pr_ctxt->dmm_rsv_list, link) { | ||
1783 | if (rsv_obj->dsp_reserved_addr == (u32) prsv_addr) { | ||
1784 | list_del(&rsv_obj->link); | ||
1785 | kfree(rsv_obj); | ||
1786 | break; | ||
1787 | } | ||
1788 | } | ||
1789 | spin_unlock(&pr_ctxt->dmm_rsv_lock); | ||
1790 | |||
1791 | func_end: | 1755 | func_end: |
1792 | dev_dbg(bridge, "%s: hprocessor: 0x%p prsv_addr: 0x%p status: 0x%x\n", | 1756 | dev_dbg(bridge, "%s: hprocessor: 0x%p prsv_addr: 0x%p status: 0x%x\n", |
1793 | __func__, hprocessor, prsv_addr, status); | 1757 | __func__, hprocessor, prsv_addr, status); |