1. 18 6月, 2014 17 次提交
  2. 17 6月, 2014 13 次提交
    • R
      ARM: use menuconfig for sub-arch menus · 21278aea
      Rob Herring 提交于
      The System Type menu is getting quite long with platforms and is
      inconsistent in handling of sub-arch specific options. Tidy up the menu
      by making platform options a menuconfig entry containing any platform
      specific config items.
      
      [arnd: change OMAP part according to suggestion from
       Tony Lindgren <tony@atomide.com>]
      Signed-off-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      21278aea
    • S
      ARM: multi_v7_defconfig: re-enable SDHCI drivers · 216e9d3e
      Stephen Warren 提交于
      Following 5d01b768 "mmc: simplify SDHCI Kconfig dependencies",
      SDHCI drivers that use MMC_SDHCI_PLTFM no longer select it, but
      instead depend on it. This means that multi_v7_defconfig no longer
      selects it, and hence many SDHCI drivers are no longer enabled.
      Explicitly enable MMC_SDHCI_PLTFM to solve this.
      
      Fixes: 5d01b768 ("mmc: simplify SDHCI Kconfig dependencies")
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Tested-by: NMatt Porter <mporter@linaro.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      216e9d3e
    • S
      ARM: EXYNOS: Fix compilation warning · 3eb93646
      Sachin Kamat 提交于
      of_get_flat_dt_prop return type is now const.
      Fixes the following compilation warning introduced by commit 9d0c4dfe
      ("of/fdt: update of_get_flat_dt_prop in prep for libfdt")
      
      arch/arm/mach-exynos/exynos.c:259:6: warning:
      assignment discards ‘const’ qualifier from pointer target type [enabled by default]
      Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org>
      Reviewed-by: NTushar Behera <tushar.behera@linaro.org>
      Cc: Rob Herring <robh@kernel.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      3eb93646
    • O
      ARM: exynos: move sysram info to exynos.c · 1754c42e
      Olof Johansson 提交于
      This solves a problem with building with CONFIG_SMP=n due to missing
      sysram_base_addr (or sysram_ns_base_addr) variables.
      
      The new setup method is more awkward than I'd like for it to be, but
      it can't be done in init_early() since ioremap is not yet available,
      but it needs to happen before SMP.
      Reported-by: NRussell King <linux@arm.linux.org.uk>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      Reviewed-by: NTomasz Figa <t.figa@samsung.com>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      1754c42e
    • E
      ARM: dts: Specify the NAND ECC scheme explicitly on Armada 385 DB board · 1ad58443
      Ezequiel Garcia 提交于
      The factory bootloader on A385-DB boards expect the ECC strength to be
      4 bits over 512 bytes. Hence, we need to specify this in the devicetree,
      to prevent the kernel from assuming any different ECC scheme.
      Signed-off-by: NEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Link: https://lkml.kernel.org/r/1400941030-2123-3-git-send-email-ezequiel.garcia@free-electrons.comSigned-off-by: NJason Cooper <jason@lakedaemon.net>
      1ad58443
    • E
      ARM: dts: Specify the NAND ECC scheme explicitly on Armada 375 DB board · 3364ee57
      Ezequiel Garcia 提交于
      The factory bootloader on A375-DB boards expect the ECC strength to be
      4 bits over 512 bytes. Hence, we need to specify this in the devicetree,
      to prevent the kernel from assuming any different ECC scheme.
      Signed-off-by: NEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Link: https://lkml.kernel.org/r/1400941030-2123-2-git-send-email-ezequiel.garcia@free-electrons.comSigned-off-by: NJason Cooper <jason@lakedaemon.net>
      3364ee57
    • R
      ARM: exynos: cleanup kconfig option display · e509b289
      Rob Herring 提交于
      The addition of Exynos to multi-platform configs creates a mess of config
      options with options appearing before the Exynos config option. This is
      due to arch/arm/plat-samsung/Kconfig being included out of order with the
      other Samsung platform kconfig files. Reorder the kconfig files and move
      all the options into a sub-menu. Some of the options are dead, so remove
      those as well.
      Signed-off-by: NRob Herring <robh@kernel.org>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: linux-samsung-soc@vger.kernel.org
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      e509b289
    • S
      ARM: Remove ARCH_HAS_CPUFREQ config option · 19682f72
      Stephen Boyd 提交于
      This config exists entirely to hide the cpufreq menu from the
      kernel configuration unless a platform has selected it. Nothing
      is actually built if this config is 'Y' and it just leads to more
      patches that add a select under a platform Kconfig so that some
      other CPUfreq option can be chosen. Let's remove the option so
      that we can always enable CPUfreq drivers on ARM platforms.
      Acked-by: NViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      19682f72
    • L
      ARM: integrator: fix section mismatch problem · e1318391
      Linus Walleij 提交于
      This addresses a section mismatch problem in the IM-PD1
      driver in the Integrator/AP.
      
      The IM-PD1 contains a VIC interrupt controller and therefore
      the driver calls vic_init_cascaded() which is marked __init as
      irqchips are simply not hot-pluggable and specifically the VIC
      is assumed to initiate only on boot.
      
      However the module driver model of the Integrator LM bus
      assumes that logic tile drivers can be probed at runtime. This
      is not really the case for IM-PD1: these tiles are detected at
      boot and they cannot be plugged into a running system. Before
      this patch it is of course possible to modprobe them later.
      
      By first forcing the IM-PD1 to bool we make sure this driver
      gets compiled into the kernel, and we know it will be probed
      only at boot time when the tiles are detected, so we can tag
      its probe function __init_refok as we know it won't be called
      after boot now, and the section mismatch problem goes away.
      
      As a side effect, sysfs binding from userspace becomes
      impossible, so we tag the driver to suppress the bind/unbind
      sysfs attributes.
      
      Cc: Russell King <linux@arm.linux.org.uk>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      e1318391
    • J
      ARM: mvebu: DT: fix OpenBlocks AX3-4 RAM size · e47043ae
      Jason Cooper 提交于
      The OpenBlocks AX3-4 has a non-DT bootloader.  It also comes with 1GB of
      soldered on RAM, and a DIMM slot for expansion.
      
      Unfortunately, atags_to_fdt() doesn't work in big-endian mode, so we see
      the following failure when attempting to boot a big-endian kernel:
      
        686 slab pages
        17 pages shared
        0 pages swap cached
        [ pid ]   uid  tgid total_vm      rss nr_ptes swapents oom_score_adj name
        Kernel panic - not syncing: Out of memory and no killable processes...
      
        CPU: 1 PID: 351 Comm: kworker/u4:0 Not tainted 3.15.0-rc8-next-20140603 #1
        [<c0215a54>] (unwind_backtrace) from [<c021160c>] (show_stack+0x10/0x14)
        [<c021160c>] (show_stack) from [<c0802500>] (dump_stack+0x78/0x94)
        [<c0802500>] (dump_stack) from [<c0800068>] (panic+0x90/0x21c)
        [<c0800068>] (panic) from [<c02b5704>] (out_of_memory+0x320/0x340)
        [<c02b5704>] (out_of_memory) from [<c02b93a0>] (__alloc_pages_nodemask+0x874/0x930)
        [<c02b93a0>] (__alloc_pages_nodemask) from [<c02d446c>] (handle_mm_fault+0x744/0x96c)
        [<c02d446c>] (handle_mm_fault) from [<c02cf250>] (__get_user_pages+0xd0/0x4c0)
        [<c02cf250>] (__get_user_pages) from [<c02f3598>] (get_arg_page+0x54/0xbc)
        [<c02f3598>] (get_arg_page) from [<c02f3878>] (copy_strings+0x278/0x29c)
        [<c02f3878>] (copy_strings) from [<c02f38bc>] (copy_strings_kernel+0x20/0x28)
        [<c02f38bc>] (copy_strings_kernel) from [<c02f4f1c>] (do_execve+0x3a8/0x4c8)
        [<c02f4f1c>] (do_execve) from [<c025ac10>] (____call_usermodehelper+0x15c/0x194)
        [<c025ac10>] (____call_usermodehelper) from [<c020e9b8>] (ret_from_fork+0x14/0x3c)
        CPU0: stopping
        CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.15.0-rc8-next-20140603 #1
        [<c0215a54>] (unwind_backtrace) from [<c021160c>] (show_stack+0x10/0x14)
        [<c021160c>] (show_stack) from [<c0802500>] (dump_stack+0x78/0x94)
        [<c0802500>] (dump_stack) from [<c021429c>] (handle_IPI+0x138/0x174)
        [<c021429c>] (handle_IPI) from [<c02087f0>] (armada_370_xp_handle_irq+0xb0/0xcc)
        [<c02087f0>] (armada_370_xp_handle_irq) from [<c0212100>] (__irq_svc+0x40/0x50)
        Exception stack(0xc0b6bf68 to 0xc0b6bfb0)
        bf60:                   e9fad598 00000000 00f509a3 00000000 c0b6a000 c0b724c4
        bf80: c0b72458 c0b6a000 00000000 00000000 c0b66da0 c0b6a000 00000000 c0b6bfb0
        bfa0: c027bb94 c027bb24 60000313 ffffffff
        [<c0212100>] (__irq_svc) from [<c027bb24>] (cpu_startup_entry+0x54/0x214)
        [<c027bb24>] (cpu_startup_entry) from [<c0ac5b30>] (start_kernel+0x318/0x37c)
        [<c0ac5b30>] (start_kernel) from [<00208078>] (0x208078)
        ---[ end Kernel panic - not syncing: Out of memory and no killable processes...
      
      A similar failure will also occur if ARM_ATAG_DTB_COMPAT isn't selected.
      
      Fix this by setting a sane default (1 GB) in the dts file.
      Signed-off-by: NJason Cooper <jason@lakedaemon.net>
      Tested-by: NKevin Hilman <khilman@linaro.org>
      Cc: <stable@vger.kernel.org> #v3.13+
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      e47043ae
    • A
      ARM: samsung: make SAMSUNG_DMADEV optional · 27873b05
      Arnd Bergmann 提交于
      The only remaining driver using the samsung dmadev code is the broken
      samsung-ac97 sound driver. However, as found by Russell's autobuilder,
      the elaborate dependency chains around it cause problems with
      circular dependencies.
      
      This is an attempt to simplify those dependencies by making the
      SAMSUNG_DMADEV option user-selectable. I also try to keep the
      default settings for all related options unchanged, so we don't
      introduce any regressions against earlier testing on linux-next.
      
      In particular, all s3c64xx and s5p* platforms keep selecting the
      pl330 and pl08x drivers they require, but the select statement
      is now moved towards the main platform option, and it remains
      optional by unselecting CONFIG_DMADEVICES.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      27873b05
    • A
      ARM: keystone requires ARM_PATCH_PHYS_VIRT · 13ee8955
      Arnd Bergmann 提交于
      The dynamic relocation that the keystone platform performs
      only works if we can pick the phys offset at boot time. It's
      possible that there is another solution for this, but this
      is the easiest workaround. Kernels with ARM_PATCH_PHYS_VIRT
      are not portable across platforms, and I see no reason why
      anyone would run a kernel without ARM_PATCH_PHYS_VIRT on
      keystone.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      13ee8955
    • A
      ARM: omap2: fix am43xx dependency on l2x0 cache · 2ad501cc
      Arnd Bergmann 提交于
      Commit d941f86f ("ARM: l2c: AM43x: add L2 cache support") enabled
      the L2 cache support for the am43xx SoC, but caused a build regression
      when the driver for that cache controller is disabled:
      
      arch/arm/mach-omap2/built-in.o: In function `am43xx_init_early':
      :(.init.text+0xb20): undefined reference to `omap_l2_cache_init'
      
      This did not happen for OMAP4, which has the same call, but enables
      the l2x0 driver unconditionally. We could do the same thing for
      am43xx, but it seems better to allow turning it off and make the
      code work in either case.
      
      This adds an inline wrapper for omap_l2_cache_init for the disabled
      case, and removes the 'select' from OMAP4 so it becomes a user
      visible option.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Cc: linux-omap@vger.kernel.org
      2ad501cc
  3. 14 6月, 2014 1 次提交
  4. 13 6月, 2014 2 次提交
  5. 12 6月, 2014 3 次提交
  6. 11 6月, 2014 4 次提交
    • M
      powerpc/book3s: Fix guest MC delivery mechanism to avoid soft lockups in guest. · 74845bc2
      Mahesh Salgaonkar 提交于
      Currently we forward MCEs to guest which have been recovered by guest.
      And for unhandled errors we do not deliver the MCE to guest. It looks like
      with no support of FWNMI in qemu, guest just panics whenever we deliver the
      recovered MCEs to guest. Also, the existig code used to return to host for
      unhandled errors which was casuing guest to hang with soft lockups inside
      guest and makes it difficult to recover guest instance.
      
      This patch now forwards all fatal MCEs to guest causing guest to crash/panic.
      And, for recovered errors we just go back to normal functioning of guest
      instead of returning to host. This fixes soft lockup issues in guest.
      This patch also fixes an issue where guest MCE events were not logged to
      host console.
      Signed-off-by: NMahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      74845bc2
    • M
      powerpc/book3s: Increment the mce counter during machine_check_early call. · e6654d5b
      Mahesh Salgaonkar 提交于
      We don't see MCE counter getting increased in /proc/interrupts which gives
      false impression of no MCE occurred even when there were MCE events.
      The machine check early handling was added for PowerKVM and we missed to
      increment the MCE count in the early handler.
      
      We also increment mce counters in the machine_check_exception call, but
      in most cases where we handle the error hypervisor never reaches there
      unless its fatal and we want to crash. Only during fatal situation we may
      see double increment of mce count. We need to fix that. But for
      now it always good to have some count increased instead of zero.
      Signed-off-by: NMahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      e6654d5b
    • M
      powerpc/book3s: Add stack overflow check in machine check handler. · e75ad93a
      Mahesh Salgaonkar 提交于
      Currently machine check handler does not check for stack overflow for
      nested machine check. If we hit another MCE while inside the machine check
      handler repeatedly from same address then we get into risk of stack
      overflow which can cause huge memory corruption. This patch limits the
      nested MCE level to 4 and panic when we cross level 4.
      Signed-off-by: NMahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      e75ad93a
    • M
      powerpc/book3s: Fix machine check handling for unhandled errors · 2749a2f2
      Mahesh Salgaonkar 提交于
      Current code does not check for unhandled/unrecovered errors and return from
      interrupt if it is recoverable exception which in-turn triggers same machine
      check exception in a loop causing hypervisor to be unresponsive.
      
      This patch fixes this situation and forces hypervisor to panic for
      unhandled/unrecovered errors.
      
      This patch also fixes another issue where unrecoverable_exception routine
      was called in real mode in case of unrecoverable exception (MSR_RI = 0).
      This causes another exception vector 0x300 (data access) during system crash
      leading to confusion while debugging cause of the system crash.
      
      Also turn ME bit off while going down, so that when another MCE is hit during
      panic path, system will checkstop and hypervisor will get restarted cleanly
      by SP.
      
      With the above fixes we now throw correct console messages (see below) while
      crashing the system in case of unhandled/unrecoverable machine checks.
      
      --------------
      Severe Machine check interrupt [[Not recovered]
        Initiator: CPU
        Error type: UE [Instruction fetch]
          Effective address: 0000000030002864
      Oops: Machine check, sig: 7 [#1]
      SMP NR_CPUS=2048 NUMA PowerNV
      Modules linked in: bork(O) bridge stp llc kvm [last unloaded: bork]
      CPU: 36 PID: 55162 Comm: bash Tainted: G           O 3.14.0mce #1
      task: c000002d72d022d0 ti: c000000007ec0000 task.ti: c000002d72de4000
      NIP: 0000000030002864 LR: 00000000300151a4 CTR: 000000003001518c
      REGS: c000000007ec3d80 TRAP: 0200   Tainted: G           O  (3.14.0mce)
      MSR: 9000000000041002 <SF,HV,ME,RI>  CR: 28222848  XER: 20000000
      CFAR: 0000000030002838 DAR: d0000000004d0000 DSISR: 00000000 SOFTE: 1
      GPR00: 000000003001512c 0000000031f92cb0 0000000030078af0 0000000030002864
      GPR04: d0000000004d0000 0000000000000000 0000000030002864 ffffffffffffffc9
      GPR08: 0000000000000024 0000000030008af0 000000000000002c c00000000150e728
      GPR12: 9000000000041002 0000000031f90000 0000000010142550 0000000040000000
      GPR16: 0000000010143cdc 0000000000000000 00000000101306fc 00000000101424dc
      GPR20: 00000000101424e0 000000001013c6f0 0000000000000000 0000000000000000
      GPR24: 0000000010143ce0 00000000100f6440 c000002d72de7e00 c000002d72860250
      GPR28: c000002d72860240 c000002d72ac0038 0000000000000008 0000000000040000
      NIP [0000000030002864] 0x30002864
      LR [00000000300151a4] 0x300151a4
      Call Trace:
      Instruction dump:
      XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
      XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
      ---[ end trace 7285f0beac1e29d3 ]---
      
      Sending IPI to other CPUs
      IPI complete
      OPAL V3 detected !
      --------------
      Signed-off-by: NMahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      2749a2f2