summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorHari Kanigeri <h-kanigeri2@ti.com>2010-08-24 10:50:32 -0500
committerSebastien Jan <s-jan@ti.com>2010-09-01 09:41:41 +0200
commit876dd6fec65e39e2beb85ee2fd04cc66fb65ce96 (patch)
treeed9b33c7c0054c4587a1b989fa857846c42bf484 /arch
parent6ce937791fb32fdf111e4d32d3d5ec75e868fc94 (diff)
omap:iodmm-exclude Tiler buffers from mapped information
Exclude Tiler buffers from getting added to runtime mapped information since they are already pre-mapped in TLB. By including them in runtime leads to MMU fault during the process shutdown. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/plat-omap/iodmm.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/arch/arm/plat-omap/iodmm.c b/arch/arm/plat-omap/iodmm.c
index 6da2e1c47a09..1e911ee8aaea 100644
--- a/arch/arm/plat-omap/iodmm.c
+++ b/arch/arm/plat-omap/iodmm.c
@@ -648,25 +648,13 @@ int dmm_user(struct iodmm_struct *obj, u32 pool_id, u32 *da,
size_align = round_up(bytes + va - pa_align, PAGE_SIZE);
/*
- * Hack hack for Tiler. Remove this after proper testing
- * Tiler buffers should have VM_IO flag and that should
- * take care of instead of check with IOVMF_DA_PHYS
+ * Hack hack for Tiler. Don't add mapping information
+ * for Tiler buffers since they are already pre-mapped
+ * in TLB
*/
if (flags == IOVMF_DA_PHYS) {
da_align = user_va2_pa(current->mm, va);
*da = (da_align | (va & (PAGE_SIZE - 1)));
- dmm_obj = add_mapping_info(obj, NULL, va, da_align,
- size_align);
- if (dmm_obj == NULL) {
- err = -EINVAL;
- goto err;
- }
- num_of_pages = size_align/PAGE_SIZE;
- for (i = 0; i < num_of_pages; i++) {
- pg = phys_to_page(da_align);
- da_align += PAGE_SIZE;
- dmm_obj->pages[i] = pg;
- }
err = 0;
goto err;
}