1. 30 1月, 2015 1 次提交
    • B
      cpuidle: exynos: add coupled cpuidle support for exynos4210 · 712eddf7
      Bartlomiej Zolnierkiewicz 提交于
      The following patch adds coupled cpuidle support for Exynos4210 to
      an existing cpuidle-exynos driver.  As a result it enables AFTR mode
      to be used by default on Exynos4210 without the need to hot unplug
      CPU1 first.
      
      The patch is heavily based on earlier cpuidle-exynos4210 driver from
      Daniel Lezcano:
      
      http://www.spinics.net/lists/linux-samsung-soc/msg28134.html
      
      Changes from Daniel's code include:
      - porting code to current kernels
      - fixing it to work on my setup (by using S5P_INFORM register
        instead of S5P_VA_SYSRAM one on Revison 1.1 and retrying poking
        CPU1 out of the BOOT ROM if necessary)
      - fixing rare lockup caused by waiting for CPU1 to get stuck in
        the BOOT ROM (CPU hotplug code in arch/arm/mach-exynos/platsmp.c
        doesn't require this and works fine)
      - moving Exynos specific code to arch/arm/mach-exynos/pm.c
      - using cpu_boot_reg_base() helper instead of BOOT_VECTOR macro
      - using exynos_cpu_*() helpers instead of accessing registers
        directly
      - using arch_send_wakeup_ipi_mask() instead of dsb_sev()
        (this matches CPU hotplug code in arch/arm/mach-exynos/platsmp.c)
      - integrating separate exynos4210-cpuidle driver into existing
        exynos-cpuidle one
      
      Cc: Colin Cross <ccross@google.com>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Tomasz Figa <tomasz.figa@gmail.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
      Acked-by: NKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NKukjin Kim <kgene@kernel.org>
      712eddf7
  2. 13 11月, 2014 1 次提交
    • D
      cpuidle: Invert CPUIDLE_FLAG_TIME_VALID logic · b82b6cca
      Daniel Lezcano 提交于
      The only place where the time is invalid is when the ACPI_CSTATE_FFH entry
      method is not set. Otherwise for all the drivers, the time can be correctly
      measured.
      
      Instead of duplicating the CPUIDLE_FLAG_TIME_VALID flag in all the drivers
      for all the states, just invert the logic by replacing it by the flag
      CPUIDLE_FLAG_TIME_INVALID, hence we can set this flag only for the acpi idle
      driver, remove the former flag from all the drivers and invert the logic with
      this flag in the different governor.
      Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      b82b6cca
  3. 20 10月, 2014 1 次提交
  4. 09 8月, 2014 1 次提交
    • T
      ARM: EXYNOS: Fix suspend/resume sequences · 01601b34
      Tomasz Figa 提交于
      Due to recent consolidation of Exynos suspend and cpuidle code, some
      parts of suspend and resume sequences are executed two times, once from
      exynos_pm_syscore_ops and then from exynos_cpu_pm_notifier() and thus it
      breaks suspend, at least on Exynos4-based boards. In addition, simple
      core power down from a cpuidle driver could, in case of CPU 0 could
      result in calling functions that are specific to suspend and deeper idle
      states.
      
      This patch fixes the issue by moving those operations outside the CPU PM
      notifier into suspend and AFTR code paths. This leads to a bit of code
      duplication, but allows additional code simplification, so in the end
      more code is removed than added.
      
      Fixes: 85f9f908 ("ARM: EXYNOS: Use the cpu_pm notifier for pm")
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Olof Johansson <olof@lixom.net>
      Cc: arm@kernel.org
      Signed-off-by: NTomasz Figa <t.figa@samsung.com>
      [b.zolnierkie: ported patch over current changes]
      [b.zolnierkie: fixed exynos_aftr_finisher() return value]
      Signed-off-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      01601b34
  5. 26 5月, 2014 18 次提交
  6. 22 3月, 2014 1 次提交
  7. 21 3月, 2014 1 次提交
    • T
      ARM: EXYNOS: Fix compilation error in cpuidle.c · 8dec067d
      Tomasz Figa 提交于
      The big series refactoring Exynos suspend to RAM handling missed the
      cpuidle driver that is disabled in exynos_defconfig, leaving it
      including old mach/pm_core.h header and using old s3c_cpu_resume symbol
      instead of new exynos_cpu_resume, resulting in compilation failures with
      CONFIG_ARCH_EXYNOS and CONFIG_CPU_IDLE enabled.
      
      This patch fixes that silly mistake and performs necessary modification
      to arhc/arm/exynos/cpuidle.c to make it compile again.
      Signed-off-by: NTomasz Figa <t.figa@samsung.com>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      8dec067d
  8. 11 1月, 2014 1 次提交
  9. 19 12月, 2013 2 次提交
  10. 31 10月, 2013 2 次提交
  11. 24 9月, 2013 1 次提交
  12. 27 8月, 2013 1 次提交
  13. 24 7月, 2013 1 次提交
    • A
      ARM: SAMSUNG: Add SAMSUNG_PM config option to select pm · 89693016
      Amit Daniel Kachhap 提交于
      This patch enables the selection of samsung pm related stuffs
      when SAMSUNG_PM config is enabled and not just when generic PM
      config is enabled. Power management for s3c64XX and s3c24XX
      is enabled by default and for other platform depends on S5P_PM.
      This patch also fixes the following compilation error's when compiling
      a platform like exynos5440 which does not select pm stuffs.
      
      arch/arm/mach-exynos/built-in.o: In function '__virt_to_phys':
      linux/arch/arm/include/asm/memory.h:175: undefined reference to 's3c_cpu_resume'
      linux/arch/arm/include/asm/memory.h:175: undefined reference to 's3c_cpu_resume'
      linux/arch/arm/include/asm/memory.h:175: undefined reference to 's3c_cpu_resume'
      linux/arch/arm/include/asm/memory.h:175: undefined reference to 's3c_cpu_resume'
      arch/arm/mach-exynos/built-in.o: In function 'exynos5_init_irq':
      linux/arch/arm/mach-exynos/common.c:492: undefined reference to 's3c_irq_wake'
      linux/arch/arm/mach-exynos/common.c:492: undefined reference to 's3c_irq_wake'
      arch/arm/mach-exynos/built-in.o: In function 'exynos4_init_irq':
      linux/arch/arm/mach-exynos/common.c:476: undefined reference to 's3c_irq_wake'
      linux/arch/arm/mach-exynos/common.c:476: undefined reference to 's3c_irq_wake'
      arch/arm/plat-samsung/built-in.o: In function 's3c_irqext_wake':
      linux/arch/arm/plat-samsung/pm.c:144: undefined reference to 's3c_irqwake_eintallow'
      linux/arch/arm/plat-samsung/pm.c:144: undefined reference to 's3c_irqwake_eintallow'
      arch/arm/plat-samsung/built-in.o: In function 's3c_pm_enter':
      linux/arch/arm/plat-samsung/pm.c:263: undefined reference to 's3c_irqwake_intallow'
      linux/arch/arm/plat-samsung/pm.c:263: undefined reference to 's3c_irqwake_intallow'
      linux/arch/arm/plat-samsung/pm.c:264: undefined reference to 's3c_irqwake_eintallow'
      linux/arch/arm/plat-samsung/pm.c:264: undefined reference to 's3c_irqwake_eintallow'
      linux/arch/arm/plat-samsung/pm.c:275: undefined reference to 's3c_pm_save_core'
      linux/arch/arm/plat-samsung/pm.c:279: undefined reference to 's3c_pm_configure_extint'
      linux/arch/arm/plat-samsung/pm.c:310: undefined reference to 's3c_pm_restore_core'
      make: *** [vmlinux] Error 1
      Signed-off-by: NAmit Daniel Kachhap <amit.daniel@samsung.com>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      89693016
  14. 23 4月, 2013 1 次提交
  15. 09 4月, 2013 3 次提交
  16. 11 1月, 2013 1 次提交
  17. 28 11月, 2012 1 次提交
  18. 20 11月, 2012 1 次提交
  19. 20 5月, 2012 1 次提交