1. 06 11月, 2011 1 次提交
    • K
      ARM: EXYNOS: Add ARCH_EXYNOS and reorganize arch/arm/mach-exynos · 83014579
      Kukjin Kim 提交于
      The arch/arm/mach-exynos4 directory (CONFIG_ARCH_EXYNOS4) has
      made for plaforms based on EXYNOS4 SoCs. But since upcoming
      Samsung's SoCs such as EXYNOS5 (ARM Cortex A15) can reuse most
      codes in current mach-exynos4, one mach-exynos directory will
      be used for them.
      
      This patch changes to CONFIG_ARCH_EXYNOS (arch/arm/mach-exynos)
      but keeps original CONFIG_ARCH_EXYNOS4 in mach-exynos/Kconfig to
      avoid changing in driver side.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      83014579
  2. 31 10月, 2011 3 次提交
  3. 25 10月, 2011 1 次提交
    • L
      ARM: mmp: add sram allocator · 3c7241bd
      Leo Yan 提交于
      On mmp platform, there have two sram banks:
      audio sram and internal sram. The audio sram is mainly for audio;
      the internal sram is for video, wtm and power management.
      So add the sram allocator using genalloc to manage them.
      
      Every sram bank will register its own platform device
      info, after the sram allocator create the generic pool
      for the sram bank, the user module can use the pool's
      name to get the pool handler; then it can use the handler
      to alloc/free memory with genalloc APIs.
      Signed-off-by: NLeo Yan <leoy@marvell.com>
      Acked-by: NHaojian Zhuang <haojian.zhuang@gmail.com>
      Signed-off-by: NEric Miao <eric.y.miao@gmail.com>
      3c7241bd
  4. 17 10月, 2011 2 次提交
    • S
      ARM: 7017/1: Use generic BUG() handler · 87e040b6
      Simon Glass 提交于
      ARM uses its own BUG() handler which makes its output slightly different
      from other archtectures.
      
      One of the problems is that the ARM implementation doesn't report the function
      with the BUG() in it, but always reports the PC being in __bug(). The generic
      implementation doesn't have this problem.
      
      Currently we get something like:
      
      kernel BUG at fs/proc/breakme.c:35!
      Unable to handle kernel NULL pointer dereference at virtual address 00000000
      ...
      PC is at __bug+0x20/0x2c
      
      With this patch it displays:
      
      kernel BUG at fs/proc/breakme.c:35!
      Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP
      ...
      PC is at write_breakme+0xd0/0x1b4
      
      This implementation uses an undefined instruction to implement BUG, and sets up
      a bug table containing the relevant information. Many versions of gcc do not
      support %c properly for ARM (inserting a # when they shouldn't) so we work
      around this using distasteful macro magic.
      
      v1: Initial version to replace existing ARM BUG() implementation with something
      more similar to other architectures.
      
      v2: Add Thumb support, remove backtrace whitespace output changes. Change to
      use macros instead of requiring the asm %d flag to work (thanks to
      Dave Martin <dave.martin@linaro.org>)
      
      v3: Remove old BUG() implementation in favor of this one.
      Remove the Backtrace: message (will submit this separately).
      Use ARM_EXIT_KEEP() so that some architectures can dump exit text at link time
      thanks to Stephen Boyd <sboyd@codeaurora.org> (although since we always
      define GENERIC_BUG this might be academic.)
      Rebase to linux-2.6.git master.
      
      v4: Allow BUGS in modules (these were not reported correctly in v3)
      (thanks to Stephen Boyd <sboyd@codeaurora.org> for suggesting that.)
      Remove __bug() as this is no longer needed.
      
      v5: Add %progbits as the section flags.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      Reviewed-by: NStephen Boyd <sboyd@codeaurora.org>
      Tested-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      87e040b6
    • V
      ARM: 7011/1: Add ARM cpu topology definition · c9018aab
      Vincent Guittot 提交于
      The affinity between ARM processors is defined in the MPIDR register.
      We can identify which processors are in the same cluster,
      and which ones have performance interdependency. We can define the
      cpu topology of ARM platform, that is then used by sched_mc and sched_smt.
      
      The default state of sched_mc and sched_smt config is disable.
      When enabled, the behavior of the scheduler can be modified with
      sched_mc_power_savings and sched_smt_power_savings sysfs interfaces.
      
      Changes since v4 :
      *  Remove unnecessary parentheses and blank lines
      
      Changes since v3 :
      * Update the format of printk message
      * Remove blank line
      
      Changes since v2 :
      * Update the commit message and some comments
      
      Changes since v1 :
      * Update the commit message
      * Add read_cpuid_mpidr in arch/arm/include/asm/cputype.h
      * Modify header of arch/arm/kernel/topology.c
      * Modify tests and manipulation of MPIDR's bitfields
      * Modify the place and dependancy of the config
      * Modify Noop functions
      Signed-off-by: NVincent Guittot <vincent.guittot@linaro.org>
      Reviewed-by: NAmit Kucheria <amit.kucheria@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      c9018aab
  5. 14 10月, 2011 33 次提交