05 Jan, 2012

2 commits


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

    Marc Zyngier
     

01 Nov, 2011

1 commit


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

    Richard Cochran
     

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

    Russell King
     

29 Mar, 2011

2 commits


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

    Ben Hutchings
     

14 Jan, 2011

1 commit


23 Dec, 2010

3 commits


15 May, 2010

1 commit


28 Jan, 2010

1 commit


05 Dec, 2009

1 commit


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 faster

    Tested on an ixp420 machine (ds101).

    Signed-off-by: Mikael Pettersson
    Signed-off-by: Krzysztof Hałasa

    Mikael Pettersson
     

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

    Krzysztof Halasa
     

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

    Magnus Damm
     

13 Dec, 2008

1 commit


06 Sep, 2008

1 commit


07 Aug, 2008

2 commits


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/g

    Signed-off-by: Dmitry Baryshkov
    Signed-off-by: Russell King

    Dmitry Baryshkov
     

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 King

    Including 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

    Philipp Zabel
     

18 Dec, 2007

1 commit


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
    ...

    Linus Torvalds
     

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

    Thomas Gleixner
     

20 Jul, 2007

1 commit


26 May, 2007

1 commit


09 May, 2007

1 commit


07 May, 2007

1 commit


22 Apr, 2007

3 commits


17 Feb, 2007

1 commit


08 Dec, 2006

1 commit


02 Dec, 2006

1 commit


30 Nov, 2006

1 commit


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

    Kevin Hilman