aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/tidspbridge/rmgr/proc.c
diff options
context:
space:
mode:
authorFernando Guzman Lugo <x0095840@ti.com>2010-10-05 16:35:42 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-10-05 18:30:58 -0400
commitdb348ca36e5881cd1d2e5caa6eee7d0237d07a3d (patch)
tree56e9be2fe55d66d2b178ed17ba9fd41885e9f217 /drivers/staging/tidspbridge/rmgr/proc.c
parentb5a44939231d6e3b0354624289507bfa1432a7b1 (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.c36
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
1548func_end: 1531func_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
1791func_end: 1755func_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);