1. 14 9月, 2009 2 次提交
  2. 01 9月, 2009 2 次提交
    • P
      sh: Kill off kgdb's magical NMI debouncing. · ade315d8
      Paul Mundt 提交于
      The kgdb stub has traditionally tied in to the NMI slot, and manually
      handled debounce. Now that we have a generic way to do this instead, all
      of the stub-specific debounce silliness can be killed off.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      ade315d8
    • P
      sh: nmi_debug support. · 1e1030dc
      Paul Mundt 提交于
      This implements support for NMI debugging that was shamelessly copied
      from the avr32 port. A bit of special magic is needed in the interrupt
      exception path given that the NMI exception handler is stubbed in to the
      regular exception handling table despite being reported in INTEVT. So we
      mangle the lookup and kick off an EXPEVT-style exception dispatch from
      the INTEVT path for exceptions that do_IRQ() has no chance of handling.
      As a result, we also drop the evt2irq() conversion from the do_IRQ() path
      and just do it in assembly.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      1e1030dc
  3. 27 8月, 2009 1 次提交
  4. 24 8月, 2009 2 次提交
  5. 23 8月, 2009 3 次提交
    • M
      sh: drop static UIO clocks for sh7722, sh7723 and sh7724 · cc58f597
      Magnus Damm 提交于
      The Runtime PM patch for UIO driver implements coarse grained
      dynamic power management for UIO devices. With that patch in
      place we can get rid of the static clock configuration. Which
      in turn makes it possible for cpuidle to enter deeper sleep.
      Signed-off-by: NMagnus Damm <damm@igel.co.jp>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      cc58f597
    • P
      sh: Fix section mismatch in platform bus notifier. · a62926fe
      Paul Mundt 提交于
      The runtime PM for SH-Mobile code had platform_bus_notify() as __devinit,
      which is rather bogus. Kill off the annotation, which subsequently
      silences the section mismatch warnings.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      a62926fe
    • M
      sh: Runtime PM for SuperH Mobile platform bus devices · 6a93dde1
      Magnus Damm 提交于
      This patch is V3 of the SuperH Mobile Runtime PM platform bus
      implentation matching Rafael's Runtime PM v16.
      
      The code gets invoked from the SuperH specific Runtime PM
      platform bus functions that override the weak symbols for:
       - platform_pm_runtime_suspend()
       - platform_pm_runtime_resume()
       - platform_pm_runtime_idle()
      
      This Runtime PM implementation performs two levels of power
      management. At the time of platform bus runtime suspend the
      clock to the device is stopped instantly. Later on if all
      devices within the power domain has their clocks stopped
      then the device driver ->runtime_suspend() callbacks are
      used to save hardware register state for each device.
      
      Device driver ->runtime_suspend() calls are scheduled from
      cpuidle context using platform_pm_runtime_suspend_idle().
      When all devices have been fully suspended the processor
      is allowed to enter deep sleep from cpuidle.
      
      The runtime resume operation turns on clocks and also
      restores registers if needed. It is worth noting that the
      devices start in a suspended state and the device driver
      is responsible for calling runtime resume before accessing
      the actual hardware.
      
      In this particular platform bus implementation runtime
      resume is not allowed from interrupt context. Runtime
      suspend is however allowed from interrupt context as
      long as the synchronous functions are avoided.
      
      [ updated for v17 -- PFM. ]
      Signed-off-by: NMagnus Damm <damm@igel.co.jp>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      6a93dde1
  6. 21 8月, 2009 2 次提交
  7. 19 8月, 2009 1 次提交
  8. 18 8月, 2009 4 次提交
  9. 15 8月, 2009 8 次提交
  10. 14 8月, 2009 1 次提交
  11. 13 8月, 2009 1 次提交
  12. 04 8月, 2009 5 次提交
  13. 23 7月, 2009 2 次提交
    • M
      sh: convert processor device setup functions to arch_initcall() · 955c9863
      Magnus Damm 提交于
      Convert the processor platform device setup
      functions from __initcall() and sometimes
      device_initcall() to arch_initcall().
      
      This makes sure that the platform devices are
      registered a bit earlier so the devices are
      available when drivers register using initcall
      levels earlier than device_initcall().
      
      A good example is platform devices needed by
      i2c-sh_mobile.c which registers a bit earlier
      using subsys_initcall().
      Signed-off-by: NMagnus Damm <damm@igel.co.jp>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      955c9863
    • M
      usb: m66592-udc platform data on_chip support · 2c59b0b7
      Magnus Damm 提交于
      Convert the m66592-udc driver to use the on_chip flag
      from platform data to enable on chip behaviour instead
      of relying on CONFIG_SUPERH_BUILT_IN_M66592 ugliness.
      
      This makes the code cleaner and also allows us to support
      both external and internal m66592 with the same kernel.
      
      It also makes the Kconfig part more future proof since
      we with this patch can add support for new processors
      with on-chip m66592 without modifying the Kconfig.
      
      The patch adds a m66592 header file for platform data
      and ties in platform data to the existing m66592 devices.
      Signed-off-by: NMagnus Damm <damm@igel.co.jp>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      2c59b0b7
  14. 20 7月, 2009 3 次提交
  15. 04 7月, 2009 3 次提交
    • M
      sh: cpuidle for SuperH Mobile using hwblk · 7426394f
      Magnus Damm 提交于
      This patch adds cpuidle support for SuperH Mobile.
      
      The sleep mode selected by cpuidle is compared with
      the mode selected by the hwblk sleep code and the
      best allowed mode is entered.
      
      At this point "Sleep mode" and "Sleep mode + SF" are
      supported. This code can easily be extended to support
      "Software suspend mode", but the assembly code must
      first be updated to avoid loosing interrupts.
      
      Also, update the code to only copy the assembly snippet
      into internal memory once at bootup.
      Signed-off-by: NMagnus Damm <damm@igel.co.jp>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      7426394f
    • M
      sh: hwblk for sh7722 · a61c1a63
      Magnus Damm 提交于
      This patch contains the sh7722 specific hwblk implementation.
      
      Hwblk ids are added to the processor specific header file,
      module stop bits and areas are kept track of as hwblks,
      clocks are converted to make use of the shared hwblk code.
      Code to determine allowed sleep modes is also added.
      Signed-off-by: NMagnus Damm <damm@igel.co.jp>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      a61c1a63
    • M
      sh: hwblk base implementation · 79714acb
      Magnus Damm 提交于
      This patch is the hwblk base implementation, containing
      structures and shared functions dealing with hardware blocks.
      
      A each processor model should provide a list of hwblks and
      describe which module stop bit that is associated with each
      hwblck and how the hwblks are grouped together into areas.
      
      The shared code keeps track of the usage count for each
      hwblk and the areas. Fallback implementations for processor
      specific code are also kept as weak symbols.
      
      The clock framework, the runtime pm code and cpuidle will
      all tie into this hwblk implementation.
      Signed-off-by: NMagnus Damm <damm@igel.co.jp>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      79714acb