| Age | Commit message (Collapse) | Author |
|
This is the first version of SGX driver integration to ensure UI
boot-up. Power management and hwmod modifications will be added
as patches.
Change-Id: If71e6cd651a53f4809e7b978b693cb7d1a89178d
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
|
|
The Errata 588369 and 539766 demands that clean all operation be done
as clean each way at a time
This patch also raps the implementation under the CONFIG errata
macro so that for non-errata version silicon it can be disabled
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Woodruff, Richard <r-woodruff2@ti.com>
|
|
Signed-off-by: Andy Green <andy.green@linaro.org>
|
|
Signed-off-by: Andy Green <andy.green@linaro.org>
|
|
Signed-off-by: Andy Green <andy.green@linaro.org>
|
|
Signed-off-by: Andy Green <andy.green@linaro.org>
|
|
Signed-off-by: Andy Green <andy.green@linaro.org>
|
|
Keyboard support for SDP OMAP4430
Signed-off-by: Abraham Arce <x0066660@ti.com>
Signed-off-by: Sebastien Jan <s-jan@ti.com>
|
|
Signed-off-by: Sebastien Jan <s-jan@ti.com>
|
|
Register keyboard device with hwmod framework
Signed-off-by: Abraham Arce <x0066660@ti.com>
Signed-off-by: Sebastien Jan <s-jan@ti.com>
|
|
Register 2 Synaptic TM1217 Touchscreen controllers for OMAP4430
development platform
Signed-off-by: Abraham Arce <x0066660@ti.com>
Signed-off-by: Sebastien Jan <s-jan@ti.com>
|
|
Add Synaptic TM12XX touchscreen driver
Signed-off-by: Abraham Arce <x0066660@ti.com>
|
|
|
|
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>
|
|
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>
|
|
This patch adds hwmod definitions for all devices that are used/
requested by Syslink/ipu-pm.
The devices are:
--sl2if 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>
Signed-off-by: Andy Green <andy.green@linaro.org>
|
|
|
|
Signed-off-by: Andy Green <andy.green@linaro.org>
|
|
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>
|
|
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>
|
|
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>
|
|
Initilaize the local err to 0 in map_iovm_area
Change-Id: I070562c89a662c95fe501d89ddea2e1af42a11e2
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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-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 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-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>
|
|
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>
|
|
This patch adds spinlock protection to event list accesses in order
to avoid list corruption.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
|
|
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>
|
|
use platform device instead of omap device for iovmm.
Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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-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>
|
|
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>
|
|
This patch removes the clk_enable/disable functions for
iommu functions, module auto idle should take care
of this.
Signed-off-by: Ramesh Gupta G<grgupta@ti.com>
|
|
omap: iommu-update irq mask to be specific about twl and tlb
Revise the IRQ mask definitions to handle the MMU faults related
to TWL fault as well as TLB miss fault.
Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Signed-off-by: Hiroshi Doyu <Hiroshi.DOYU@nokia.com>
omap: iommu-add functionality to get TLB miss interrupt
In order to enable TLB miss interrupt, the TWL should be
disabled. This patch provides the functionality to get the
MMU fault interrupt for a TLB miss in the cases where the
users are working with the locked TLB entries and with TWL
disabled.
New interface is added to select twl and to enable TLB miss
interrupt.
Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Signed-off-by: Ramesh Gupta <grgupta@ti.com>
Signed-off-by: Hiroshi Doyu <Hiroshi.DOYU@nokia.com>
|
|
This patch adds build related files
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>
|
|
Enable gptimer 4 and 9 to be used as ipu clk. Gptimers will
be requested when calling rproc_start() and released them
when calling rproc_stop(), also when hibernating ipu the
gptimers will be stop/start to ensure proper pm functionality.
The gptimer numbers are configurable, currently 4 will be used
by ipu_c0 and 9 by ipu_c1.
Change-Id: I9424991e34e786ab2f57a1dc625ae801290fd7b6
Reported-by: Paul Hunt <hunt@ti.com>
Signed-off-by: Miguel Vadillo <vadillo@ti.com>
|
|
The current code is freeing dmtimer in proc stop only if the
proc state is in RUNNING. But the proc stop could be called
when the proc state is HIBERNATION.
The fix is to free dmtimer without any check
Change-Id: Ib9efbb38b8973f688013f3a8f4a94cae1469e390
Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
|
|
Moved the debug print statement in omap_rproc_ioctl so that rproc will
be valid when derefenced in the log statement
Change-Id: Ib13c98b953d5254d5227a08631cea99a88c29cb1
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
|
The dmtimer module now supports the saving and restoration of timer
registers which would otherwise be lost when going to OSWR or OFF.
This patch adapts remoteproc to use omap_dm_timer_stop( ) and
omap_dm_timer_start( ) which handle the save and restore respectively,
instead of omap_dm_timer_disable( ) and omap_dm_timer_enable( ).
Change-Id: Id13a3365a4ca8dca55178fbba90b11c480a6e2a4
Signed-off-by: Paul Hunt <hunt@ti.com>
|