aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/omap-iommu.c
Commit message (Collapse)AuthorAge
* syslink: iommu: provide new api to return a deviceBryan Honza2012-08-17
| | | | | | | | | | | The ipu device is missing from the omap_ipupm_data. This results in a null device pointer being used when applying constraints. This change provides an api which can be used to return a device when queried by name. This is to support initializing omap_ipupm_data with a device. Change-Id: I490e61db6361652aa0fd63ba51e98af937eb800e Signed-off-by: Bryan Honza <honza@ti.com>
* omap:iommu-handle the omap_hwmod_lookup value gracefullyHari Kanigeri2012-08-17
| | | | | | | | | In case omap_hwmod_lookup returns NULL, don't proceed further for this instance and continue with next device. Reported by: Rajendra Nayak Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
* omap:iommu: early registeration of iommu to handle hwmod dependency.Hari Kanigeri2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DVFS framework for DSP is dependent on hwmod registeration completed for DSP in iommu driver. This patch moves the iommu initialization to post-core init to ensure the registeration is completed prior to DVFS stuff. Without this fix, the following warning was observed during boot-up. ------------[ cut here ]------------ WARNING: at arch/arm/mach-omap2/pm.c:54 omap4_get_dsp_device+0x34/0x50() Modules linked in: Backtrace: [<c0039f9c>] (dump_backtrace+0x0/0x110) from [<c0380ce8>] (dump_stack+0x18/0x1c) r7:00000000 r6:c0041f70 r5:c044ba64 r4:00000036 [<c0380cd0>] (dump_stack+0x0/0x1c) from [<c006fde0>] (warn_slowpath_common+0x54/ 0x6c) [<c006fd8c>] (warn_slowpath_common+0x0/0x6c) from [<c006fe1c>] (warn_slowpath_nu ll+0x24/0x2c) r9:00000000 r8:00000000 r7:00000001 r6:c000f708 r5:c0508784 r4:c0503024 [<c006fdf8>] (warn_slowpath_null+0x0/0x2c) from [<c0041f70>] (omap4_get_dsp_devi ce+0x34/0x50) [<c0041f3c>] (omap4_get_dsp_device+0x0/0x50) from [<c001137c>] (omap4_pm_init_op p_table+0x144/0x244) r5:c0508784 r4:c050326c [<c0011238>] (omap4_pm_init_opp_table+0x0/0x244) from [<c000f79c>] (omap2_common _pm_init+0x94/0xbc) r5:c0508784 r4:c0503024 [<c000f708>] (omap2_common_pm_init+0x0/0xbc) from [<c003558c>] (do_one_initcall+ 0x64/0x1bc) r5:c0508784 r4:c002b5bc [<c0035528>] (do_one_initcall+0x0/0x1bc) from [<c0008644>] (kernel_init+0x168/0x 238) r7:c050877c r6:c04ca560 r5:c0508784 r4:c002b5bc [<c00084dc>] (kernel_init+0x0/0x238) from [<c00736f0>] (do_exit+0x0/0x5f0) r7:00000013 r6:c00736f0 r5:c00084dc r4:00000000 ---[ end trace dec6997083161631 ]--- Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Paul Hunt <hunt@ti.com>
* omap:iodmm Refactor iodmm code and fix compilation issue. Allow cache flushHari Kanigeri2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | omap:iodmm-dmm code moved to new file and fixes The patch handles the following 1. Moved the code out of iovmm to new file. 2. Removed the config option related to IOVMM in makefile 3. Moved the DMM pool creation part to iodmm.c 4. Removed the hacks that were made to handle Tiler buffers. 5. Only buffers that are mapped would be permittted for flushing. 6. Removed the ioctl to program PTE entries directly from userspace. Regular DMM should be used to program the PTE entries. This requires userspace change 7. Removed unused functions. 8. Provided the support to map Anonymous buffers. 9. Provided the support to map Physical address if passed. 10. Replaced the local spinlock with global mutex lock for critical critical sections. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> omap:iodmm-resolve compilation issue This patch resolves the following build issue that was observed when build with omap3 defcofig. arch/arm/plat-omap/iodmm.c: In function 'user_to_device_map': arch/arm/plat-omap/iodmm.c:425: error: dereferencing pointer to incomplete type arch/arm/plat-omap/iodmm.c: In function 'dmm_user': arch/arm/plat-omap/iodmm.c:655: error: dereferencing pointer to incomplete type arch/arm/plat-omap/iodmm.c:744: error: dereferencing pointer to incomplete type make[1]: *** [arch/arm/plat-omap/iodmm.o] Error 1 m Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> omap:iodmm-allow unconditional cache flush This patch reverts back Russell King's patch to do the userspace buffer cache flush. This allows unconditional cache operations and this patch is considered as a hack patch until the new API is alinged with MM team Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
* omap:iommu-use platform device for iovmmHari Kanigeri2012-08-17
| | | | | | use platform device instead of omap device for iovmm. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
* omap:iommu -Inital support for DMM using iommuHari Kanigeri2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | omap:iommu-ported dspbridge's dmm code to iommu This patch ports the dspbridge's dmm code to iommu location. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Ramesh Gupta <grgupta@ti.com> omap:iommu-added cache flushing operation for L2 cache Signed-off-by: Ramesh Gupta <grgupta@ti.com> Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> omap:iovmm-add interface to userspace DMM signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> signed-off-by: Ramesh Gupta <grgupta@ti.com> omap:iommu-event notification to userspace Implement iommu event notifications to userspace using eventfd Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Angela Stegmaier <angelabaker@ti.com> IODMM add support for unmap functionality Adds unmap functionality , adds the map information of loadable sections to the mapped list. Signed-off-by: Ramesh Gupta G <grgupta@ti.com>
* omap:iommu-adapt to hwmod implementationHari Kanigeri2012-08-17
| | | | | | | This patch adapts iommu to hwmod implementation for OMAP4. Work needs to be done for OMAP3 Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
* OMAP: iommu: make iva2 iommu selectableFelipe Contreras2010-12-15
| | | | | | | | | It seems dsp-link will do this, and tidspbridge too at some point, but right now it's not possible to select CONFIG_MPU_BRIDGE_IOMMU. Cc: Fernando Guzman Lugo <fernando.lugo@ti.com> Cc: Yogesh Marathe <yogesh_marathe@ti.com> Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
* OMAP: iommu: create new api to set valid da rangeGuzman Lugo, Fernando2010-12-15
| | | | | | | | Some IOMMUs cannot use the whole 0x0 - 0xFFFFFFFF range. With this new API the valid range can be set. Signed-off-by: Fernando Guzman Lugo <x0095840@ti.com> Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
* omap iommu: update ducati mmu irq define nameKanigeri, Hari2010-06-29
| | | | | | | | 2.6.34-rc6 kernel has the Ducati mmu irq define name changed, which is resulting in compilation error. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
* omap iommu: support for OMAP4Kanigeri, Hari2010-05-14
| | | | | | | This patch provides the iommu support for OMAP4 co-processors. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
* omap iommu: renamed omap3-iommu to omap-iommuKanigeri, Hari2010-05-14
This patch includes changes to omap3-iommu.c file to make it generic for all OMAPs. Renamed omap3-iommu.c to omap-iommu.c [Hiroshi DOYU: Remove unnecessary "iommu-y" in Makefile] Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>