02 Mar, 2010

1 commit


25 Feb, 2010

1 commit

  • All of the SH clocksource drivers follow the scheme that the IRQ is setup
    prior to registering the clockevent. The interrupt handler in the
    clockevent cases looks to the event handler function pointer being filled
    in by the registration code, permitting us to get in to situations where
    asserted IRQs step in to the handler before registration has had a chance
    to complete and hitting a NULL pointer deref.

    In practice this is not an issue for most platforms, but some of them
    with fairly special loaders (or that are chain-loading from another
    kernel) may enter in to this situation. This fixes up the oops reported
    by Rafael on hp6xx.

    Reported-and-tested-by: Rafael Ignacio Zurita
    Cc: stable@kernel.org
    Signed-off-by: Paul Mundt

    Paul Mundt
     

05 Feb, 2010

1 commit

  • Add code to start the CMT timer on clocksource resume. While at it handle
    the suspend case as well. Remove the platform device specific suspend
    calls.

    This makes sure the timer is started during sysdev_resume(). Without this
    patch the clocksource may be read as suspended, this after sysdev resume
    but before platform device resume.

    Signed-off-by: Magnus Damm
    Cc: john stultz
    Cc: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Thomas Gleixner

    Magnus Damm
     

15 Aug, 2009

1 commit

  • This patch updates the SuperH CMT driver with suspend and resume
    callbacks for the suspend-to-ram case. This patch stops the CMT
    channel at suspend time to avoid unwanted wake up events.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     

17 Jun, 2009

1 commit

  • Modify the CMT and TMU drivers to disable interrupts when
    disabling the timer. Only using start/stop bits is not
    enough.

    This fixes a bootup hang on Migo-R when the CMT is replaced
    by TMU for clockevents but the CMT keeps on delivering irqs
    even though the timer start bit is off.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     

14 Jun, 2009

1 commit


03 May, 2009

2 commits


30 Apr, 2009

1 commit


28 Apr, 2009

2 commits

  • This patch moves the SuperH timer setup code from time_init()
    to late_time_init(). Good things about this change:
    - interrupts: they are enabled at late_time_init()
    - mm: regular kmalloc() can be used at late_time_init()

    Together with moving to late_time_init() this patch changes
    the sh_cmt driver to always allocate with kmalloc(). This
    simplifies the code a bit and also fixes section mismatches.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • This patch improves the sh_cmt clocksource handling.

    Currently the counter value is ignored in the case of
    overflow. With this patch the overflow flag is read
    before and after reading the counter, removing any
    counter value and overflow flag mismatch issues.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     

22 Apr, 2009

1 commit


19 Apr, 2009

1 commit


02 Apr, 2009

1 commit


29 Jan, 2009

1 commit

  • SuperH CMT clockevent driver.

    Both 16-bit and 32-bit CMT versions are supported, but only 32-bit
    is tested. This driver contains support for both clockevents and
    clocksources, but no unregistration is supported at this point.

    Works fine as clock source and/or event in periodic or oneshot mode.
    Tested on sh7722 and sh7723, but should work with any cpu/architecture.

    This version is lacking clocksource and early platform driver support
    for now - this to minimize the amount of dependencies.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm