1. Jul 05, 2014
  2. Jul 01, 2014
    • Thomas Petazzoni's avatar
      ARM: mvebu: fix cpuidle implementation to work on big-endian systems · 6509dc74
      Thomas Petazzoni authored
      
      
      On Marvell Armada XP, when a CPU comes back from deep idle state of
      cpuidle, it restarts its execution at armada_370_xp_cpu_resume(),
      which puts back the CPU into the coherency, and then calls the generic
      cpu_resume() function.
      
      While this works on little-endian configurations, it doesn't work on
      big-endian configurations because the CPU restarts in little-endian,
      and therefore must be switched back to big-endian to operate
      properly. To achieve this, a 'setend be' instruction must be executed
      in big-endian configurations. However, the ARM_BE8() macro that is
      used to implement nice compile-time conditional for ARM LE vs. ARM BE8
      is not easily usable in inline assembly.
      
      Therefore, this patch moves the armada_370_xp_cpu_resume() C function,
      which was anyway just a block of inline assembly, into a proper
      pmsu_ll.S file, and adds the appropriate ARM_BE8(setend be)
      instruction.
      
      Without this patch, an Armada XP big endian configuration with cpuidle
      enabled fails to boot, as it hangs as soon as one of the CPU hits the
      deep idle state.
      
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Link: https://lkml.kernel.org/r/1404130165-3593-1-git-send-email-thomas.petazzoni@free-electrons.com
      
      
      Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
      6509dc74
    • Thomas Petazzoni's avatar
      ARM: mvebu: update L2/PCIe deadlock workaround after L2CC cleanup · 01178890
      Thomas Petazzoni authored
      Commit 497a9230
      
       ("ARM: mvebu:
      implement L2/PCIe deadlock workaround") introduced some logic in
      coherency.c to adjust the PL310 cache controller Device Tree node of
      Armada 375 and Armada 38x platform to include the 'arm,io-coherent'
      property if the system is running with hardware I/O coherency enabled.
      
      However, with the L2CC driver cleanup done by Russell King, the
      initialization of the L2CC driver has been moved earlier, and is now
      part of the init_IRQ() ARM function in
      arch/arm/kernel/irq.c. Therefore, calling coherency_init() in
      ->init_time() is now too late, as the Device Tree property gets added
      too late (after the L2CC driver has been initialized).
      
      In order to fix this, this commit removes the ->init_time() callback
      use in board-v7.c and replaces it with an ->init_irq() callback. We
      therefore no longer use the default ->init_irq() callback, but we now
      use the default ->init_time() callback.
      
      In this newly introduced ->init_irq() callback, we call irqchip_init()
      which is the default behavior when ->init_irq() isn't defined, and
      then do the initialization related to the coherency: SCU, coherency
      fabric, and mvebu-mbus (which is needed to start secondary CPUs).
      
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Link: https://lkml.kernel.org/r/1402585772-10405-4-git-send-email-thomas.petazzoni@free-electrons.com
      
      
      Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
      01178890
    • Thomas Petazzoni's avatar
      ARM: mvebu: move Armada 375 external abort logic as a quirk · 752ef800
      Thomas Petazzoni authored
      
      
      In preparation to a small re-organization of the initialization
      sequence in board-v7.c, this commit moves the registration of the
      custom external abort handler on Armada 375 later in the boot
      sequence, and makes it more similar to the other quirks that we
      already have. There is indeed no need to register this abort handler
      particularly early, it simply needs to be registered before switching
      to userspace.
      
      In addition to this, this commit makes the registration of the custom
      abort handler conditional on Armada 375 Z1, because Armada 375 A0 and
      later iterations are not affected by the issue.
      
      This commit was tested on both Armada 375 Z1 and Armada 375 A0
      platforms.
      
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Link: https://lkml.kernel.org/r/1402585772-10405-3-git-send-email-thomas.petazzoni@free-electrons.com
      
      
      Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
      752ef800
  3. Jun 27, 2014
    • Olof Johansson's avatar
      ARM: bcm: Fix bcm and multi_v7 defconfigs · bfda90cb
      Olof Johansson authored
      
      
      BCM (Kona/capri platform) has regressed in two ways on this release. First,
      bcm_defconfig no longer selected the appropriate MMC driver options due to
      changes in dependencies. Secondly, the new MFD and regulator drivers were not
      enabled on multi_v7_defconfig, so that caused the system to fail probing MMC
      there.
      
      Fix by enabling the new options as needed.
      
      Cc: Matt Porter <matt.porter@linaro.org>
      Cc: Christian Daudt <bcm@fixthebug.org>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      bfda90cb
  4. Jun 26, 2014
  5. Jun 25, 2014
  6. Jun 24, 2014
  7. Jun 23, 2014
    • Arnd Bergmann's avatar
      Merge tag 'imx-fixes-3.16' of... · f340a59f
      Arnd Bergmann authored
      Merge tag 'imx-fixes-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes
      
      Pull "i.MX fixes for 3.16" from Shawn Guo:
      
       - Use GPIO for card CD/WP on imx51-babbage and eukrea-mbimxsd51,
         because controller base CD/WP is not working in esdhc driver due to
         runtime PM support
       - A couple of random ventana gw5xxx board fixes
       - Add IMX_IPUV3_CORE back to defconfig, which gets lost when moving
         IPUv3 driver out of staging tree
       - Fix enet/fec clock selection on imx6sl
       - Fix display node on imx53-m53evk board
       - A couple of Cubox-i updates from Russell, which were omitted from
         the merge window due to dependency
      
      * tag 'imx-fixes-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
        ARM: dts: imx51-eukrea-mbimxsd51-baseboard: unbreak esdhc.
        ARM: dts: imx51-babbage: Fix esdhc setup
        ARM: dts: mx5: Move the display out of soc {} node
        ARM: dts: mx5: Fix IPU port node placement
        ARM: imx_v6_v7_defconfig: Enable CONFIG_IMX_IPUV3_CORE
        ARM: dts: hummingboard/cubox-i: move usb otg configuration to platform level
        ARM: dts: cubox-i: add support for PWM-driven front panel LED
        ARM: dts: imx6: ventana: correct gw52xx sgtl5000 clock source
        ARM: dts: imx6qdl-gw5xxx: Fix Linear Technology vendor prefix
        ARM: dts: imx6: ventana: fix include typo
        ARM: dts: imx6sl: correct the fec ipg clock source
        ARM: imx6sl: add missing enet clock for imx6sl
      f340a59f
    • Arnd Bergmann's avatar
      Merge tag 'samsung-fixes-1' of... · 9cbf3d2b
      Arnd Bergmann authored
      Merge tag 'samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes
      
      Merge Samsung fixes for 3.16 from Kukjin Kim:
      
      - use WFI macro in platform_do_lowpower because exynos cpuhotplug
        includes a hardcoded WFI instruction and it causes compile error
        in Thumb-2 mode.
      - fix GIC reg sizes for exynos4 SoCs
      - remove reset timer counter value during boot and resume for mct
        to fix a big jump in printk timestamps
      - fix pm code to check cortex-A9 for another exynos SoCs
      - don't rely on firmware's secondary_cpu_start for mcpm
      
      * tag 'samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung
      
      :
        ARM: EXYNOS: Don't rely on firmware's secondary_cpu_start for mcpm
        ARM: EXYNOS: fix pm code to check for cortex A9 rather than the SoC
        clocksource: exynos_mct: Don't reset the counter during boot and resume
        ARM: dts: fix reg sizes of GIC for exynos4
        ARM: EXYNOS: Use wfi macro in platform_do_lowpower
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      9cbf3d2b
  8. Jun 21, 2014
  9. Jun 20, 2014
  10. Jun 19, 2014
  11. Jun 18, 2014
    • Kumar Gala's avatar
      tty: serial: msm: Fix section mismatch warning · 4cc29462
      Kumar Gala authored
      
      
      WARNING: drivers/tty/built-in.o(.data+0x3544): Section mismatch in
      reference from the variable msm_platform_driver to the function
      .init.text:msm_serial_probe()
      The variable msm_platform_driver references
      the function __init msm_serial_probe()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
      
      Signed-off-by: default avatarKumar Gala <galak@codeaurora.org>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      4cc29462
    • Ezequiel Garcia's avatar
      ARM: mvebu: enable Dove SoC in mvebu_v7_defconfig · 3f620ddc
      Ezequiel Garcia authored
      Since commit:
      
      commit d93003e8
      
      
      Author: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      Date:   Thu Apr 24 22:58:30 2014 +0100
      
          ARM: 8042/1: iwmmxt: allow to build iWMMXt on Marvell PJ4B
      
      fixed the error that prevented Dove SoC from being built with
      the rest of the mvebu SoCs, we can now add it to the defconfig.
      
      In addition, this commit enables SERIAL_OF_PLATFORM, which is required
      to have UART on some of the boards.
      
      Signed-off-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      3f620ddc
    • Abhilash Kesavan's avatar
      ARM: EXYNOS: fix pm code to check for cortex A9 rather than the SoC · c0c3c359
      Abhilash Kesavan authored
      
      
      We have an soc check to ensure that the scu and certain A9 specific
      registers are not accessed on Exynos5250 (which is A15 based).
      Rather than adding another soc specific check for 5420 let us test
      for the Cortex A9 primary part number.
      
      This resolves the below crash seen on exynos5420 during core switching
      after the CPUIdle consolidation series was merged.
      
      [  155.975589] [<c0013174>] (scu_enable) from [<c001b0dc>] (exynos_cpu_pm_notifier+0x80/0xc4)
      [  155.983833] [<c001b0dc>] (exynos_cpu_pm_notifier) from [<c003c1b0>] (notifier_call_chain+0x44/0x84)
      [  155.992851] [<c003c1b0>] (notifier_call_chain) from [<c007a49c>] (cpu_pm_notify+0x20/0x3c)
      [  156.001089] [<c007a49c>] (cpu_pm_notify) from [<c007a564>] (cpu_pm_exit+0x20/0x38)
      [  156.008635] [<c007a564>] (cpu_pm_exit) from [<c0019e98>] (bL_switcher_thread+0x298/0x40c)
      [  156.016788] [<c0019e98>] (bL_switcher_thread) from [<c003842c>] (kthread+0xcc/0xe8)
      [  156.024426] [<c003842c>] (kthread) from [<c000e438>] (ret_from_fork+0x14/0x3c)
      [  156.031621] Code: ea017fec c0530a00 c052e3f8 c0012dcc (e5903000
      
      Signed-off-by: default avatarAbhilash Kesavan <a.kesavan@samsung.com>
      Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      c0c3c359
  12. Jun 17, 2014