aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
Commit message (Collapse)AuthorAge
* Naively enable some performance counters.HEADpandaboard-litmusChristopher Kenna2012-10-10
|
* Merge remote-tracking branch 'oneiric-ubuntu/pandaboard' into pandaboard-litmusChristopher Kenna2012-09-20
|\ | | | | | | | | | | | | | | | | | | | | | | Remote branch is from Ubuntu Oneiric (tag Ubuntu-3.0.0-1215.27) with minor patch to the TWL-RTC code. Trying to pull this into LITMUS^RT staging (as of 9/20/2012) to get LITMUS^RT running on the PandaBoard. Conflicts: Makefile fs/exec.c include/linux/fs.h kernel/fork.c
| * omap4: add 4430 ES2.3 supportAnand Gadiyar2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | And default to 4430 ES2.3 for unidentified silicon. Signed-off-by: Anand Gadiyar <gadiyar@ti.com> (partially backported from 55035c1524b5b48ac7d267167c4895f7831897ad) BugLink: http://bugs.launchpad.net/bugs/917264 Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
| * Revert "DRM: OMAP: Fixing PVR kernel module name"Sebastien Jan2012-08-17
| | | | | | | | | | | | This reverts commit 13312d2e5bae87b72f030290e6675e07833b3db0. Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
| * Revert "Staging: OMAPDRM: Changing driver's name to be compatible with ↵Sebastien Jan2012-08-17
| | | | | | | | | | | | | | | | userspace" This reverts commit e3e5280a1cb7c90b1a208ffd8cd3c9918cc24d57. Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
| * OMAP2+: mailbox: fix lookups for multiple mailboxesSebastien Jan2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-apply the following patch. It was partially reverted by a merge with mutex addition. This fix is required because, as expected, the concerned code generates an error with gcc4.6 (but not with gcc4.5!). OMAP2+: mailbox: fix lookups for multiple mailboxes The pointer math in omap_mbox_get() is not quite right, and leads to passing NULL to strcmp() when searching for an mbox that is not first in the list. Convert to using array indexing as is done in all the other functions which walk the mbox list. Tested on OMAP2420/n810, OMAP3630/zoom3, OMAP4430/Blaze Signed-off-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Conflicts: arch/arm/plat-omap/mailbox.c Signed-off-by: Sebastien Jan <s-jan@ti.com>
| * config straighten outAndy Green2012-08-17
| | | | | | | | Signed-off-by: Andy Green <andy.green@linaro.org>
| * Staging: OMAPDRM: Changing driver's name to be compatible with userspaceRicardo Salveti de Araujo2012-08-17
| | | | | | | | Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
| * OMAP4460: L2X0 workaround applies just at 4460 ES1.0Ricardo Salveti de Araujo2012-08-17
| | | | | | | | Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
| * DRM: OMAP: Fixing PVR kernel module nameRicardo Salveti de Araujo2012-08-17
| | | | | | | | | | | | | | | | We currently expect it to be "pvrsrvkm" and not "omap_gpu_pvr", so change it to load the correct driver. Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com> Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
| * OMAP4460: HDMI: Disable HDMI DDC internal pull up resistorRicardo Salveti de Araujo2012-08-17
| | | | | | | | | | | | | | | | | | Disables the internal pull resistor for SDA and SCL enabled by default as there are expernal pull up's to avoid the EDID read failure. Patch done mainly by Mythri P K <mythripk@ti.com> Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
| * OMAP: hwmod: fix the i2c-reset timeout during bootupAvinash.H.M2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sequence of _ocp_softreset doesn't work for i2c. The i2c module has a special sequence to reset the module. The sequence is - Disable the I2C. - Write to SOFTRESET bit. - Enable the I2C. - Poll on the RESETDONE bit. The sequence is implemented as a function and the i2c_class is updated with the correct 'reset' pointer. omap_hwmod_softreset function is implemented which triggers the softreset by writing into sysconfig register. On following this sequence, i2c module resets properly and timeouts are not seen. Cc: Rajendra Nayak <rnayak@ti.com> Cc: Paul Walmsley <paul@pwsan.com> Cc: Benoit Cousson <b-cousson@ti.com> Cc: Kevin Hilman <khilman@ti.com> Signed-off-by: Avinash.H.M <avinashhm@ti.com> [paul@pwsan.com: combined this patch with a patch to remove HWMOD_INIT_NO_RESET from the 44xx hwmod flags; change register offset conditional code to use the IP block revision; minor code cleanup] Signed-off-by: Paul Walmsley <paul@pwsan.com>
| * I2C: OMAP2+: add correct functionality flags to all omap2plus i2c dev_attrAndy Green2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the new functionality flags for omap i2c unit to all OMAP2 hwmod definitions Cc: patches@linaro.org Cc: Ben Dooks <ben-linux@fluff.org> Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Andy Green <andy.green@linaro.org> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
| * I2C: OMAP2+: Tag all OMAP2+ hwmod defintions with I2C IP revisionAndy Green2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we cannot trust (or even reliably find) the OMAP I2C peripheral unit's own revision register, we must inform the OMAP i2c driver of which IP version it is running on. We do this by tagging the omap_hwmod_class for i2c on all the OMAP2+ platform / cpu specific hwmod init and passing it up to the driver (next patches). Cc: patches@linaro.org Cc: Ben Dooks <ben-linux@fluff.org> Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Andy Green <andy.green@linaro.org> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
| * I2C: OMAP2+: Introduce I2C IP versioning constantsAndy Green2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These represent the two kinds of (incompatible) OMAP I2C peripheral unit in use so far. The constants are in linux/i2c-omap.h so the omap i2c driver can have them too. Cc: patches@linaro.org Cc: Ben Dooks <ben-linux@fluff.org> Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Andy Green <andy.green@linaro.org> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
| * I2C: OMAP2+: increase omap_i2c_dev_attr flags from u8 to u32Andy Green2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As part of removing cpu_...() from the OMAP I2C driver, we need to convert the CPU tests into functionality flags that are set by hwmod class in the same way the IP revision is. More flags are needed than will fit in the existing u8 flags member of omap_i2c_dev_attr. These flags can refer to options inside the IP block but they are most needed for information about cpu implementation specific options that are not part of the IP block itself. For example, how the CPU data bus is wired to the IP block databus differs between OMAP cpus and affects how you must shift the address in the IP block, but is not a feature of the IP block itself. Cc: patches@linaro.org Cc: Ben Dooks <ben-linux@fluff.org> Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Andy Green <andy.green@linaro.org> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
| * I2C: OMAP2+: Set hwmod flags to only allow 16-bit accesses to i2cAndy Green2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Peter Maydell noticed when running under QEMU he was getting errors reporting 32-bit access to I2C peripheral unit registers that are documented to be 8 or 16-bit only[1][2] The I2C driver is blameless as it wraps its accesses in a function using __raw_writew and __raw_readw, it turned out it is the hwmod stuff. However the hwmod code already has a flag to force a perhipheral unit to only be accessed using 16-bit operations. This patch applies the 16-bit only flag to the 2430, OMAP3xxx and OMAP44xx hwmod structs. 2420 was already correctly marked up as 16-bit. The 2430 change will need testing by TI as arranged in the comments to the previous patch version. When the 16-bit flag is or-ed with other flags, it is placed first as requested in comments. [1] OMAP4430 Technical reference manual section 23.1.6.2 [2] OMAP3530 Techincal reference manual section 18.6 Cc: patches@linaro.org Cc: Ben Dooks <ben-linux@fluff.org> Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Andy Green <andy.green@linaro.org> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
| * OMAP4: hwmod changes to make it work with 4460Ricardo Salveti de Araujo2012-08-17
| | | | | | | | Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
| * OMAP4: Adding ID for OMAP4460 ES1.1Ricardo Salveti de Araujo2012-08-17
| | | | | | | | Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
| * OMAP4: Pandaboard: Fixing Leds for 4460Ricardo Salveti de Araujo2012-08-17
| | | | | | | | Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
| * Config: enable musb in OTG modeSebastien Jan2012-08-17
| | | | | | | | Signed-off-by: Sebastien Jan <s-jan@ti.com>
| * ARM: cache-l2x0: update workaround for PL310 errata 727915Colin Cross2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ARM errata 727915 for PL310 has been updated to include a new workaround required for PL310 r2p0 for l2x0_flush_all, which also affects l2x0_clean_all in my testing. For r2p0, clean or flush each set/way individually. For r3p0 or greater, use the debug register for cleaning and flushing. Requires exporting the cache_id, sets and ways detected in the init function for later use. Change-Id: I215055cbe5dc7e4e8184fb2befc4aff672ef0a12 Signed-off-by: Colin Cross <ccross@android.com>
| * ducati: switch clockdomain to SW managedSebastien Jan2012-08-17
| | | | | | | | | | | | | | | | Ducati reset procedure fails in HW managed (HW_AUTO) mode. The failure trace is: omap_hwmod: ipu_c0: failed to hardreset Signed-off-by: Sebastien Jan <s-jan@ti.com>
| * omap4: remoteproc: return proper status for status and stopSuman Anna2012-08-17
| | | | | | | | | | | | | | | | | | | | | | The return status for the userspace ProcMgr_start and ProcMgr_stop API is not returned properly. This causes the user-space to ignore and proceed with the IPC synchronization sequence even if the processor has not been put into a proper device state (asserting or deasserting Reset). Change-Id: Icfa9fbba3e7753809a3934b961afe15016ebfd70 Signed-off-by: Suman Anna <s-anna@ti.com>
| * hwmod: add missing ipu addressesSebastien Jan2012-08-17
| | | | | | | | Signed-off-by: Sebastien Jan <s-jan@ti.com>
| * hwspinlock: deactivate upstream implementationSebastien Jan2012-08-17
| | | | | | | | | | | | | | Upstream hwspinlocks implementation conflicts with legacy one. For now, deactivate the upstream version and use the legacy one. Signed-off-by: Sebastien Jan <s-jan@ti.com>
| * Revert "fix: remove duplicate hwspinlock source"Sebastien Jan2012-08-17
| | | | | | | | This reverts commit 9a84fc90be096d69e376a31f1c8cf15fde9b9299.
| * OMAP4: prcm: Fix errors in few defines nameBenoit Cousson2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A couple of macros were wrongly changed during the _MOD to _INST rename done in the following commit: OMAP4: PRCM: rename _MOD macros to _INST cdb54c4457d68994da7c2e16907adfbfc130060d Fix them to their original name. Some CM and PRM instances were not well aligned. Align them. Remove one blank line in cm2_44xx.h to align the output with the other (cm1_44xx.h, prm44xx.h) files. Update header copyright date. Signed-off-by: Benoit Cousson <b-cousson@ti.com> Cc: Paul Walmsley <paul@pwsan.com> Cc: Rajendra Nayak <rnayak@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
| * OMAP4: ID: add omap_has_feature for max freq supportedAneesh V2012-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Macros for identifying the max frequency supported by various OMAP4 variants - Expanding along the lines of OMAP3's feature handling. [nm@ti.com: minor fixes for checks that should only for 443x|446x] Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Aneesh V <aneesh@ti.com> Signed-off-by: Rajendra Nayak <rnayak@ti.com> Reviewed-by: Kevin Hilman <khilman@ti.com> Reviewed-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * twl missing plat cpu includeAndy Green2012-08-17
| | | | | | | | Signed-off-by: Andy Green <andy.green@linaro.org>
| * null out 4460 cache feture with unknown constantsAndy 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>
| * 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: 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>
| * 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>
| * 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>
| * 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>
| * 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>
| * 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>