18 Jul, 2014

1 commit

  • ARMv6 and greater introduced a new instruction ("bx") which can be used
    to return from function calls. Recent CPUs perform better when the
    "bx lr" instruction is used rather than the "mov pc, lr" instruction,
    and this sequence is strongly recommended to be used by the ARM
    architecture manual (section A.4.1.1).

    We provide a new macro "ret" with all its variants for the condition
    code which will resolve to the appropriate instruction.

    Rather than doing this piecemeal, and miss some instances, change all
    the "mov pc" instances to use the new macro, with the exception of
    the "movs" instruction and the kprobes code. This allows us to detect
    the "mov pc, lr" case and fix it up - and also gives us the possibility
    of deploying this for other registers depending on the CPU selection.

    Reported-by: Will Deacon
    Tested-by: Stephen Warren # Tegra Jetson TK1
    Tested-by: Robert Jarzmik # mioa701_bootresume.S
    Tested-by: Andrew Lunn # Kirkwood
    Tested-by: Shawn Guo
    Tested-by: Tony Lindgren # OMAPs
    Tested-by: Gregory CLEMENT # Armada XP, 375, 385
    Acked-by: Sekhar Nori # DaVinci
    Acked-by: Christoffer Dall # kvm/hyp
    Acked-by: Haojian Zhuang # PXA3xx
    Acked-by: Stefano Stabellini # Xen
    Tested-by: Uwe Kleine-König # ARMv7M
    Tested-by: Simon Horman # Shmobile
    Signed-off-by: Russell King

    Russell King
     

09 Mar, 2009

1 commit

  • The remaining registers are separated into:

    -
    -
    -

    and then we can remove pxa-regs.h completely. Instead of #include this
    file, let's:

    1. include the specific with care (if that's absolutely
    necessary)

    2. define the registers in the driver, make cleanly defined API to expose
    the register access to external with sufficient reason

    Signed-off-by: Eric Miao

    Eric Miao
     

07 Aug, 2008

2 commits


03 Jun, 2008

1 commit


02 Jun, 2008

1 commit


26 Jan, 2008

2 commits

  • Wakeup sources on PXA3 are enabled at two levels. First, the MFP
    configuration has to be set to enable which edges a specific pin
    will trigger a wakeup. The pin also has to be routed to a functional
    unit. Lastly, the functional unit must be enabled as a wakeup source
    in the appropriate AD*ER registers (AD2D0ER for standby resume.)

    This doesn't fit well with the IRQ wake scheme - we currently do a
    best effort conversion from IRQ numbers to functional unit wake enable
    bits. For instance, there's several USB client related enable bits but
    there's no corresponding IRQs to determine which you'd want. Conversely,
    there's a single enable bit covering several functional units.

    Signed-off-by: Russell King

    Russell King
     
  • There's no point building standby/sleep code for processors which
    aren't configured.

    Signed-off-by: Russell King

    Russell King
     

01 Jul, 2006

1 commit


28 Oct, 2005

1 commit

  • Patch from Todd Poynor

    Add symbols for PXA2xx PWRMODE register M field that selects low-power
    mode, replace unadorned constants. Honor power mode parameter of
    pxa_cpu_suspend(mode), no longer force to 3 (sleep). Full Deep Sleep
    low-power mode support for PXA27x is pending generic PM interfaces to
    select more than 2 suspend-to-RAM-style power modes, but this is
    expected soon. This can be hardcoded in the meantime by replacing the
    pxa_cpu_suspend() parameter value. From David Burrage and Todd Poynor.
    Try #2 removes one of the register copies and moves the code to save the
    pxa_cpu_suspend parameter to immediately surround the call that requires
    the parameter value be preserved.

    Signed-off-by: Todd Poynor
    Signed-off-by: Nicolas Pitre
    Signed-off-by: Russell King

    Todd Poynor
     

01 Jul, 2005

1 commit

  • Patch from Todd Poynor

    Add support for PXA27x Standby mode, a low-power mode that retains CPU
    and some peripheral state (the existing "sleep" mode is a power-power
    mode that retains less state). Activated via:
    echo -n standby > /sys/power/state
    From: David Burrage and Todd Poynor

    Signed-off-by: Todd Poynor
    Signed-off-by: Russell King

    Todd Poynor