summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ARM] omap: omap24xxcam: use short connection IDs for omap2 clocksRussell King2009-02-082-6/+6
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: convert omap RNG clocks to match by devid and conidRussell King2009-02-083-3/+3
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: spi: arrange for omap_uwire to use connection IDRussell King2009-02-082-4/+6
| | | | | | | | ... which now means no driver requests the "armxor_ck" clock directly. Also, fix the error handling for clk_get(), ensuring that we propagate the error returned from clk_get(). Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: w1: convert omap HDQ clocks to match by devid and conidRussell King2009-02-083-6/+6
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: i2c: remove conditional ick clocksRussell King2009-02-082-15/+14
| | | | | | | | | By providing a dummy ick for OMAP1510 and OMAP310, we avoid having SoC conditional clock information in i2c-omap.c. Also, fix the error handling by making sure we propagate the error returned via clk_get(). Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: i2c: remove armxor_ckRussell King2009-02-081-9/+8
| | | | | | | On OMAP1, the I2C functional clock (fck) is the armxor_ck, so there's no need to get "armxor_ck" separately. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: i2c: use short connection idsRussell King2009-02-084-16/+16
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: mcbsp: convert to use fck/ick clocks directlyRussell King2009-02-087-123/+100
| | | | | | | | | | | | | Rather than introducing a special 'mcbsp_clk' with code behind it in mach-omap*/mcbsp.c to handle the SoC specifics, arrange for the mcbsp driver to be like any other driver. mcbsp requests its fck and ick clocks directly, and the SoC specific code deals with selecting the correct clock. There is one oddity to deal with - OMAP1 fiddles with the DSP clocks and DSP reset, so we move this to the two callback functions. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: mcspi: new short connection id namesRussell King2009-02-083-16/+16
| | | | | | ... rather than the clock names themselves. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: MMC: provide a dummy ick for OMAP1Russell King2009-02-082-11/+10
| | | | | | Eliminate the OMAP1 vs OMAP2 clock knowledge in the MMC driver. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: MMC: convert clocks to match by devid and conidRussell King2009-02-083-9/+6
| | | | | | | | Convert OMAP MMC driver to match clocks using the device ID and a connection ID rather than a clock name. This allows us to eliminate the OMAP1/OMAP2 differences for the function clock. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: watchdog: provide a dummy ick for OMAP1Russell King2009-02-082-15/+10
| | | | | | Eliminate the OMAP1 vs OMAP2 clock knowledge in the watchdog driver. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: watchdog: convert clocks to match by devid and conidRussell King2009-02-084-73/+30
| | | | | | | This eliminates the need for separate OMAP24xx and OMAP34xx clock requesting code sections. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: provide a dummy clock nodeRussell King2009-02-081-0/+20
| | | | | | | | By providing a dummy clock node, we can eliminate the SoC conditional clock handing in the OMAP drivers, moving this knowledge out of the driver and into the machine clock support code. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: remove pre-CLKDEV clk_get/clk_putRussell King2009-02-081-46/+0
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: convert OMAP3 to use clkdevRussell King2009-02-084-456/+331
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: convert OMAP2 to use clkdevRussell King2009-02-084-337/+218
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: convert OMAP1 to use clkdevRussell King2009-02-086-160/+145
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: allow double-registering of clocksRussell King2009-02-081-0/+6
| | | | | | | | This stops things blowing up if a 'struct clk' to be passed more than once to clk_register(), which will be required when we decouple struct clk's from their names. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: ensure devname is set for dummy devicesRussell King2009-02-081-0/+1
| | | | | | This is needed to use these with the clkdev helpers. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: handle RATE_CKCTL via .set_rate/.round_rate methodsRussell King2009-02-083-64/+72
| | | | | | | | | | It makes no sense to have the CKCTL rate selection implemented as a flag and a special exception in the top level set_rate/round_rate methods. Provide CKCTL set_rate/round_rate methods, and use these for where ever RATE_CKCTL is used and they're not already overridden. This allows us to remove the RATE_CKCTL flag. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: move propagate_rate() calls into generic omap clock codeRussell King2009-02-087-40/+11
| | | | | | | | | propagate_rate() is recursive, so it makes sense to minimise the amount of stack which is used for each recursion. So, rather than recursing back into it from the ->recalc functions if RATE_PROPAGATES is set, do that test at the higher level. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: remove unnecessary calls to propagate_rate()Russell King2009-02-081-8/+1
| | | | | | | | | We've always called propagate_rate() in the parent function to the .set_rate methods, so there's no point having the .set_rate methods also call this heavy-weight function - it's mere duplication of what's happening elsewhere. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: move clock propagation into core omap clock codeRussell King2009-02-083-10/+5
| | | | | | | | Move the clock propagation calls for set_parent and set_rate into the core omap clock code, rather than having these calls scattered throughout the OMAP1 and OMAP2 implementations. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: provide a standard clk_get_parent() implementationRussell King2009-02-082-13/+1
| | | | | | which only has to return clk->parent. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: remove clk_deny_idle and clk_allow_idleRussell King2009-02-083-42/+0
| | | | | | | Nothing makes any use of these functions, so there's little point in providing them. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: rearrange clock.h structure orderRussell King2009-02-081-9/+9
| | | | | | | | ... to eliminate unnecessary padding. We have rather a lot of these structures, so eliminating unnecessary padding results in a saving of 1488 bytes. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: remove clk->ownerRussell King2009-02-082-6/+2
| | | | | | | clk->owner is always NULL, so its existence doesn't serve any useful function other than bloating the kernel by 992 bytes. Remove it. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: don't use clkops_omap2_dflt_wait for non-ICLK/FCLK clocksRussell King2009-02-083-17/+15
| | | | | | | | | | | | | | | | | The original code in omap2_clk_wait_ready() used to check the low 8 bits to determine whether they were within the FCLKEN or ICLKEN registers. Specifically, the test is satisfied when these offsets are used: CM_FCLKEN, CM_FCLKEN1, CM_CLKEN, OMAP24XX_CM_FCLKEN2, CM_ICLKEN, CM_ICLKEN1, CM_ICLKEN2, CM_ICLKEN3, OMAP24XX_CM_ICLKEN4 OMAP3430_CM_CLKEN_PLL, OMAP3430ES2_CM_CLKEN2 If one of these offsets isn't used, omap2_clk_wait_ready() merely returns without doing anything. So we should use the non-wait clkops version instead and eliminate that conditional. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: eliminate unnecessary conditionals in omap2_clk_wait_readyRussell King2009-02-084-32/+35
| | | | | | | | | | Rather than employing run-time tests in omap2_clk_wait_ready() to decide whether we need to wait for the clock to become ready, we can set the .ops appropriately. This change deals with the OMAP24xx and OMAP34xx conditionals only. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: add default .ops to all remaining OMAP2 clocksRussell King2009-02-084-14/+271
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: kill PARENT_CONTROLS_CLOCKRussell King2009-02-084-111/+114
| | | | | | | | PARENT_CONTROLS_CLOCK just makes enable/disable no-op, and is functionally an alias for ALWAYS_ENABLED. This can be handled in the same way, using clkops_null. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: provide a NULL clock operations structureRussell King2009-02-087-93/+135
| | | | | | | | ... and use it for clocks which are ALWAYS_ENABLED. These clocks use a non-NULL enable_reg pointer for other purposes (such as selecting clock rates.) Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: introduce clock operations structureRussell King2009-02-028-133/+115
| | | | | | | Collect up all the common enable/disable clock operation functions into a separate operations structure. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: remove VIRTUAL_CLOCKRussell King2009-02-023-7/+4
| | | | | | | Nothing tests the clock flags for this bit, so it serves no purpose. Remove it. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge branch 'omap-fixes' of ↵Russell King2009-02-01122-3355/+4541
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
| * ARM: OMAP: fix fault in enter_full_retention()Kevin Hilman2009-01-291-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In omap24xx_cpu_suspend assembly routine, the r2 register which holds the address of the SDRC_POWER reg is set to zero before the value is written back triggering a fault due to writing to address zero. It's hard to tell where this change was introduced since this file has been moved and merged. While this fix prevents a crash, suspend on my n810 is broken with current kernels. I never come out of suspend. Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: Mask interrupts when disabling interrupts, v2김규원2009-01-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By Ingo Molnar, interrupts are not masked by default. (refer to 76d2160147f43f982dfe881404cfde9fd0a9da21) But if interrupts are not masked, the processor can wake up while in Suspend-to-RAM state by an external interrupt. For example, if an OMAP3 board is connected to Host PC by USB and entered to Suspend-to-RAM state, it wake up automatically by M_IRQ_92. The disable_irq() function can't disable the interrupt in H/W level, So I modified arch/arm/mach-omap2/irq.c Signed-off-by: Kim Kyuwon <chammoru@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: gptimer min_delta_ns correctedAaro Koskinen2009-01-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When 32 kHz timer is used the min_delta_ns should be initialized so that it reflects the timer programming cost. A write to the timer device will be usually posted, but it takes roughly 3 cycles before it is effective. If the timer is reprogrammed before that, the CPU will stall until the previous write completes. This was pointed out by Richard Woodruff. Since the lower bound for min_delta_ns is 1000, the change is visible only with tick rates less than 3 MHz. Also note that the old value is incorrect for 32 kHz also due to a rounding error, and it can cause the timer queue to hang (due to clockevent code trying to program the timer with zero ticks). Signed-off-by: Aaro Koskinen <Aaro.Koskinen@nokia.com> Reviewed-by: Richard Woodruff <r-woodruff2@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: Fix hsmmc init, v2Tony Lindgren2009-01-294-12/+18
| | | | | | | | | | | | | | | | | | | | The naming accidentally broke while changing the name for the driver to not to conflict with the other mmc driver. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: Fix omap34xx revision detection for ES3.1Tony Lindgren2009-01-292-1/+6
| | | | | | | | | | | | | | | | | | Fix omap34xx revision detection for ES3.1 Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: DMA: Fix uninitialized channel flagsJarkko Nikula2009-01-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | This has similar symptoms than 66c23551b1b774e2be3c7bdf91c0ebf2c7a3519e where just omap_request_dma, omap_dma_link_lch and omap_dma_unlink_lch can cause incorrect dump_stack(). Here it can happen if channel has been used before and the channel flags variable holds old status. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: Fix race in OMAP2/3 DMA IRQ handlingJuha Yrjola2009-01-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | CSR must be cleared before invoking the callback. If the callback function starts a new, fast DMA transfer on the same channel, the completion status might lost if CSR is cleared after the callback invocation. Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: Fix McBSP spin_lock deadlockStanley.Miao2009-01-294-223/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A spin_lock deadlock will occur when omap_mcbsp_request() is invoked. omap_mcbsp_request() \- clk_enable(mcbsp->clk) [takes and holds clockfw_lock] \- omap2_clk_enable() \- _omap2_clk_enable() \- omap_mcbsp_clk_enable() \- clk_enable(child clock) [tries for clockfw_lock again] mcbsp_clk is a virtual clock and it comprises several child clocks. when enable mcbsp_clk in omap_mcbsp_request(), the enable function of mcbsp_clk will enable its child clocks, then the deadlock occurs. The solution is to remove the virtual clock and enable these child clocks in omap_mcbsp_request() directly. Signed-off-by: Stanley.Miao <stanley.miao@windriver.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * Linux 2.6.29-rc3v2.6.29-rc3Linus Torvalds2009-01-281-1/+1
| |
| * Merge branch 'merge' of ↵Linus Torvalds2009-01-2887-1930/+4353
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code powerpc/pseries: Correct VIO bus accounting problem in CMO env. powerpc: More printing warning fixes for the l64 to ll64 conversion powerpc: Remove arch/ppc cruft from Kconfig powerpc: Printing fix for l64 to ll64 conversion: phyp_dump.c powerpc/embedded6xx: Update defconfigs powerpc/8xx: Update defconfigs powerpc/86xx: Update defconfigs powerpc/83xx: Update defconfigs powerpc/85xx: Update defconfigs powerpc/mpc8313erdb: fix kernel panic because mdio device is not probed powerpc/4xx: Update multi-board PowerPC 4xx defconfigs powerpc/44x: Update PowerPC 44x defconfigs powerpc/40x: Update PowerPC 40x defconfigs powerpc/85xx: Fix typo in mpc8572ds dts powerpc/44x: Warp patches for the new NDFC driver powerpc/4xx: DTS: Add Add'l SDRAM0 Compatible and Interrupt Info
| | * powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup codeGerhard Pircher2009-01-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _PAGE_COHERENT is now always set in _PAGE_RAM resp. PAGE_KERNEL. Thus it has to be masked out, if the BAT mapping should be non cacheable or CPU_FTR_NEED_COHERENT is not set. This will work on normal SMP setups because we force-set CPU_FTR_NEED_COHERENT as part of CPU_FTR_COMMON on SMP. Signed-off-by: Gerhard Pircher <gerhard_pircher@gmx.net> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
| | * powerpc/pseries: Correct VIO bus accounting problem in CMO env.Robert Jennings2009-01-281-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the VIO bus code the wrappers for dma alloc_coherent and free_coherent calls are rounding to IOMMU_PAGE_SIZE. Taking a look at the underlying calls, the actual mapping is promoted to PAGE_SIZE. Changing the rounding in these two functions fixes under-reporting the entitlement used by the system. Without this change, the system could run out of entitlement before it believes it has and incur mapping failures at the firmware level. Also in the VIO bus code, the wrapper for dma map_sg is not exiting in an error path where it should. Rather than fall through to code for the success case, this patch adds the return that is needed in the error path. Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
| | * powerpc: More printing warning fixes for the l64 to ll64 conversionStephen Rothwell2009-01-283-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are all powerpc specific drivers. res.start in fsl_elbc_nand.c needs to be cast since it may be either 32 or 64 bit. Thanks to Scott Wood for noticing. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Acked-by: Arnd Bergmann <arnd@arndb.de> call_edac bits in particular Acked-by: Olof Johansson <olof@lixom.net> pasemi_nand peices Acked-by: Scott Wood <scottwood@freescale.com> fsl_elbc fixes Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
| | * powerpc: Remove arch/ppc cruft from KconfigJosh Boyer2009-01-281-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | Remove some leftover cruft from the arch/ppc days Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
OpenPOWER on IntegriCloud