05 Jan, 2012
2 commits
-
Conflicts:
arch/arm/mach-exynos/cpu.cThe changes to arch/arm/mach-exynos/cpu.c were moved to
mach-exynos/common.c. -
Hook these platforms restart code into the new restart hook rather
than using arch_reset().Acked-by: Krzysztof Hałasa
Signed-off-by: Russell King
19 Dec, 2011
1 commit
-
sched_clock() is yet another blocker on the road to the single
image. This patch implements an idea by Russell King:http://www.spinics.net/lists/linux-omap/msg49561.html
Instead of asking the platform to implement both sched_clock()
itself and the rollover callback, simply register a read()
function, and let the ARM code care about sched_clock() itself,
the conversion to ns and the rollover. sched_clock() uses
this read() function as an indirection to the platform code.
If the platform doesn't provide a read(), the code falls back
to the jiffy counter (just like the default sched_clock).This allow some simplifications and possibly some footprint gain
when multiple platforms are compiled in. Among the drawbacks,
the removal of the *_fixed_sched_clock optimization which could
negatively impact some platforms (sa1100, tegra, versatile
and omap).Tested on 11MPCore, OMAP4 and Tegra.
Cc: Imre Kaloz
Cc: Eric Miao
Cc: Colin Cross
Cc: Erik Gilling
Cc: Olof Johansson
Cc: Sascha Hauer
Cc: Alessandro Rubini
Cc: STEricsson
Cc: Lennert Buytenhek
Cc: Ben Dooks
Tested-by: Jamie Iles
Tested-by: Tony Lindgren
Tested-by: Kyungmin Park
Acked-by: Linus Walleij
Acked-by: Nicolas Pitre
Acked-by: Krzysztof Halasa
Acked-by: Kukjin Kim
Signed-off-by: Marc Zyngier
Signed-off-by: Russell King
01 Nov, 2011
1 commit
-
These files all make use of one of the EXPORT_SYMBOL variants
or the THIS_MODULE macro. So they will needSigned-off-by: Paul Gortmaker
16 Jul, 2011
1 commit
-
Commit 234b6ceddb4fc2a4bc5b9a7670f070f6e69e0868
clocksource: convert ARM 32-bit up counting clocksources
broke the build for ixp4xx and made big endian operation impossible.
This commit restores the original behaviour.Signed-off-by: Richard Cochran
Signed-off-by: Krzysztof Hałasa
[ Thomas says that we might want to have generic BE accessor functions
to the MMIO clock source, but that hasn't happened yet, so in the
meantime this seems to be the short-term fix for the particular
problem - Linus ]
Signed-off-by: Linus Torvalds
24 May, 2011
1 commit
-
Convert ixp4xx, lpc32xx, mxc, netx, pxa, sa1100, tcc8k, tegra and u300
to use the generic mmio clocksource recently introduced.Cc: Imre Kaloz
Cc: Krzysztof Halasa
Acked-by: Eric Miao
Acked-by: "Hans J. Koch"
Acked-by: Colin Cross
Cc: Erik Gilling
Cc: Olof Johansson
Acked-by: Linus Walleij
Acked-by: Sascha Hauer
Signed-off-by: Russell King
29 Mar, 2011
2 commits
-
Use irq_set_chip_and_handler() instead. Converted with coccinelle.
Signed-off-by: Thomas Gleixner
-
Convert to the new function names. Automated with coccinelle.
Signed-off-by: Thomas Gleixner
06 Feb, 2011
1 commit
-
FREQ is a ridiculously short name for a platform-specific macro in a
generic header, and it now conflicts with an enumeration in the
gspca/ov519 driver.Also delete conditional reference to ixp4xx_get_board_tick_rate()
which is not defined anywhere.Signed-off-by: Ben Hutchings
Signed-off-by: Krzysztof Hałasa
14 Jan, 2011
1 commit
-
Signed-off-by: Lennert Buytenhek
23 Dec, 2010
3 commits
-
Convert ixp4xx to use the new sched_clock() infrastructure for
extending 32bit counters to full 64-bit nanoseconds.Tested-by: Mikael Pettersson
Signed-off-by: Russell King -
ftrace requires sched_clock() to be notrace. Ensure that all
implementations are so marked. Also make sure that they include
linux/sched.hAlso ensure OMAP clocksource read functions are marked notrace as
they're used for sched_clock() too.Tested-by: Santosh Shilimkar
Tested-by: Will Deacon
Tested-by: Mikael Pettersson
Tested-by: Eric Miao
Tested-by: Olof Johansson
Signed-off-by: Russell King -
In d7e81c2 (clocksource: Add clocksource_register_hz/khz interface) new
interfaces were added which simplify (and optimize) the selection of the
divisor shift/mult constants. Switch over to using this new interface.Tested-by: Mikael Pettersson
Signed-off-by: Russell King
15 May, 2010
1 commit
-
These files include linux/bootmem.h without using anything from this
file; remove the unnecessary include.Acked-by: Tony Lindgren
Signed-off-by: Russell King
28 Jan, 2010
1 commit
-
Add a better sched_clock() to the ixp4xx platform,
implemented via its clocksource support.This is based on the sched_clock() I implemented for
the IOP platform. Tested on a ds101 ixp420 machine.Signed-off-by: Mikael Pettersson
Signed-off-by: Russell King
05 Dec, 2009
1 commit
-
The indexes were signed, so negatives were possible.
Signed-off-by: Roel Kluin
Signed-off-by: Krzysztof Hałasa
22 Sep, 2009
1 commit
-
This patch does a few simple cleanups of the ixp4xx timer
and clocksource/clockevent code in mach-ixp4xx/common.c:- ixp4xx_clocksource_init() is static and always returns 0,
which is ignored by its only caller: make it return void
- ixp4xx_clockevent_init(): ditto
- ixp4xx_get_cycles() is only referenced locally: make it static
- use the ixp4xx_timer_irq.dev_id field to pass &clockevent_ixp4xx
to ixp4xx_timer_interrupt() via its dev_id parameter, allowing
the code in ixp4xx_timer_interrupt() to be smaller and fasterTested on an ixp420 machine (ds101).
Signed-off-by: Mikael Pettersson
Signed-off-by: Krzysztof Hałasa
07 Sep, 2009
1 commit
-
HSS usually uses external clocks, so it's not a big deal. Internal clock
is used for direct DTE-DTE connections and when the DCE doesn't provide
it's own clock.This also depends on the oscillator frequency. Intel seems to have
calculated the clock register settings for 33.33 MHz (66.66 MHz timer
base). Their settings seem quite suboptimal both in terms of average
frequency (60 ppm is unacceptable for G.703 applications, their primary
intended usage(?)) and jitter.Many (most?) platforms use a 33.333 MHz oscillator, a 10 ppm difference
from Intel's base.Instead of creating static tables, I've created a procedure to program
the HSS clock register. The register consists of 3 parts (A, B, C).
The average frequency (= bit rate) is:
66.66x MHz / (A + (B + 1) / (C + 1))
The procedure aims at the closest average frequency, possibly at the
cost of increased jitter. Nobody would be able to directly drive an
unbufferred transmitter with a HSS anyway, and the frequency error is
what it really counts.I've verified the above with an oscilloscope on IXP425. It seems IXP46x
and possibly IXP43x use a bit different clock generation algorithm - it
looks like the avg frequency is:
(on IXP465) 66.66x MHz / (A + B / (C + 1)).
Also they use much greater precomputed A and B - on IXP425 it would
simply result in more jitter, but I don't know how does it work on
IXP46x (perhaps 3 least significant bits aren't used?).Anyway it looks that they were aiming for exactly +60 ppm or -60 ppm,
while 22 Mb/s if a single port is used, and the
minimum is ca. 65 Kb/s).This is independent of MVIP (multi-E1/T1 on one HSS) mode.
Signed-off-by: Krzysztof Hałasa
Signed-off-by: David S. Miller
22 Apr, 2009
1 commit
-
Pass clocksource pointer to the read() callback for clocksources. This
allows us to share the callback between multiple instances.[hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]
[akpm@linux-foundation.org: cleanup]
Signed-off-by: Magnus Damm
Acked-by: John Stultz
Cc: Thomas Gleixner
Signed-off-by: Hugh Dickins
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
13 Dec, 2008
1 commit
-
Impact: change calling convention of existing clock_event APIs
struct clock_event_timer's cpumask field gets changed to take pointer,
as does the ->broadcast function.Another single-patch change. For safety, we BUG_ON() in
clockevents_register_device() if it's not set.Signed-off-by: Rusty Russell
Cc: Ingo Molnar
06 Sep, 2008
1 commit
-
Signed-off-by: Russell King
07 Aug, 2008
2 commits
-
This just leaves include/asm-arm/plat-* to deal with.
Signed-off-by: Russell King
-
Remove includes of asm/hardware.h in addition to asm/arch/hardware.h.
Then, since asm/hardware.h only exists to include asm/arch/hardware.h,
update everything to directly include asm/arch/hardware.h and remove
asm/hardware.h.Signed-off-by: Russell King
27 Jul, 2008
1 commit
-
IRQT_* and __IRQT_* were obsoleted long ago by patch [3692/1].
Remove them completely. Sed script for the reference:s/__IRQT_RISEDGE/IRQ_TYPE_EDGE_RISING/g
s/__IRQT_FALEDGE/IRQ_TYPE_EDGE_FALLING/g
s/__IRQT_LOWLVL/IRQ_TYPE_LEVEL_LOW/g
s/__IRQT_HIGHLVL/IRQ_TYPE_LEVEL_HIGH/g
s/IRQT_RISING/IRQ_TYPE_EDGE_RISING/g
s/IRQT_FALLING/IRQ_TYPE_EDGE_FALLING/g
s/IRQT_BOTHEDGE/IRQ_TYPE_EDGE_BOTH/g
s/IRQT_LOW/IRQ_TYPE_LEVEL_LOW/g
s/IRQT_HIGH/IRQ_TYPE_LEVEL_HIGH/g
s/IRQT_PROBE/IRQ_TYPE_PROBE/g
s/IRQT_NOEDGE/IRQ_TYPE_NONE/gSigned-off-by: Dmitry Baryshkov
Signed-off-by: Russell King
10 Jul, 2008
1 commit
-
The pxa2xx_udc.c driver is renamed to pxa25x_udc.c (the platform
driver name changes from pxa2xx-udc to pxa25x-udc) and the
platform driver name of pxa27x_udc.c is fixed to pxa27x-udc.
pxa_device_udc in devices.c is split into pxa25x and pxa27x flavors
and the pxa27x_device_udc is enabled in pxa27x.c.Signed-off-by: Philipp Zabel
Acked-by: Nicolas Pitre
Acked-by: Eric Miao
Signed-off-by: Russell KingIncluding from Ian Molton:
Fixes for mistakes left over from the PXA2{5,7}X UDC split.
Signed-off-by: Ian Molton
Signed-off-by: Russell King
18 Dec, 2007
1 commit
-
Add proper support for CLOCK_EVT_MODE_RESUME and in the process fix
CLOCK_EVT_MODE_SHUTDOWN so that only the enable bits are toggled for both.Signed-off-by: Kevin Hilman
Signed-off-by: Russell King
23 Jul, 2007
1 commit
-
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (60 commits)
[ARM] 4524/1: S3C: Move register out of include/asm-arm/arch-s3c2410
[ARM] 4523/1: S3C: Remove FIFO_MAX from uncompression headers
[ARM] 4522/1: S3C: split include/asm-arm/arch/memory.h
[ARM] 4521/2: S3C: Reorganise VA mapping headers
[ARM] 4520/1: S3C: Remove old VA values from static map
[ARM] 4519/1: S3C: split S3C2400 values out of S3C24XX map.h
[ARM] 4518/1: S3C: Rename watchdog configuration options
[ARM] 4517/1: S3C: Fix debug macros for ARM926 output
[ARM] 4516/1: S3C: Fix uncompressor serial output for ARM926
[ARM] 4515/1: S3C: Move uncompress code to plat-s3c
[ARM] 4514/1: S3C: Rename DEBUG_S3C2410_PORT and DEBUG_S3C_UART
[ARM] 4513/1: S3C: Rename CONFIG_S3C2410_LOWLEVEL_UART_PORT
[ARM] 4512/1: S3C: rename the debug macros for per-cpu updates
[ARM] 4511/1: S3C: updated LLSERIAL Kconfig defines for CPU support
[ARM] 4510/1: S3C: split debug-macro support into plat-s3c
[ARM] 4509/1: S3C: Create initial arch/arm/plat-s3c
[ARM] 4508/1: S3C: Move items to include/asm-arm/plat-s3c
[ARM] 4461/1: MXC platform and i.MX31ADS core support
[ARM] 4507/1: pxa2xx clock_event_device
[ARM] 4497/1: Only allow safe cache configurations on ARMv6 and later
...
22 Jul, 2007
1 commit
-
We need to make sure, that the clockevent devices are resumed, before
the tick is resumed. The current resume logic does not guarantee this.Add CLOCK_EVT_MODE_RESUME and call the set mode functions of the clock
event devices before resuming the tick / oneshot functionality.Fixup the existing users.
Thanks to Nigel Cunningham for tracking down a long standing thinko,
which affected the jinxed VAIO.[akpm@linux-foundation.org: xen build fix]
Signed-off-by: Thomas Gleixner
Cc: john stultz
Cc: Rusty Russell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
20 Jul, 2007
1 commit
-
I believe that the following patch is necessary to properly configure
GPIO line configuration for IRQ's which are mapped to a GPIO line >= 8
(without this patch the wrong GPIO is configured as an input.)Signed-off-by: Tim Harvey
Signed-off-by: Lennert Buytenhek
Signed-off-by: Russell King
26 May, 2007
1 commit
-
This patch is required as the frequency fixup in nslu2_init does not
run sufficiently early in the boot sequence to take effect. In addition
the dsmg600 setup code behaviour has been improved such that a
'fixup' routine is avoided.Signed-off-by: Michael-Luke Jones
Signed-off-by: Russell King
09 May, 2007
1 commit
-
Add IRQF_IRQPOLL for each timer interrupt.
Signed-off-by: Bernhard Walle
Cc: Russell King
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Alan Cox
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
07 May, 2007
1 commit
-
Conflicts:
include/asm-arm/arch-ixp4xx/io.h
22 Apr, 2007
3 commits
-
Update ixp4xx timer support to use new clockevent infrastructure.
Signed-off-by: Kevin Hilman
Signed-off-by: Russell King -
Add Intel KIXRP435 Reference Platform based on IXP43x processor.
Fixed after review : access to cp15 removed in identification functions,
used access to global processor_id insteadSigned-off-by: Vladimir Barinov
Signed-off-by: Ruslan Sushko
Signed-off-by: Russell King -
This patch brings generic gpio layer support to ixp4xx. It creates
functions needed for gpio->irq and irq->gpio translation.It expects and initial value to be passed to
gpio_direction_output() which has been introduced by
commit 28735a7253a6c24364765e80a5428b4a151fccc2 in Linus git tree.Generic gpio layer is going to be used by pxa2xx_udc driver.
Signed-off-by: Milan Svoboda
Signed-off-by: Russell King
17 Feb, 2007
1 commit
-
Fixup the is_contionous replacement by a flag field.
Signed-off-by: Thomas Gleixner
Signed-off-by: Ingo Molnar
Cc: Russell King
Cc: john stultz
Cc: Roman Zippel
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
08 Dec, 2006
1 commit
-
Rather than using a device_initcall() for the clocksource initialization, just call the init from the sys_timer init function.
Signed-off-by: Kevin Hilman
Signed-off-by: Russell King
02 Dec, 2006
1 commit
-
Create include/asm-arm/arch-ixp4xx/udc.h and
add platfrom device ixp4xx_udc_device into
arch/arm/mach-ixp4xx/common.c.This allows us to use pxa2xx-udc on
the ixp4xx platfrom. Both pxa2xx and
ixp4xx use the same device controller.Signed-off-by:Milan Svoboda
Signed-off-by: Russell King
30 Nov, 2006
1 commit
-
set_irq_chipdata -> set_irq_chip_data
get_irq_chipdata -> get_irq_chip_data
do_level_IRQ -> handle_level_irq
do_edge_IRQ -> handle_edge_irq
do_simple_IRQ -> handle_simple_irq
irqdesc -> irq_desc
irqchip -> irq_chipSigned-off-by: Russell King
04 Nov, 2006
1 commit
-
This is a rework of the ixp4xx irq_chip implementation. The use of
two irq_chip structures and potentially switching between them is a
violation of the intended use of the IRQ framework. The current
implementation does not work with current in-kernel spinlock debugging
or lockdep due to lock recursion problems caused by calling
set_irq_chip/handler from within the chip's set_irq_type().This patch goes back to using one irq_chip structure and handling the
differences between edge/level, normal/GPIO interrupts inside the
ack/mask/unmask routines themselves.Signed-off-by: Kevin Hilman
Signed-off-by: Deepak Saxena
Signed-off-by: Russell King