aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
| * | | | omapdrm connector max edid 512Andy Green2012-08-17
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Andy Green <andy.green@linaro.org>
| * | | | 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>
| * | | | syslink: notify: process both cores ipc stack for each mailbox interruptSubin K G2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For each mailbox interrupt,process both cores(sysm3 and appm3) ipc stack. This is to fix the issue of message being dropped, when both cores tries to put the message at the same time. For example both sysm3 and appm3 are trying to write into MBX and appm3 sees that there is already a message pending by SYSM3.In this case appm3 will not interrupt A9.But A9 will only process sysm3 ipc stack.So to take care of this,process both cores ipc stack for each MBX interrupt. Change-Id: I209db12d54204818f6c4b24aab162263bbd53d3b Signed-off-by: Subin K G <subin.kg@ti.com>
| * | | | syslink: ipc: limit the retry count for ipc attachSubin K G2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currenlty ipc_attach is whiling inside the kernel till it become success.This has been changed to a retry for 500ms, after that it will report failure to userspace. This change is to avoid rebooting of the board, in case if ipc_attach fails. Change-Id: Ie47043c54858140e198af7354b9441232a117760 Signed-off-by: Subin K G <subin.kg@ti.com>
| * | | | omap: remoteproc: return rproc status instead of omap device statusJuan Gutierrez2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rproc_get_state was returning omap_device status instead of the current rproc status. This mismatch was leading to some unhandled states like when the remote proc is hibernated. This was causing users-space registration for PROC_START events to timeout, due to the mismatch states. Change-Id: I90601d7d69be73f0ca3031dbe0d1254d545c8bf4 Signed-off-by: Juan Gutierrez <jgutierrez@ti.com>
| * | | | syslink: procmgr: initialize is_cached parameter before unmapBryan Honza2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The is_cached parameter is not initialized prior to calling platform_mem_unmap from proc4430_detach. This change sets the is_cached parameter to false to match the value used when mapped so that the memory entries are now unmapped consistently. Change-Id: I7690d317093cd82c13c9894e8cbc0fb2432dff02 Signed-off-by: Bryan Honza <honza@ti.com>
| * | | | syslink: procmgr: initialize attach_countBryan Honza2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | atomic_cmpmask_and_set() is operating on an uninitialized attach_count which can pass the cmpmask as if it has been initialized resulting in the cmpmask_and_set() not initializing the attach_count. For instance, if the uninitialized attach_count happens to be 0xffffffff, atomic_cmpmask_and_set() will not change the attach_count. This attach_count is allocated on the heap. Change-Id: Iaadc3f093287d965ff4d00f8d3f9c63ce596a6d4 Signed-off-by: Bryan Honza <honza@ti.com>
| * | | | syslink: devh: Fix build break with SYSLINK_RECOVERY disabledShivananda Hebbar2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we disable SYSLINK_RECOVERY option in drivers->syslink ->SYSLINK_RECOVERY, build breaks with below errors drivers/built-in.o: In function `devh_notification_handler': drivers/dsp/syslink/devh/44xx/devh44xx.c:103: undefined reference to `ipc_recover_schedule' drivers/built-in.o: In function `devh44xx_wdt_ipc_notifier_call': drivers/dsp/syslink/devh/44xx/devh44xx.c:244: undefined reference to `ipc_recover_schedule' make: *** [.tmp_vmlinux1] Error 1 Fixed by moving ipc_revover_schedule function under SYSLINK_RECOVERY Flag. Change-Id: Idb4de38bbe1e2586eebac9f76150616ea93d56f3 Signed-off-by: Shivananda Hebbar <x0hebbar@ti.com>
| * | | | iommu: store pid in iommu drivers private dataSubin K G2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Store the pid of process who call the iommu open in it's private data so at the time of release it can be used to send death notific- ation instead of using current pid who calls the release. Change-Id: I7008a593b19fe1cef16f82874ffd9ad1e17910a6 Signed-off-by: Subin K G <subin.kg@ti.com> Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com>
| * | | | syslink: ipc: store pid in ipc drivers private dataSubin K G2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Store the pid of process who call the ipc_open in it's private data so at the time of release it can use this to send death notification instead of using current pid whenever ipc release has been called. Change-Id: I86429112bd9668869ceeae43195309be2311ab5d Signed-off-by: Subin K G <subin.kg@ti.com> Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com>
| * | | | syslink: devh: use the pid passed to the devhSubin K G2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using the current pid use the pid passed to the devh.This is the required since the process who opens the driver handle (iommu, tiler, ipc),may not the one releasing the handle.And in turn devh will be giving the wrong pid to ipu pm. Change-Id: I153ef85cbc0b5d671b82cfa5f07bbb1e99c39531 Signed-off-by: Subin K G <subin.kg@ti.com>
| * | | | syslink: notify: add missing protection to register/unregisterFernando Guzman Lugo2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were parts not protected when register/unregister single events. Change-Id: I53d99659b91abbbcef66117bca7c37bf73e7aa97 Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com>
| * | | | syslink: notify: add a mutext to protect notify drivers_handlesFernando Guzman Lugo2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add protection againts adding/removing notify drivers_handles. Change-Id: I53f391d97b9b115ac64d007cc0a0d8ef7cc80a3b Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com>
| * | | | syslink: ipc: unregister notify cbk before destroying transportshmFernando Guzman Lugo2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if you don't unregister the callback for notify events first, the transportshm object can be dereferenced in the callback causing a kerner panic. Change-Id: I0f55e2b5070bec7c617392b3080914c0372f98bf Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com>
| * | | | omap4: iommu: add pm constraints for ducati iommuSuman Anna2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A constraint for CORE domain is requested by the IOMMU driver before releasing the Ducati's RST3, and is released when the IOMMU is being disabled. This ensures that the CORE domain does not go into Retention after releasing RST3, thereby eliminating any context loss in the Ducati Unicache registers due to CORE domain OSWR transitions. For runtime PM, the constraint is relaxed after the IOMMU driver has saved its context when Ducati is either self-hibernating or being suspended, and the constraint is requested again before restoring the context for ducati resume. Change-Id: Ib4042226d2529be141d69917bdb211ee6f30bd22 Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Miguel Vadillo <vadillo@ti.com> Signed-off-by: Juan Gutierrez <jgutierrez@ti.com> Signed-off-by: Paul Hunt <hunt@ti.com>
| * | | | fix: remove duplicate hwspinlock sourceSebastien Jan2012-08-17
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sebastien Jan <s-jan@ti.com>
| * | | | fix: remove isr callbackSebastien Jan2012-08-17
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sebastien Jan <s-jan@ti.com>
| * | | | fix: 4430 platform becomes 44XXSebastien Jan2012-08-17
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sebastien Jan <s-jan@ti.com>
| * | | | OMAP: SYSLINK: cacheflushHari Kanigeri2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert "ARM: dma-mapping: remove dmac_clean_range and dmac_inv_range" This reverts commit 702b94bff3c50542a6e4ab9a4f4cef093262fe65 Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
| * | | | SYSLINK: ipu-pm ported changes specific for 2.6.38 vanilla l-o kernel.Subramaniam C.A2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds vanilla l-o 2.6.38 specific changes. The patch might get redundant once the OMAP_PM specific changes/ baseport changes go in. Check the return value of kfifo_out ti avoid a warning Do not use any constraint req/rel since the fwk is not ready yet. Signed-off-by: Miguel Vadillo <vadillo@ti.com> Signed-off-by: Subramaniam C.A <subramaniam.ca@ti.com> Signed-off-by: Cris Jansson <cjansson@ti.com>
| * | | | syslink: ipu_pm: hack to sofreset iss & fdifMiguel Vadillo2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After an iommufault iss and fdif need to be reset for the proper reuse of both. The proper api to call is _softreset() but for that sysc struct in hwmod needs to be enabled but that part is not ready. This is hack until the proper fix is done in sysc and the proper api can be used to softreset. Change-Id: I7568308bcd49697946a08a1b03b6a846dd0c9f5d Signed-off-by: Miguel Vadillo <vadillo@ti.com> Signed-off-by: Juan Gutierrez <jgutierrez@ti.com>
| * | | | omap-hwmod: Add hwmod definitions for SysLink related devicesSubramaniam C.A2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds hwmod definitions for all devices that are used/ requested by Syslink/ipu-pm. The devices are: --sl2if iss ipu mailbox hwspinlock fdif Signed-off-by: Benoit Cousson <b-cousson@ti.com> Signed-off-by: Miguel Vadillo <vadillo@ti.com> Signed-off-by: Simon Que <sque@ti.com> Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Cc: Paul Walmsley <paul@pwsan.com> Cc: Kevin Hilman <khilman@deeprootsystems.com>
| * | | | SYSLINK: Use unlocked_ioctl instead of ioctlSubramaniam C.A2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch uses unlocked_ioctl instead of ioctl in all SysLink drivers. The support for ioctl was removed since BKL is not to be used anymore. Signed-off-by: Subramaniam C.A <subramaniam.ca@ti.com>
| * | | | omap:palt-mach Use unlocked_ioctl instead of ioctlSubramaniam C.A2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch uses unlocked_ioctl instead of ioctl. The support for ioctl was removed since BKL is not to be used anymore Signed-off-by: Subramaniam C.A <subramaniam.ca@ti.com>
| * | | | SYSLINK: Migrate build changes for adding iommu-debug and enable hibernationSubramaniam C.A2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enables hibernation by default and also adds build support for iommu-debug.The patch is a port of these additions from 2.6.35 omap android kernel. Signed-off-by: Miguel Vadillo <vadillo@ti.com> Signed-off-by: Leed Aguilar <leed.aguilar@ti.com> Signed-off-by: C A Subramaniam <subramaniam.ca@ti.com>
| * | | | omap:build- Add build support for remoteproc ipudev and hwspinlockSubramaniam C.A2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support to build the remoteproc, ipudev and hwspinlock code for OMAP4. This was absent in the linux-omap 2.6.38 code. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Ramesh Gupta G <grgupta@ti.com> Signed-off-by: Simon Que <sque@ti.com> Signed-off-by: Paul Hunt <hunt@ti.com> Signed-off-by: Subramaniam C.A <subramaniam.ca@ti.com>
| * | | | syslink: ipu_pm: fix ret in idle path after recoveryMiguel Vadillo2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After recovery the mechanism to release all the resources and constraints was not taking in to consideration the IPU that is created behind the scenes to handle the sys and app constraints and as a consequence all the constraints attached to it were not released leading to not hit retention in idle path. That IPU behind scenes is a special rcb slot that only has constraints; the fix is taking care of this case and releases only the constraints. If the IPU is explicitly requested then it will be consider as a normal resource. Change-Id: I49a7ab05912bcc4de4e61c223ba0f4dd4c7a2d83 Signed-off-by: Miguel Vadillo <vadillo@ti.com> Signed-off-by: Juan Gutierrez <jgutierrez@ti.com> Signed-off-by: Paul Hunt <hunt@ti.com>
| * | | | omap: iodmm: fix the unregister mmu fault notificationHari Kanigeri2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The unregister mmu fault ioctl was wrongly calling the register_mmu_fault function instead of unregister_mmu_fault function. Change-Id: I85acae8eebadff4e75927a4454fce5d61cbe216e Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
| * | | | KW: iovmm: Initilaize the local err to 0Axel Haslam2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initilaize the local err to 0 in map_iovm_area Change-Id: I070562c89a662c95fe501d89ddea2e1af42a11e2 Signed-off-by: Axel Haslam <axelhaslam@ti.com>
| * | | | KW: iommu: Verify the obj validity before dereferencingAxel Haslam2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In iommu_save_tlb_entries and iommu_restore_tlb_entries moved initialization of the io table entry to after the check for the obj validity. Change-Id: I54ba196327422269f7ee64d00db707b7fedfda73 Signed-off-by: Axel Haslam <axelhaslam@ti.com>
| * | | | KW: iodmm: Verify pointers prior to dereferencing and init localsAxel Haslam2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the function user_to_device_map -Initialized the local w to 0 -Check the vma pointer and return if NULL -In error condition verify that gen_pool is valid before freeing the memory Change-Id: I7c3fa08dcb561564cc3e45bdc2b20d404bdbb514 Signed-off-by: Axel Haslam <axelhaslam@ti.com>
| * | | | omap:iodmm-cleanup and fixesHari Kanigeri2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch handles the following: 1. cleaned the switch statement in dmm_user.c to move the copy_from_user to individual functions. 2. Seperated the building of Scatter gather list to Map function. The list is created when the Map function is created and deleted when the unmap function is called. Previously this list was created during flush function and deleted during the invalidate function. The previous implementation would fail if the Users call the invalidate function directly without calling flush function, as it would require calling flush function prior to calling invalidate function. The previous implementation also includes the overhead in creating and deleting the SG list for every flush and invalidate calls. 3. Changed the logic to track mapping object based on MPU VA instead of page aligned MPU VA. This is because if there are 2 MPU buffers with virtual addresses within the Page boundary, then there would be 2 Mapping objects with same virtual address. 4. Delete the DMM pools only when all the handles to IODMM are closed. The ioctl DMM_IOCDELETEPOOL can be deprecated with this change. 5. Added the SYS ADMIN check for create dmm pools, and set tlb entry ioctls. This code is currently kept commented out. 6. DMA Flush APIs are still optionally selected using CONFIG_DMM_DMA_API option. This is not selected by default. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> omap:iodmm-send notification on close only when resources not free Instead of sending the notification on every IOMMU close, send it only when there are still mapped resources to avoid the remote processor accessing these resources. After compelting the notification, the iommu release function can safely remove the mapped entries. Change-Id: Ib162bb4aa4ec0ed287a4b7484f54b0712871804e Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
| * | | | omap:iommu: restore just the prsvd tlb entriesMiguel Vadillo2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, when restoring the iommu context, all the TLB entries marked valid were being reloaded. Reading dynamically loaded TLBs back from the MMU registers during a context save operation returned addresses that were not aligned to the boundaries of the page sizes indicated in the respective fields. Attempting to restore these unaligned entries in the MMU resulted in warnings from the restore routines. Since only the locked TLB entries need to be loaded before restarting the processor, we are now restoring only those. (All the locked entries were marked as protected/preserved when they were initially loaded.) We are still investigating the root cause of why the alignment appears wrong in the TLB entries loaded as a result of a TLB miss by the table walking logic. Signed-off-by: Miguel Vadillo <vadillo@ti.com>
| * | | | omap:iommu-event notification shouldn't be blocking callHari Kanigeri2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | iommu_notify_event function is called from interrupt context, and this function is using internally blocking_notifier_call_chain call that could sleep. The fix is changing blocking_notifier to raw_notifier and let the callers of the iommu_notify_event handle the protection. iommu_notify_event is used for 2 purposes. One is for MMU FAULT notification to the device handler where the devh sets the error state to Fault and prevents the broadcasting of any iommu close notifications. This shouldn't be blocking. Second, it is used to broadcast the notifications of the Process ID that closed the iommu handle to remote processor. This could be blocking. Reported by Hari Nagalla Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Hari Nagalla <hnagalla@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:iodmm-make dma call for flushing configurableHari Kanigeri2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use dma calls for cache flushing under a configurable flag. Use this option until Multimedia integration issues are sorted out. 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: save/restore changes for iommuMiguel Vadillo2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | omap:iommu: save/restore tlbs entries Introduce a way to save/restore the tlbs entries. When saving is call all 32 entries are saved. When restoring just the valid ones are restored. A new member in iommu obj was added to save/restore the tlbs - iommu tlbs context: saved area struct iotlb_entry *tlbs_e Signed-off-by: Miguel Vadillo <vadillo@ti.com> Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Fernando Guzman Lugo <x0095840@ti.com> Signed-off-by: Juan Gutierrez <jgutierrez@ti.com> Signed-off-by: Paul Hunt <hunt@ti.com> omap:iommu: Change in iommu to save/restore To save the context the tlbs are being saved using iommu_save_tlb_entries() then the iommu is disable. To restore the context the tlbs are being restored using iommu_restore_tlb_entries() then the iommu is enable. There is no need to save the registers that is why ctx was removed from the iommu struct. omap2_save/restore function were removed. Signed-off-by: Miguel Vadillo <vadillo@ti.com> Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Fernando Guzman Lugo <x0095840@ti.com> Signed-off-by: Juan Gutierrez <jgutierrez@ti.com> Signed-off-by: Paul Hunt <hunt@ti.com omap:iommu: dump ctx for omap4 Adding the two new registers just for omap4 in the dumping context function. Signed-off-by: Miguel Vadillo <vadillo@ti.com> Signed-off-by: Juan Gutierrez <jgutierrez@ti.com> Signed-off-by: Paul Hunt <hunt@ti.com> omap:iommu: iommu_debug fix due to api change New function to get the version of IOMMU was added since now there is a need to determine if its tesla or ducati. iommu_debug.c was updated to use this API Signed-off-by: Miguel Vadillo <vadillo@ti.com> Signed-off-by: Juan Gutierrez <jgutierrez@ti.com> Signed-off-by: Paul Hunt <hunt@ti.com> omap:iommu: set MMU_GP_REG to force a bus error upon MMU fault MMU_GP_REG[0] determines the behavior of Ducati cores upon hitting an MMU fault (address is not mapped in L2MMU). If it is not set, the cores are hung preventing the fault handler to run. If one introduces a bus error, the fault handler gets to run and prints state information which is useful for debug. Signed-off-by: Wajahat Khan <w-khan@ti.com> Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
| * | | | omap:iodmm Various fixes for iodmmHari Kanigeri2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | omap:iodmm-fixes to unmap and general cleanup Following fixes are handled by this patch. - Unmapping of buffers - Pages were allocated on 1K boundary instead of 4K - Use VM_IO to detect IO buffers (eg: Tiler) - Page_cache_release calls were missing for unmapping part. - find_containing_mapping function is extended to check based on da address as well. This is needed during unmap part - Cleanup of unused header files in iodmm.c - Cleanup of unused case to clear PTE entries. PTE entries would get cleaned during device release - Added function headers with description - Uncommented omap_delete_vmm_pool code. This patch still has a hack code to handle Tiler buffer. Tiler buffer should be handle dby VM_IO itself and doesn't need to depend on flags. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> 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>
| * | | | omap:iommu-enable user to va supportHari Kanigeri2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enabled the support to map the buffer that is passed through mmap. Also comment out the vmm delete pool function as this is broken. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
| * | | | omap:iommu-add spinlock protection to event list accessAngela Stegmaier2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds spinlock protection to event list accesses in order to avoid list corruption. Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
| * | | | omap:iommu-dmm fixesHari Kanigeri2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following: 1. pgd and pte entries weren't getting flushed out leading to MMU faults. 2. Cache invalidate was setting wrong size parameter to memory_regain_ownership leading cache invalidate function to fail. 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-disable TWL for ES1.0 by checking the CPU RevisionRamesh Gupta Guntha2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disable TWL for ES1.0 by checking the CPU Revision [Hari] - Amended the patch to move enabling/disabling of TWL part to iommu_get function since this needs to be executed only once. Signed-off-by: Ramesh Gupta G <grgupta@ti.com> Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
| * | | | IOVMM add flush invalidate support for userspace buffersRamesh Gupta Guntha2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add flush and invalidate suppor for userspace buffers. Signed-of-by: Ramesh Gupta G <grgupta@ti.com> Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
| * | | | omap:iommu-notifier callback mechanism for mmu eventsHari Kanigeri2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement notifier callback mechanism for IOMMU events such as MMU fault and file close. The Error handler that hooks to this registration would notify the remote processor whenever a process closed the iommu. This is to ensure that the Processes on Remote process stop accessing the buffers mapped by the terminating Process Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
| * | | | omap:iommu-disable the MMU interrupts in fault ISRAngela Stegmaier2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of disabling the MMU device, just disable the MMU interrupts when the MMU fault occurs. This change is required because the user applications might be releasing the MMU resources after the MMU fault recovery and this requires MMU to be in enabled state. MMU will be disabled after all the open handles to IOMMU are closed. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Angela Stegmaier <angelabaker@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>