summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/mailbox.c
AgeCommit message (Collapse)Author
2013-01-03ARM: drivers: remove __dev* attributes.Greg Kroah-Hartman
CONFIG_HOTPLUG is going away as an option. As a result, the __dev* markings need to be removed. This change removes the use of __devinit, __devexit_p, __devinitdata, and __devexit from these drivers. Based on patches originally written by Bill Pemberton, but redone by me in order to handle some of the coding style issues better, by hand. Cc: Bill Pemberton <wfp5p@virginia.edu> Cc: Russell King <linux@arm.linux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-12ARM: OMAP: Split plat/hardware.h, use local soc.h for omap2+Tony Lindgren
As the plat and mach includes need to disappear for single zImage work, we need to remove plat/hardware.h. Do this by splitting plat/hardware.h into omap1 and omap2+ specific files. The old plat/hardware.h already has omap1 only defines, so it gets moved to mach/hardware.h for omap1. For omap2+, we use the local soc.h that for now just includes the related SoC headers to keep this patch more readable. Note that the local soc.h still includes plat/cpu.h that can be dealt with in later patches. Let's also include plat/serial.h from common.h for all the board-*.c files. This allows making the include files local later on without patching these files again. Note that only minimal changes are done in this patch for the drivers/watchdog/omap_wdt.c driver to keep things compiling. Further patches are needed to eventually remove cpu_is_omap usage in the drivers. Also only minimal changes are done to sound/soc/omap/* to remove the unneeded includes and to define OMAP44XX_MCPDM_L3_BASE locally so there's no need to include omap44xx.h. While at it, also sort some of the includes in the standard way. Cc: linux-watchdog@vger.kernel.org Cc: alsa-devel@alsa-project.org Cc: Peter Ujfalusi <peter.ujfalusi@ti.com> Cc: Jarkko Nikula <jarkko.nikula@bitmer.com> Cc: Liam Girdwood <lrg@ti.com> Acked-by: Wim Van Sebroeck <wim@iguana.be> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12ARM: OMAP2+: Prepare for irqs.h removalTony Lindgren
As the interrupts should only be defined in the platform_data, and eventually coming from device tree, there's no need to define them in header files. Let's remove the hardcoded references to irqs.h and fix up the includes so we don't rely on headers included in irqs.h. Note that we're defining OMAP_INTC_START as 0 to the interrupts. This will be needed when we enable SPARSE_IRQ. For some drivers we need to add #include <plat/cpu.h> for now until these drivers are fixed to remove cpu_is_omapxxxx() usage. While at it, sort som of the includes the standard way, and add the trailing commas where they are missing in the related data structures. Note that for drivers/staging/tidspbridge we just define things locally. Cc: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-06-28Merge branch 'fixes-omap4-dsp' into fixes-non-criticalTony Lindgren
2012-05-13ARM: OMAP: enable mailbox irq per instanceJuan Gutierrez
The machine-specific omap2_mbox_startup is called only once to initialize the whole mbox module, and as a result, enabling the mbox irq at that point only works for the very first mailbox instance opened. Instead, this patch makes sure enable_irq() is called every time a new mbox instance is opened. In addition, we're now enabling the mbox's irq only after its notifier_block is registered, to avoid possible race of receiving an interrupt without invoking the user's notifier callback. Signed-off-by: Juan Gutierrez <jgutierrez@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com> [ohad@wizery.com: slightly reworded the commit log] Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
2012-05-09ARM: OMAP2+: Incorrect Register Offsets in OMAP MailboxTony Lindgren
Looks like the register offsets are incorrect in the OMAP mailbox code (arch/arm/mach-omap2/mailbox.c) for the OMAP4_MAILBOX_IRQ* macros. The discrepancy is with p.224 of TI document SPRUGX9 and p3891 of SWPU231K. Acked-by: Vaibhav Bedia <vaibhav.bedia@ti.com> Signed-off-by: Henry Chan <enli.chan@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-03-09Merge tag 'iommu-fixes-v3.3-rc6' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull two IOMMU fixes from Joerg Roedel: "The first is an additional fix for the OMAP initialization order issue and the second patch fixes a possible section mismatch which can lead to a kernel crash in the AMD IOMMU driver when suspend/resume is used and the compiler has not inlined the iommu_set_device_table function." * tag 'iommu-fixes-v3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: x86/amd: iommu_set_device_table() must not be __init ARM: OMAP: fix iommu, not mailbox
2012-03-05ARM: OMAP: fix iommu, not mailboxOhad Ben-Cohen
For some weird (freudian?) reason, commit 435792d "ARM: OMAP: make iommu subsys_initcall to fix builtin omap3isp" unintentionally changed the mailbox's initcall instead of the iommu's. Fix that. Reported-by: Fernando Guzman Lugo <fernando.lugo@ti.com> Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Joerg Roedel <Joerg.Roedel@amd.com> Cc: Tony Lindgren <tony@atomide.com> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
2012-02-29Merge tag 'fixes-3.3-rc6' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Arnd Bergmann says: "Another set of arm-soc bug fixes on top of v3.3-rc5. The few larger bits are all for devices that still need to get set up in board code. Only three platforms are in this set of fixes: omap2+, pxa and lpc32xx." * tag 'fixes-3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (22 commits) ARM: LPC32xx: serial.c: Fixed loop limit ARM: LPC32xx: serial.c: HW bug workaround ARM: LPC32xx: irq.c: Clear latched event ARM: LPC32xx: Fix interrupt controller init ARM: LPC32xx: Fix irq on GPI_28 ARM: OMAP2: fix mailbox init code ARM: OMAP2+: gpmc-smsc911x: add required smsc911x regulators ARM: OMAP1: Fix out-of-bounds array access for Innovator OMAP3 EVM: remove out-of-bounds array access of gpio_leds ARM: OMAP: Fix build error when mmc_omap is built as module ARM: OMAP: Fix kernel panic with HSMMC when twl4030_gpio is a module pxa/hx4700: add platform device and I2C info for AK4641 codec arch/arm/mach-pxa/: included linux/gpio.h twice arch/arm/mach-mmp/: some files include some headers twice ARM: pxa: fix error handling in pxa2xx_drv_pcmcia_probe ARM: pxa: fix including linux/gpio.h twice ARM: pxa: fix mixed declarations and code in sharpsl_pm ARM: pxa: fix wrong parsing gpio event on spitz ARM: OMAP2+: usb-host: fix compile warning ARM: OMAP4: Move the barrier memboclk_steal() as part of reserve callback ...
2012-02-27ARM: OMAP: make iommu subsys_initcall to fix builtin omap3ispOhad Ben-Cohen
omap3isp depends on omap's iommu and will fail to probe if initialized before it (which always happen if they are builtin). Make omap's iommu subsys_initcall as an interim solution until the probe deferral mechanism is merged. Reported-by: James <angweiyang@gmail.com> Debugged-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com> Cc: stable <stable@vger.kernel.org> Cc: Tony Lindgren <tony@atomide.com> Cc: Hiroshi Doyu <hdoyu@nvidia.com> Cc: Joerg Roedel <Joerg.Roedel@amd.com> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
2012-02-23ARM: OMAP2: fix mailbox init codeOhad Ben-Cohen
Fix this: arch/arm/mach-omap2/mailbox.c: In function 'omap2_mbox_probe': arch/arm/mach-omap2/mailbox.c:354: error: 'omap2_mboxes' undeclared (first use in this function) arch/arm/mach-omap2/mailbox.c:354: error: (Each undeclared identifier is reported only once arch/arm/mach-omap2/mailbox.c:354: error: for each function it appears in.) Which happens on CONFIG_ARCH_OMAP2 && !CONFIG_SOC_OMAP2420, due to missing omap2_mboxes declaration. In addition, make sure we declare the right mailbox instances for 2430. Reported-by: Russell King <linux@arm.linux.org.uk> Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com> Cc: Hiroshi Doyu <hdoyu@nvidia.com> Cc: Omar Ramirez Luna <omar.ramirez@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2011-11-07ARM: OMAP: Fix export.h or module.h includesTony Lindgren
Commit 32aaeffbd4a7457bf2f7448b33b5946ff2a960eb (Merge branch 'modsplit-Oct31_2011'...) caused some build errors. Fix these and make sure we always have export.h or module.h included for MODULE_ and EXPORT_SYMBOL users: $ grep -rl ^MODULE_ arch/arm/*omap*/*.c | xargs \ grep -L linux/module.h arch/arm/mach-omap2/dsp.c arch/arm/mach-omap2/mailbox.c arch/arm/mach-omap2/omap-iommu.c arch/arm/mach-omap2/smartreflex.c Also check we either have export.h or module.h included for the files exporting symbols: $ grep -rl EXPORT_SYMBOL arch/arm/*omap*/*.c | xargs \ grep -L linux/export.h | xargs grep -L linux/module.h Cc: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Tony Lindgren <tony@atomide.com>
2011-03-10Merge branch 'for_2.6.39/pm-misc' of ↵Tony Lindgren
ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
2011-03-03omap: mailbox: resolve hang issueHari Kanigeri
omap4 interrupt disable bits is different. On rx kfifo full, the mbox rx interrupts wasn't getting disabled, and this is causing the rcm stress tests to hang. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Armando Uribe <x0095078@ti.com> Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2011-03-02Merge branches 'devel-iommu-mailbox', 'devel-mcbsp', 'devel-board' and ↵Tony Lindgren
'devel-hsmmc' into omap-for-linus Conflicts: arch/arm/mach-omap2/omap_hwmod_44xx_data.c
2011-03-02Merge branch 'devel-cleanup' into omap-for-linusTony Lindgren
Conflicts: arch/arm/mach-omap2/timer-gp.c
2011-02-24OMAP: mailbox: use runtime pm for clk and sysc handlingOmar Ramirez Luna
Use runtime pm APIs to enable/disable mailbox clocks and to configure SYSC register. Based on the patch sent by Felipe Contreras: https://patchwork.kernel.org/patch/101662/ Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2011-02-24OMAP: mailbox: build device using omap_device/omap_hwmodFelipe Contreras
Remove static platform_device and resource data within omap mailbox driver; use the one defined in the hwmod database along with omap_device framework for device build and registration. Add device latency functions to be used, so clock can be enabled and sysconfig is configured. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2011-02-14OMAP2420: mailbox: fix IVA vs DSP IRQ numberingKevin Hilman
The IRQ numbering for the IVA and DSP mailboxes was switched due to the wrong ordering in the OMAP2 mbox list. Switch the ordering so DSP is first and matches all the other SoCs. Tested on OMAP2420/n810. Signed-off-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2011-01-27omap: Start using CONFIG_SOC_OMAPTony Lindgren
We want to have just CONFIG_ARCH_OMAP2, 3 and 4. The rest are nowadays just subcategories of these. Search and replace the following: ARCH_OMAP2420 SOC_OMAP2420 ARCH_OMAP2430 SOC_OMAP2430 ARCH_OMAP3430 SOC_OMAP3430 No functional changes. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Thomas Weber <weber@corscience.de> Acked-by: Sourav Poddar <sourav.poddar@ti.com>
2010-12-02OMAP: mailbox: fix detection for previously supported chipsOmar Ramirez Luna
Fix the mailbox detection for OMAP3630 and 2430, also minor cleanup on conditional ifdef's that could affect it. Given that 2430 has an iva too, include it, as the same steps for omap3 apply. Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com> Acked-by: Hiroshi Doyu <hiroshi.doyu@nokia.com>
2010-12-02OMAP: mailbox: remove unreachable returnOmar Ramirez Luna
Remove unreachable return statement. Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com> Acked-by: Benoit Cousson <b-cousson@ti.com> Acked-by: Hiroshi Doyu <hiroshi.doyu@nokia.com>
2010-09-28arm: remove cast from void*matt mooney
Unnecessary cast from void* in assignment. Signed-off-by: matt mooney <mfm@muteddisk.com> Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-08-04omap: mailbox: reorganize headersFelipe Contreras
Remove kernel.h and module.h since they are not used correctly anyway. Also, remove device.h since it comes along with platform_device.h (always will I guess). Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2010-08-04omap: mailbox: standarize on 'omap-mailbox'Felipe Contreras
omap{1,2}-mailbox are modules that provide the 'omap-mailbox' driver. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2010-08-04omap: mailbox: only compile for configured archsFelipe Contreras
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2010-08-04omap: mailbox: simplify omap_mbox_register()Felipe Contreras
No need to dynamically register mailboxes one by one. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2010-08-04omap: mailbox: reorganize registeringFelipe Contreras
It's more extensible this way. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2010-08-04omap: mailbox: don't export unecessary symbolsFelipe Contreras
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2010-08-04omap: mailbox: 2420 should be detected at run-timeFelipe Contreras
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2010-08-04omap: mailbox: reorganize structuresFelipe Contreras
OMAP4 ones messed up the organization. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2010-08-04omap: mailbox: trivial cleanupsFelipe Contreras
And fix a few compilation warnings. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2010-08-04omap: mailbox cleanup: split MODULE_AUTHOR lineOhad Ben-Cohen
use multiple MODULE_AUTHOR lines for multiple authors Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2010-03-11omap2/3/4: mailbox: remove compiler warningSuman Anna
Remove a compiler warning in device-specific mailbox module. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-02-23omap: mailbox: correct OMAP4 SIDLEMODE logicSuman Anna
OMAP4 mailbox has a different MAILBOX_SYSCONFIG register. There is now no AutoIdle. The SIDLEMODE bits have been right-shifted by 1 bit and now occupy bits 2 & 3. Signed-off-by: Suman Anna <s-anna@ti.com> Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-02-23omap: mailbox: correct OMAP4 reset logicSuman Anna
OMAP4 mailbox has a different register set. There is no MAILBOX_SYSSTATUS register. The reset is indicated with the SOFTRESET bit of the MAILBOX_SYSCONFIG register itself. This bit should read 0 for a successful Reset. Also, the SOFTRESET bit occupies bit0 and not bit1 as with previous generations. Signed-off-by: Suman Anna <s-anna@ti.com> Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-02-15omap2/3/4: mailbox: kill compile warning in mailbox.cFelipe Balbi
Change %d to %ld to avoid the compile warning. Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-11-22omap: mailbox: Adds code changes to support OMAP4 mailboxC A Subramaniam
This patch adds code changes in the mailbox driver module to add support for OMAP4 mailbox. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: C A Subramaniam <subramaniam.ca@ti.com> Signed-off-by: Ramesh Gupta G <grgupta@ti.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-11-22Merge 7xx-iosplit-plat-merge with omap-fixesTony Lindgren
Merge branch '7xx-iosplit-plat-merge' into omap-for-linus
2009-11-10omap: Use resource_sizeTobias Klauser
Use the resource_size function instead of manually calculating the resource size. This reduces the chance of introducing off-by-one errors and actually fixes one in mailbox.c. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-10-20omap: headers: Move remaining headers from include/mach to include/platTony Lindgren
Move the remaining headers under plat-omap/include/mach to plat-omap/include/plat. Also search and replace the files using these headers to include using the right path. This was done with: #!/bin/bash mach_dir_old="arch/arm/plat-omap/include/mach" plat_dir_new="arch/arm/plat-omap/include/plat" headers=$(cd $mach_dir_old && ls *.h) omap_dirs="arch/arm/*omap*/ \ drivers/video/omap \ sound/soc/omap" other_files="drivers/leds/leds-ams-delta.c \ drivers/mfd/menelaus.c \ drivers/mfd/twl4030-core.c \ drivers/mtd/nand/ams-delta.c" for header in $headers; do old="#include <mach\/$header" new="#include <plat\/$header" for dir in $omap_dirs; do find $dir -type f -name \*.[chS] | \ xargs sed -i "s/$old/$new/" done find drivers/ -type f -name \*omap*.[chS] | \ xargs sed -i "s/$old/$new/" for file in $other_files; do sed -i "s/$old/$new/" $file done done for header in $(ls $mach_dir_old/*.h); do git mv $header $plat_dir_new/ done Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-09-28omap: Fix wrong condition check in while loop for mailbox and iommu2Hiroshi DOYU
It's worked fine so far since reset is done for the first time. Reported-by: Juha Leppanen <juha_motorsportcom@luukku.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> Signed-off-by: Juha Leppanen <juha_motorsportcom@luukku.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-09-24omap: mailbox: Flush posted write when acking mailbox irqHiroshi DOYU
The only way to flush posted write to L4 bus is to do a read back of the same register right after the write. This seems to be mostly needed in interrupt handlers to avoid causing spurious interrupts. The earlier fix has been to mark the L4 bus as strongly ordered memory, which solves the problem, but causes performance penalties. Similar to the fix, 03803a71041e3bc3c077f4e7b92f6ceaa9426df3 Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-09-24omap: mailbox: Execute softreset at startupHiroshi DOYU
The softreset at startup is introduced as TRM describes and also some register bit definitions are added instead of magic number. Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-06-23OMAP2/3: omap mailbox: platform_get_irq() error ignoredRoel Kluin
platform_get_irq may return -ENXIO. but struct omap_mbox mbox_dsp_info.irq is unsigned, so the error was not noticed. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-03-23omap mailbox: add save_/restore_ctx() for PMHiroshi DOYU
To preserve the registers during off-mode Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2009-03-23omap mailbox: fix empty struct device for omap2Hiroshi DOYU
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2009-03-23omap mailbox: print hardware revision at startupHiroshi DOYU
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2009-03-23omap mailbox: add initial omap3 supportHiroshi DOYU
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
2009-03-23omap mailbox: cleanup omap2 register definition with macroHiroshi DOYU
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>