Skip to content
  1. Jun 19, 2013
  2. Jun 11, 2013
    • Tomasz Figa's avatar
      ARM: SAMSUNG: pm: Adjust for pinctrl- and DT-enabled platforms · cd3fc1b9
      Tomasz Figa authored
      
      
      This patch makes legacy code on suspend/resume path being executed
      conditionally, on non-DT platforms only, to fix suspend/resume of
      DT-enabled systems, for which the code is inappropriate.
      
      Signed-off-by: default avatarTomasz Figa <t.figa@samsung.com>
      Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
      [olof: add #include <linux/of.h>]
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      cd3fc1b9
    • Haojian Zhuang's avatar
      ARM: prima2: fix incorrect panic usage · 7e5955db
      Haojian Zhuang authored
      
      
      In prima2, some functions of checking DT is registered in initcall
      level. If it doesn't match the compatible name of sirf, kernel
      will panic. It blocks the usage of multiplatform on other verndor.
      
      The error message is in below.
      
      Knic - not syncing: unable to find compatible pwrc node in dtb
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.0-rc3-00006-gd7f26ea-dirty #86
      [<c0013adc>] (unwind_backtrace+0x0/0xf8) from [<c0011430>] (show_stack+0x10/0x1)
      [<c0011430>] (show_stack+0x10/0x14) from [<c026f724>] (panic+0x90/0x1e8)
      [<c026f724>] (panic+0x90/0x1e8) from [<c03267fc>] (sirfsoc_of_pwrc_init+0x24/0x)
      [<c03267fc>] (sirfsoc_of_pwrc_init+0x24/0x58) from [<c0320864>] (do_one_initcal)
      [<c0320864>] (do_one_initcall+0x90/0x150) from [<c0320a20>] (kernel_init_freeab)
      [<c0320a20>] (kernel_init_freeable+0xfc/0x1c4) from [<c026b9e8>] (kernel_init+0)
      [<c026b9e8>] (kernel_init+0x8/0xe4) from [<c000e158>] (ret_from_fork+0x14/0x3c)
      
      Signen-off-by: default avatarHaojian Zhuang <haojian.zhuang@linaro.org>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      7e5955db
  3. Jun 08, 2013
    • Doug Anderson's avatar
      ARM: exynos: add debug_ll_io_init() call in exynos_init_io() · 9c1fcdcc
      Doug Anderson authored
      
      
      If the early MMU mapping of the UART happens to get booted out of the
      TLB between the start of paging_init() and when we finally re-add the
      UART at the very end of s3c_init_cpu(), we'll get a hang at bootup if
      we've got early_printk enabled.  Avoid this hang by calling
      debug_ll_io_init() early.
      
      Without this patch, you can reliably reproduce a hang when early
      printk is enabled by adding flush_tlb_all() at the start of
      exynos_init_io().  After this patch the hang goes away.
      
      Signed-off-by: default avatarDoug Anderson <dianders@chromium.org>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      9c1fcdcc
    • Tushar Behera's avatar
      ARM: EXYNOS: uncompress - print debug messages if DEBUG_LL is defined · 437d8ac5
      Tushar Behera authored
      
      
      Printing low-level debug messages make an assumption that the specified
      UART port has been preconfigured by the bootloader. Incorrectly
      specified UART port results in system getting stalled while printing the
      message "Uncompressing Linux... done, booting the kernel"
      This UART port number is specified through S3C_LOWLEVEL_UART_PORT. Since
      the UART port might different for different board, it is not possible to
      specify it correctly for every board that use a common defconfig file.
      
      Calling this print subroutine only when DEBUG_LL fixes the problem. By
      disabling DEBUG_LL in default config file, we would be able to boot
      multiple boards with different default UART ports.
      
      With this current approach, we miss the print "Uncompressing Linux...
      done, booting the kernel." when DEBUG_LL is not defined.
      
      Signed-off-by: default avatarTushar Behera <tushar.behera@linaro.org>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      437d8ac5
  4. Jun 07, 2013
  5. Jun 06, 2013
    • Jean-Philippe Francois's avatar
      ARM: omap3: clock: fix wrong container_of in clock36xx.c · a93d8a1c
      Jean-Philippe Francois authored
      
      
      omap36xx_pwrdn_clk_enable_with_hsdiv_restore expects the parent hw of
      the clock to be a clk_hw_omap. However, looking at cclock3xxx_data.c,
      all concerned clock have parent defined as clk_divider.  Fix the
      function to use clk_divider.  Tested with 3.9 on dm3730.
      
      Signed-off-by: default avatarJean-Philippe François <jp.francois@cynove.com>
      Cc: NeilBrown <neilb@suse.de>
      Cc: Mike Turquette <mturquette@linaro.org>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      
      a93d8a1c
    • Peter Zijlstra's avatar
      arch, mm: Remove tlb_fast_mode() · 29eb7782
      Peter Zijlstra authored
      
      
      Since the introduction of preemptible mmu_gather TLB fast mode has been
      broken. TLB fast mode relies on there being absolutely no concurrency;
      it frees pages first and invalidates TLBs later.
      
      However now we can get concurrency and stuff goes *bang*.
      
      This patch removes all tlb_fast_mode() code; it was found the better
      option vs trying to patch the hole by entangling tlb invalidation with
      the scheduler.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Tony Luck <tony.luck@intel.com>
      Reported-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      29eb7782
    • Will Deacon's avatar
      ARM: 7747/1: pcpu: ensure __my_cpu_offset cannot be re-ordered across barrier() · 509eb76e
      Will Deacon authored
      
      
      __my_cpu_offset is non-volatile, since we want its value to be cached
      when we access several per-cpu variables in a row with preemption
      disabled. This means that we rely on preempt_{en,dis}able to hazard
      with the operation via the barrier() macro, so that we can't end up
      migrating CPUs without reloading the per-cpu offset.
      
      Unfortunately, GCC doesn't treat a "memory" clobber on a non-volatile
      asm block as a side-effect, and will happily re-order it before other
      memory clobbers (including those in prempt_disable()) and cache the
      value. This has been observed to break the cmpxchg logic in the slub
      allocator, leading to livelock in kmem_cache_alloc in mainline kernels.
      
      This patch adds a dummy memory input operand to __my_cpu_offset,
      forcing it to be ordered with respect to the barrier() macro.
      
      Cc: <stable@vger.kernel.org>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Reviewed-by: default avatarNicolas Pitre <nico@linaro.org>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      509eb76e
    • Marc C's avatar
      ARM: 7750/1: update legacy CPU ID in decompressor cache support jump table · ced2a3b8
      Marc C authored
      
      
      The previous mask values for the legacy ARM CPU IDs were conflicting
      with the CPU ID assignments for late-generation CPUs (like the
      Qualcomm MSM/QSD or Broadcom Brahma-15 processors). This change
      corrects the legacy ARM CPU ID value so that the jump table can
      fall-through to the appropriate cache maintenance / MMU functions.
      
      Signed-off-by: default avatarMarc C <marc.ceeeee@gmail.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      ced2a3b8
    • Arnd Bergmann's avatar
      ARM: 7743/1: compressed/head.S: work around new binutils warning · da94a829
      Arnd Bergmann authored
      In August 2012, Matthew Gretton-Dann checked a change into binutils
      labelled "Error on obsolete & warn on deprecated registers", apparently as
      part of ARMv8 support. Apparently, this was supposed to emit the message
      "Warning: This coprocessor register access is deprecated in ARMv8" when
      using certain mcr/mrc instructions and building for ARMv8. Unfortunately,
      the message that is actually emitted appears to be '(null)', which is
      less helpful in comparison.
      
      Even more unfortunately, this is biting us on every single kernel
      build with a new gas, because arch/arm/boot/compressed/head.S and some
      other files in that directory are built with -march=all since kernel
      commit 80cec14a
      
       "[ARM] Add -march=all to assembly file build in
      arch/arm/boot/compressed" back in v2.6.28.
      
      This patch reverts Russell's nice solution and instead marks the head.S
      file to be built for armv7-a, which fortunately lets us build all
      instructions in that file without warnings even on the broken binutils.
      
      Without this patch, building anything results in:
      
      arch/arm/boot/compressed/head.S: Assembler messages:
      arch/arm/boot/compressed/head.S:565: Warning: (null)
      arch/arm/boot/compressed/head.S:676: Warning: (null)
      arch/arm/boot/compressed/head.S:698: Warning: (null)
      arch/arm/boot/compressed/head.S:722: Warning: (null)
      arch/arm/boot/compressed/head.S:726: Warning: (null)
      arch/arm/boot/compressed/head.S:957: Warning: (null)
      arch/arm/boot/compressed/head.S:996: Warning: (null)
      arch/arm/boot/compressed/head.S:997: Warning: (null)
      arch/arm/boot/compressed/head.S:1027: Warning: (null)
      arch/arm/boot/compressed/head.S:1035: Warning: (null)
      arch/arm/boot/compressed/head.S:1046: Warning: (null)
      arch/arm/boot/compressed/head.S:1060: Warning: (null)
      arch/arm/boot/compressed/head.S:1092: Warning: (null)
      arch/arm/boot/compressed/head.S:1094: Warning: (null)
      arch/arm/boot/compressed/head.S:1095: Warning: (null)
      arch/arm/boot/compressed/head.S:1102: Warning: (null)
      arch/arm/boot/compressed/head.S:1134: Warning: (null)
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: stable@vger.kernel.org
      Cc: Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      da94a829
    • Arnd Bergmann's avatar
      ARM: 7742/1: topology: export cpu_topology · 92bdd3f5
      Arnd Bergmann authored
      
      
      The cpu_topology symbol is required by any driver using the topology
      interfaces, which leads to a couple of build errors:
      
      ERROR: "cpu_topology" [drivers/net/ethernet/sfc/sfc.ko] undefined!
      ERROR: "cpu_topology" [drivers/cpufreq/arm_big_little.ko] undefined!
      ERROR: "cpu_topology" [drivers/block/mtip32xx/mtip32xx.ko] undefined!
      
      The obvious solution is to export this symbol.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      Cc: stable@vger.kernel.org
      Cc: Nicolas Pitre <nico@linaro.org>
      Cc: Vincent Guittot <vincent.guittot@linaro.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      92bdd3f5
    • Nicolas Pitre's avatar
      ARM: 7737/1: fix kernel decompressor compilation error with CONFIG_DEBUG_SEMIHOSTING · 27523679
      Nicolas Pitre authored
      
      
      Selecting this option produces:
      
        AS      arch/arm/boot/compressed/debug.o
      arch/arm/boot/compressed/debug.S:4:33: fatal error: mach/debug-macro.S: No such file or directory
      compilation terminated.
      make[3]: *** [arch/arm/boot/compressed/debug.o] Error 1
      
      The semihosting support cannot be modelled into a senduart macro as
      it requires memory space for argument passing.  So the
      CONFIG_DEBUG_LL_INCLUDE may not have any sensible value and the include
      directive should be omitted.
      
      While at it, let's add proper semihosting output support to the
      decompressor.
      
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      Acked-by: default avatarShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      27523679
  6. Jun 04, 2013
  7. Jun 03, 2013