Skip to content
Snippets Groups Projects
Commit 1faca4ce authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge branch 'samsung/devel' of...

Merge branch 'samsung/devel' of git+ssh://git.linaro.org/home/arndbergmann/public_git/arm-soc into next/devel2
parents 112d17d6 6b6844dd
No related merge requests found
Showing
with 214 additions and 161 deletions
What: /sys/class/scsi_host/hostX/isci_id
Date: June 2011
Contact: Dave Jiang <dave.jiang@intel.com>
Description:
This file contains the enumerated host ID for the Intel
SCU controller. The Intel(R) C600 Series Chipset SATA/SAS
Storage Control Unit embeds up to two 4-port controllers in
a single PCI device. The controllers are enumerated in order
which usually means the lowest number scsi_host corresponds
with the first controller, but this association is not
guaranteed. The 'isci_id' attribute unambiguously identifies
the controller index: '0' for the first controller,
'1' for the second.
...@@ -380,7 +380,7 @@ will be charged as a new owner of it. ...@@ -380,7 +380,7 @@ will be charged as a new owner of it.
5.2 stat file 5.2 stat file
5.2.1 memory.stat file includes following statistics memory.stat file includes following statistics
# per-memory cgroup local status # per-memory cgroup local status
cache - # of bytes of page cache memory. cache - # of bytes of page cache memory.
...@@ -438,89 +438,6 @@ Note: ...@@ -438,89 +438,6 @@ Note:
file_mapped is accounted only when the memory cgroup is owner of page file_mapped is accounted only when the memory cgroup is owner of page
cache.) cache.)
5.2.2 memory.vmscan_stat
memory.vmscan_stat includes statistics information for memory scanning and
freeing, reclaiming. The statistics shows memory scanning information since
memory cgroup creation and can be reset to 0 by writing 0 as
#echo 0 > ../memory.vmscan_stat
This file contains following statistics.
[param]_[file_or_anon]_pages_by_[reason]_[under_heararchy]
[param]_elapsed_ns_by_[reason]_[under_hierarchy]
For example,
scanned_file_pages_by_limit indicates the number of scanned
file pages at vmscan.
Now, 3 parameters are supported
scanned - the number of pages scanned by vmscan
rotated - the number of pages activated at vmscan
freed - the number of pages freed by vmscan
If "rotated" is high against scanned/freed, the memcg seems busy.
Now, 2 reason are supported
limit - the memory cgroup's limit
system - global memory pressure + softlimit
(global memory pressure not under softlimit is not handled now)
When under_hierarchy is added in the tail, the number indicates the
total memcg scan of its children and itself.
elapsed_ns is a elapsed time in nanosecond. This may include sleep time
and not indicates CPU usage. So, please take this as just showing
latency.
Here is an example.
# cat /cgroup/memory/A/memory.vmscan_stat
scanned_pages_by_limit 9471864
scanned_anon_pages_by_limit 6640629
scanned_file_pages_by_limit 2831235
rotated_pages_by_limit 4243974
rotated_anon_pages_by_limit 3971968
rotated_file_pages_by_limit 272006
freed_pages_by_limit 2318492
freed_anon_pages_by_limit 962052
freed_file_pages_by_limit 1356440
elapsed_ns_by_limit 351386416101
scanned_pages_by_system 0
scanned_anon_pages_by_system 0
scanned_file_pages_by_system 0
rotated_pages_by_system 0
rotated_anon_pages_by_system 0
rotated_file_pages_by_system 0
freed_pages_by_system 0
freed_anon_pages_by_system 0
freed_file_pages_by_system 0
elapsed_ns_by_system 0
scanned_pages_by_limit_under_hierarchy 9471864
scanned_anon_pages_by_limit_under_hierarchy 6640629
scanned_file_pages_by_limit_under_hierarchy 2831235
rotated_pages_by_limit_under_hierarchy 4243974
rotated_anon_pages_by_limit_under_hierarchy 3971968
rotated_file_pages_by_limit_under_hierarchy 272006
freed_pages_by_limit_under_hierarchy 2318492
freed_anon_pages_by_limit_under_hierarchy 962052
freed_file_pages_by_limit_under_hierarchy 1356440
elapsed_ns_by_limit_under_hierarchy 351386416101
scanned_pages_by_system_under_hierarchy 0
scanned_anon_pages_by_system_under_hierarchy 0
scanned_file_pages_by_system_under_hierarchy 0
rotated_pages_by_system_under_hierarchy 0
rotated_anon_pages_by_system_under_hierarchy 0
rotated_file_pages_by_system_under_hierarchy 0
freed_pages_by_system_under_hierarchy 0
freed_anon_pages_by_system_under_hierarchy 0
freed_file_pages_by_system_under_hierarchy 0
elapsed_ns_by_system_under_hierarchy 0
5.3 swappiness 5.3 swappiness
Similar to /proc/sys/vm/swappiness, but affecting a hierarchy of groups only. Similar to /proc/sys/vm/swappiness, but affecting a hierarchy of groups only.
......
...@@ -35,13 +35,6 @@ the Out-Of-Spec bit. Following table summarizes the exported sysfs files: ...@@ -35,13 +35,6 @@ the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
All Sysfs entries are named with their core_id (represented here by 'X'). All Sysfs entries are named with their core_id (represented here by 'X').
tempX_input - Core temperature (in millidegrees Celsius). tempX_input - Core temperature (in millidegrees Celsius).
tempX_max - All cooling devices should be turned on (on Core2). tempX_max - All cooling devices should be turned on (on Core2).
Initialized with IA32_THERM_INTERRUPT. When the CPU
temperature reaches this temperature, an interrupt is
generated and tempX_max_alarm is set.
tempX_max_hyst - If the CPU temperature falls below than temperature,
an interrupt is generated and tempX_max_alarm is reset.
tempX_max_alarm - Set if the temperature reaches or exceeds tempX_max.
Reset if the temperature drops to or below tempX_max_hyst.
tempX_crit - Maximum junction temperature (in millidegrees Celsius). tempX_crit - Maximum junction temperature (in millidegrees Celsius).
tempX_crit_alarm - Set when Out-of-spec bit is set, never clears. tempX_crit_alarm - Set when Out-of-spec bit is set, never clears.
Correct CPU operation is no longer guaranteed. Correct CPU operation is no longer guaranteed.
...@@ -49,9 +42,10 @@ tempX_label - Contains string "Core X", where X is processor ...@@ -49,9 +42,10 @@ tempX_label - Contains string "Core X", where X is processor
number. For Package temp, this will be "Physical id Y", number. For Package temp, this will be "Physical id Y",
where Y is the package number. where Y is the package number.
The TjMax temperature is set to 85 degrees C if undocumented model specific On CPU models which support it, TjMax is read from a model-specific register.
register (UMSR) 0xee has bit 30 set. If not the TjMax is 100 degrees C as On other models, it is set to an arbitrary value based on weak heuristics.
(sometimes) documented in processor datasheet. If these heuristics don't work for you, you can pass the correct TjMax value
as a module parameter (tjmax).
Appendix A. Known TjMax lists (TBD): Appendix A. Known TjMax lists (TBD):
Some information comes from ark.intel.com Some information comes from ark.intel.com
......
...@@ -2086,9 +2086,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted. ...@@ -2086,9 +2086,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
Override pmtimer IOPort with a hex value. Override pmtimer IOPort with a hex value.
e.g. pmtmr=0x508 e.g. pmtmr=0x508
pnp.debug [PNP] pnp.debug=1 [PNP]
Enable PNP debug messages. This depends on the Enable PNP debug messages (depends on the
CONFIG_PNP_DEBUG_MESSAGES option. CONFIG_PNP_DEBUG_MESSAGES option). Change at run-time
via /sys/module/pnp/parameters/debug. We always show
current resource usage; turning this on also shows
possible settings and some assignment information.
pnpacpi= [ACPI] pnpacpi= [ACPI]
{ off } { off }
......
Note: This driver doesn't have a maintainer.
Davicom DM9102(A)/DM9132/DM9801 fast ethernet driver for Linux. Davicom DM9102(A)/DM9132/DM9801 fast ethernet driver for Linux.
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
...@@ -55,7 +57,6 @@ Test and make sure PCI latency is now correct for all cases. ...@@ -55,7 +57,6 @@ Test and make sure PCI latency is now correct for all cases.
Authors: Authors:
Sten Wang <sten_wang@davicom.com.tw > : Original Author Sten Wang <sten_wang@davicom.com.tw > : Original Author
Tobias Ringstrom <tori@unhappy.mine.nu> : Current Maintainer
Contributors: Contributors:
......
...@@ -123,10 +123,11 @@ be automatically shutdown if it's set to "never". ...@@ -123,10 +123,11 @@ be automatically shutdown if it's set to "never".
khugepaged runs usually at low frequency so while one may not want to khugepaged runs usually at low frequency so while one may not want to
invoke defrag algorithms synchronously during the page faults, it invoke defrag algorithms synchronously during the page faults, it
should be worth invoking defrag at least in khugepaged. However it's should be worth invoking defrag at least in khugepaged. However it's
also possible to disable defrag in khugepaged: also possible to disable defrag in khugepaged by writing 0 or enable
defrag in khugepaged by writing 1:
echo yes >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag echo 0 >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag
echo no >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag echo 1 >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag
You can also control how many pages khugepaged should scan at each You can also control how many pages khugepaged should scan at each
pass: pass:
......
...@@ -1278,7 +1278,6 @@ F: drivers/input/misc/ati_remote2.c ...@@ -1278,7 +1278,6 @@ F: drivers/input/misc/ati_remote2.c
ATLX ETHERNET DRIVERS ATLX ETHERNET DRIVERS
M: Jay Cliburn <jcliburn@gmail.com> M: Jay Cliburn <jcliburn@gmail.com>
M: Chris Snook <chris.snook@gmail.com> M: Chris Snook <chris.snook@gmail.com>
M: Jie Yang <jie.yang@atheros.com>
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
W: http://sourceforge.net/projects/atl1 W: http://sourceforge.net/projects/atl1
W: http://atl1.sourceforge.net W: http://atl1.sourceforge.net
...@@ -1574,7 +1573,6 @@ F: drivers/scsi/bfa/ ...@@ -1574,7 +1573,6 @@ F: drivers/scsi/bfa/
BROCADE BNA 10 GIGABIT ETHERNET DRIVER BROCADE BNA 10 GIGABIT ETHERNET DRIVER
M: Rasesh Mody <rmody@brocade.com> M: Rasesh Mody <rmody@brocade.com>
M: Debashis Dutt <ddutt@brocade.com>
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
S: Supported S: Supported
F: drivers/net/bna/ F: drivers/net/bna/
...@@ -1758,7 +1756,6 @@ F: Documentation/zh_CN/ ...@@ -1758,7 +1756,6 @@ F: Documentation/zh_CN/
CISCO VIC ETHERNET NIC DRIVER CISCO VIC ETHERNET NIC DRIVER
M: Christian Benvenuti <benve@cisco.com> M: Christian Benvenuti <benve@cisco.com>
M: Vasanthy Kolluri <vkolluri@cisco.com>
M: Roopa Prabhu <roprabhu@cisco.com> M: Roopa Prabhu <roprabhu@cisco.com>
M: David Wang <dwang2@cisco.com> M: David Wang <dwang2@cisco.com>
S: Supported S: Supported
...@@ -3262,6 +3259,17 @@ F: Documentation/input/multi-touch-protocol.txt ...@@ -3262,6 +3259,17 @@ F: Documentation/input/multi-touch-protocol.txt
F: drivers/input/input-mt.c F: drivers/input/input-mt.c
K: \b(ABS|SYN)_MT_ K: \b(ABS|SYN)_MT_
INTEL C600 SERIES SAS CONTROLLER DRIVER
M: Intel SCU Linux support <intel-linux-scu@intel.com>
M: Dan Williams <dan.j.williams@intel.com>
M: Dave Jiang <dave.jiang@intel.com>
M: Ed Nadolski <edmund.nadolski@intel.com>
L: linux-scsi@vger.kernel.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/djbw/isci.git
S: Maintained
F: drivers/scsi/isci/
F: firmware/isci/
INTEL IDLE DRIVER INTEL IDLE DRIVER
M: Len Brown <lenb@kernel.org> M: Len Brown <lenb@kernel.org>
L: linux-pm@lists.linux-foundation.org L: linux-pm@lists.linux-foundation.org
...@@ -4404,7 +4412,8 @@ L: netfilter@vger.kernel.org ...@@ -4404,7 +4412,8 @@ L: netfilter@vger.kernel.org
L: coreteam@netfilter.org L: coreteam@netfilter.org
W: http://www.netfilter.org/ W: http://www.netfilter.org/
W: http://www.iptables.org/ W: http://www.iptables.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-2.6.git
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-next-2.6.git
S: Supported S: Supported
F: include/linux/netfilter* F: include/linux/netfilter*
F: include/linux/netfilter/ F: include/linux/netfilter/
...@@ -4774,7 +4783,7 @@ F: drivers/net/wireless/orinoco/ ...@@ -4774,7 +4783,7 @@ F: drivers/net/wireless/orinoco/
OSD LIBRARY and FILESYSTEM OSD LIBRARY and FILESYSTEM
M: Boaz Harrosh <bharrosh@panasas.com> M: Boaz Harrosh <bharrosh@panasas.com>
M: Benny Halevy <bhalevy@panasas.com> M: Benny Halevy <bhalevy@tonian.com>
L: osd-dev@open-osd.org L: osd-dev@open-osd.org
W: http://open-osd.org W: http://open-osd.org
T: git git://git.open-osd.org/open-osd.git T: git git://git.open-osd.org/open-osd.git
...@@ -7200,6 +7209,9 @@ W: http://opensource.wolfsonmicro.com/content/linux-drivers-wolfson-devices ...@@ -7200,6 +7209,9 @@ W: http://opensource.wolfsonmicro.com/content/linux-drivers-wolfson-devices
S: Supported S: Supported
F: Documentation/hwmon/wm83?? F: Documentation/hwmon/wm83??
F: drivers/leds/leds-wm83*.c F: drivers/leds/leds-wm83*.c
F: drivers/input/misc/wm831x-on.c
F: drivers/input/touchscreen/wm831x-ts.c
F: drivers/input/touchscreen/wm97*.c
F: drivers/mfd/wm8*.c F: drivers/mfd/wm8*.c
F: drivers/power/wm83*.c F: drivers/power/wm83*.c
F: drivers/rtc/rtc-wm83*.c F: drivers/rtc/rtc-wm83*.c
...@@ -7209,6 +7221,7 @@ F: drivers/watchdog/wm83*_wdt.c ...@@ -7209,6 +7221,7 @@ F: drivers/watchdog/wm83*_wdt.c
F: include/linux/mfd/wm831x/ F: include/linux/mfd/wm831x/
F: include/linux/mfd/wm8350/ F: include/linux/mfd/wm8350/
F: include/linux/mfd/wm8400* F: include/linux/mfd/wm8400*
F: include/linux/wm97xx.h
F: include/sound/wm????.h F: include/sound/wm????.h
F: sound/soc/codecs/wm* F: sound/soc/codecs/wm*
......
VERSION = 3 VERSION = 3
PATCHLEVEL = 1 PATCHLEVEL = 1
SUBLEVEL = 0 SUBLEVEL = 0
EXTRAVERSION = -rc6 EXTRAVERSION = -rc8
NAME = "Divemaster Edition" NAME = "Divemaster Edition"
# *DOCUMENTATION* # *DOCUMENTATION*
......
...@@ -51,7 +51,7 @@ config GENERIC_CMOS_UPDATE ...@@ -51,7 +51,7 @@ config GENERIC_CMOS_UPDATE
def_bool y def_bool y
config GENERIC_GPIO config GENERIC_GPIO
def_bool y bool
config ZONE_DMA config ZONE_DMA
bool bool
......
...@@ -725,9 +725,6 @@ config ARCH_S3C64XX ...@@ -725,9 +725,6 @@ config ARCH_S3C64XX
select SAMSUNG_IRQ_VIC_TIMER select SAMSUNG_IRQ_VIC_TIMER
select SAMSUNG_IRQ_UART select SAMSUNG_IRQ_UART
select S3C_GPIO_TRACK select S3C_GPIO_TRACK
select S3C_GPIO_PULL_UPDOWN
select S3C_GPIO_CFG_S3C24XX
select S3C_GPIO_CFG_S3C64XX
select S3C_DEV_NAND select S3C_DEV_NAND
select USB_ARCH_HAS_OHCI select USB_ARCH_HAS_OHCI
select SAMSUNG_GPIOLIB_4BIT select SAMSUNG_GPIOLIB_4BIT
...@@ -1284,6 +1281,20 @@ config ARM_ERRATA_364296 ...@@ -1284,6 +1281,20 @@ config ARM_ERRATA_364296
processor into full low interrupt latency mode. ARM11MPCore processor into full low interrupt latency mode. ARM11MPCore
is not affected. is not affected.
config ARM_ERRATA_764369
bool "ARM errata: Data cache line maintenance operation by MVA may not succeed"
depends on CPU_V7 && SMP
help
This option enables the workaround for erratum 764369
affecting Cortex-A9 MPCore with two or more processors (all
current revisions). Under certain timing circumstances, a data
cache line maintenance operation by MVA targeting an Inner
Shareable memory region may fail to proceed up to either the
Point of Coherency or to the Point of Unification of the
system. This workaround adds a DSB instruction before the
relevant cache maintenance functions and sets a specific bit
in the diagnostic control register of the SCU.
endmenu endmenu
source "arch/arm/common/Kconfig" source "arch/arm/common/Kconfig"
...@@ -2083,7 +2094,7 @@ menu "Power management options" ...@@ -2083,7 +2094,7 @@ menu "Power management options"
source "kernel/power/Kconfig" source "kernel/power/Kconfig"
config ARCH_SUSPEND_POSSIBLE config ARCH_SUSPEND_POSSIBLE
depends on !ARCH_S5P64X0 && !ARCH_S5PC100 depends on !ARCH_S5PC100
depends on CPU_ARM920T || CPU_ARM926T || CPU_SA1100 || \ depends on CPU_ARM920T || CPU_ARM926T || CPU_SA1100 || \
CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE
def_bool y def_bool y
......
...@@ -57,14 +57,14 @@ ...@@ -57,14 +57,14 @@
}; };
sdhci@c8000200 { sdhci@c8000200 {
gpios = <&gpio 69 0>, /* cd, gpio PI5 */ cd-gpios = <&gpio 69 0>; /* gpio PI5 */
<&gpio 57 0>, /* wp, gpio PH1 */ wp-gpios = <&gpio 57 0>; /* gpio PH1 */
<&gpio 155 0>; /* power, gpio PT3 */ power-gpios = <&gpio 155 0>; /* gpio PT3 */
}; };
sdhci@c8000600 { sdhci@c8000600 {
gpios = <&gpio 58 0>, /* cd, gpio PH2 */ cd-gpios = <&gpio 58 0>; /* gpio PH2 */
<&gpio 59 0>, /* wp, gpio PH3 */ wp-gpios = <&gpio 59 0>; /* gpio PH3 */
<&gpio 70 0>; /* power, gpio PI6 */ power-gpios = <&gpio 70 0>; /* gpio PI6 */
}; };
}; };
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
}; };
sdhci@c8000400 { sdhci@c8000400 {
gpios = <&gpio 69 0>, /* cd, gpio PI5 */ cd-gpios = <&gpio 69 0>; /* gpio PI5 */
<&gpio 57 0>, /* wp, gpio PH1 */ wp-gpios = <&gpio 57 0>; /* gpio PH1 */
<&gpio 70 0>; /* power, gpio PI6 */ power-gpios = <&gpio 70 0>; /* gpio PI6 */
}; };
}; };
...@@ -11,6 +11,7 @@ CONFIG_MACH_SMDKV310=y ...@@ -11,6 +11,7 @@ CONFIG_MACH_SMDKV310=y
CONFIG_MACH_ARMLEX4210=y CONFIG_MACH_ARMLEX4210=y
CONFIG_MACH_UNIVERSAL_C210=y CONFIG_MACH_UNIVERSAL_C210=y
CONFIG_MACH_NURI=y CONFIG_MACH_NURI=y
CONFIG_MACH_ORIGEN=y
CONFIG_NO_HZ=y CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y CONFIG_HIGH_RES_TIMERS=y
CONFIG_SMP=y CONFIG_SMP=y
......
...@@ -25,17 +25,17 @@ ...@@ -25,17 +25,17 @@
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \
smp_mb(); \ smp_mb(); \
__asm__ __volatile__( \ __asm__ __volatile__( \
"1: ldrex %1, [%2]\n" \ "1: ldrex %1, [%3]\n" \
" " insn "\n" \ " " insn "\n" \
"2: strex %1, %0, [%2]\n" \ "2: strex %2, %0, [%3]\n" \
" teq %1, #0\n" \ " teq %2, #0\n" \
" bne 1b\n" \ " bne 1b\n" \
" mov %0, #0\n" \ " mov %0, #0\n" \
__futex_atomic_ex_table("%4") \ __futex_atomic_ex_table("%5") \
: "=&r" (ret), "=&r" (oldval) \ : "=&r" (ret), "=&r" (oldval), "=&r" (tmp) \
: "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \ : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \
: "cc", "memory") : "cc", "memory")
...@@ -73,14 +73,14 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, ...@@ -73,14 +73,14 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
#include <linux/preempt.h> #include <linux/preempt.h>
#include <asm/domain.h> #include <asm/domain.h>
#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \
__asm__ __volatile__( \ __asm__ __volatile__( \
"1: " T(ldr) " %1, [%2]\n" \ "1: " T(ldr) " %1, [%3]\n" \
" " insn "\n" \ " " insn "\n" \
"2: " T(str) " %0, [%2]\n" \ "2: " T(str) " %0, [%3]\n" \
" mov %0, #0\n" \ " mov %0, #0\n" \
__futex_atomic_ex_table("%4") \ __futex_atomic_ex_table("%5") \
: "=&r" (ret), "=&r" (oldval) \ : "=&r" (ret), "=&r" (oldval), "=&r" (tmp) \
: "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \ : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \
: "cc", "memory") : "cc", "memory")
...@@ -117,7 +117,7 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) ...@@ -117,7 +117,7 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr)
int cmp = (encoded_op >> 24) & 15; int cmp = (encoded_op >> 24) & 15;
int oparg = (encoded_op << 8) >> 20; int oparg = (encoded_op << 8) >> 20;
int cmparg = (encoded_op << 20) >> 20; int cmparg = (encoded_op << 20) >> 20;
int oldval = 0, ret; int oldval = 0, ret, tmp;
if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28)) if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28))
oparg = 1 << oparg; oparg = 1 << oparg;
...@@ -129,19 +129,19 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) ...@@ -129,19 +129,19 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr)
switch (op) { switch (op) {
case FUTEX_OP_SET: case FUTEX_OP_SET:
__futex_atomic_op("mov %0, %3", ret, oldval, uaddr, oparg); __futex_atomic_op("mov %0, %4", ret, oldval, tmp, uaddr, oparg);
break; break;
case FUTEX_OP_ADD: case FUTEX_OP_ADD:
__futex_atomic_op("add %0, %1, %3", ret, oldval, uaddr, oparg); __futex_atomic_op("add %0, %1, %4", ret, oldval, tmp, uaddr, oparg);
break; break;
case FUTEX_OP_OR: case FUTEX_OP_OR:
__futex_atomic_op("orr %0, %1, %3", ret, oldval, uaddr, oparg); __futex_atomic_op("orr %0, %1, %4", ret, oldval, tmp, uaddr, oparg);
break; break;
case FUTEX_OP_ANDN: case FUTEX_OP_ANDN:
__futex_atomic_op("and %0, %1, %3", ret, oldval, uaddr, ~oparg); __futex_atomic_op("and %0, %1, %4", ret, oldval, tmp, uaddr, ~oparg);
break; break;
case FUTEX_OP_XOR: case FUTEX_OP_XOR:
__futex_atomic_op("eor %0, %1, %3", ret, oldval, uaddr, oparg); __futex_atomic_op("eor %0, %1, %4", ret, oldval, tmp, uaddr, oparg);
break; break;
default: default:
ret = -ENOSYS; ret = -ENOSYS;
......
...@@ -21,6 +21,9 @@ ...@@ -21,6 +21,9 @@
* OneNAND features. * OneNAND features.
*/ */
#ifndef ASM_PL080_H
#define ASM_PL080_H
#define PL080_INT_STATUS (0x00) #define PL080_INT_STATUS (0x00)
#define PL080_TC_STATUS (0x04) #define PL080_TC_STATUS (0x04)
#define PL080_TC_CLEAR (0x08) #define PL080_TC_CLEAR (0x08)
...@@ -138,3 +141,4 @@ struct pl080s_lli { ...@@ -138,3 +141,4 @@ struct pl080s_lli {
u32 control1; u32 control1;
}; };
#endif /* ASM_PL080_H */
...@@ -478,8 +478,8 @@ ...@@ -478,8 +478,8 @@
/* /*
* Unimplemented (or alternatively implemented) syscalls * Unimplemented (or alternatively implemented) syscalls
*/ */
#define __IGNORE_fadvise64_64 1 #define __IGNORE_fadvise64_64
#define __IGNORE_migrate_pages 1 #define __IGNORE_migrate_pages
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#endif /* __ASM_ARM_UNISTD_H */ #endif /* __ASM_ARM_UNISTD_H */
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <asm/smp_scu.h> #include <asm/smp_scu.h>
#include <asm/cacheflush.h> #include <asm/cacheflush.h>
#include <asm/cputype.h>
#define SCU_CTRL 0x00 #define SCU_CTRL 0x00
#define SCU_CONFIG 0x04 #define SCU_CONFIG 0x04
...@@ -37,6 +38,15 @@ void __init scu_enable(void __iomem *scu_base) ...@@ -37,6 +38,15 @@ void __init scu_enable(void __iomem *scu_base)
{ {
u32 scu_ctrl; u32 scu_ctrl;
#ifdef CONFIG_ARM_ERRATA_764369
/* Cortex-A9 only */
if ((read_cpuid(CPUID_ID) & 0xff0ffff0) == 0x410fc090) {
scu_ctrl = __raw_readl(scu_base + 0x30);
if (!(scu_ctrl & 1))
__raw_writel(scu_ctrl | 0x1, scu_base + 0x30);
}
#endif
scu_ctrl = __raw_readl(scu_base + SCU_CTRL); scu_ctrl = __raw_readl(scu_base + SCU_CTRL);
/* already enabled? */ /* already enabled? */
if (scu_ctrl & 1) if (scu_ctrl & 1)
......
...@@ -23,8 +23,10 @@ ...@@ -23,8 +23,10 @@
#if defined(CONFIG_SMP_ON_UP) && !defined(CONFIG_DEBUG_SPINLOCK) #if defined(CONFIG_SMP_ON_UP) && !defined(CONFIG_DEBUG_SPINLOCK)
#define ARM_EXIT_KEEP(x) x #define ARM_EXIT_KEEP(x) x
#define ARM_EXIT_DISCARD(x)
#else #else
#define ARM_EXIT_KEEP(x) #define ARM_EXIT_KEEP(x)
#define ARM_EXIT_DISCARD(x) x
#endif #endif
OUTPUT_ARCH(arm) OUTPUT_ARCH(arm)
...@@ -39,6 +41,11 @@ jiffies = jiffies_64 + 4; ...@@ -39,6 +41,11 @@ jiffies = jiffies_64 + 4;
SECTIONS SECTIONS
{ {
/* /*
* XXX: The linker does not define how output sections are
* assigned to input sections when there are multiple statements
* matching the same input section name. There is no documented
* order of matching.
*
* unwind exit sections must be discarded before the rest of the * unwind exit sections must be discarded before the rest of the
* unwind sections get included. * unwind sections get included.
*/ */
...@@ -47,6 +54,9 @@ SECTIONS ...@@ -47,6 +54,9 @@ SECTIONS
*(.ARM.extab.exit.text) *(.ARM.extab.exit.text)
ARM_CPU_DISCARD(*(.ARM.exidx.cpuexit.text)) ARM_CPU_DISCARD(*(.ARM.exidx.cpuexit.text))
ARM_CPU_DISCARD(*(.ARM.extab.cpuexit.text)) ARM_CPU_DISCARD(*(.ARM.extab.cpuexit.text))
ARM_EXIT_DISCARD(EXIT_TEXT)
ARM_EXIT_DISCARD(EXIT_DATA)
EXIT_CALL
#ifndef CONFIG_HOTPLUG #ifndef CONFIG_HOTPLUG
*(.ARM.exidx.devexit.text) *(.ARM.exidx.devexit.text)
*(.ARM.extab.devexit.text) *(.ARM.extab.devexit.text)
...@@ -58,6 +68,8 @@ SECTIONS ...@@ -58,6 +68,8 @@ SECTIONS
#ifndef CONFIG_SMP_ON_UP #ifndef CONFIG_SMP_ON_UP
*(.alt.smp.init) *(.alt.smp.init)
#endif #endif
*(.discard)
*(.discard.*)
} }
#ifdef CONFIG_XIP_KERNEL #ifdef CONFIG_XIP_KERNEL
...@@ -279,9 +291,6 @@ SECTIONS ...@@ -279,9 +291,6 @@ SECTIONS
STABS_DEBUG STABS_DEBUG
.comment 0 : { *(.comment) } .comment 0 : { *(.comment) }
/* Default discards */
DISCARDS
} }
/* /*
......
...@@ -158,7 +158,7 @@ void __init dove_spi0_init(void) ...@@ -158,7 +158,7 @@ void __init dove_spi0_init(void)
void __init dove_spi1_init(void) void __init dove_spi1_init(void)
{ {
orion_spi_init(DOVE_SPI1_PHYS_BASE, get_tclk()); orion_spi_1_init(DOVE_SPI1_PHYS_BASE, get_tclk());
} }
/***************************************************************************** /*****************************************************************************
......
...@@ -11,10 +11,24 @@ if ARCH_EXYNOS4 ...@@ -11,10 +11,24 @@ if ARCH_EXYNOS4
config CPU_EXYNOS4210 config CPU_EXYNOS4210
bool bool
select S3C_PL330_DMA select SAMSUNG_DMADEV
select S5P_PM if PM
select S5P_SLEEP if PM
help help
Enable EXYNOS4210 CPU support Enable EXYNOS4210 CPU support
config SOC_EXYNOS4212
bool
select S5P_PM if PM
select S5P_SLEEP if PM
help
Enable EXYNOS4212 SoC support
config SOC_EXYNOS4412
bool
help
Enable EXYNOS4412 SoC support
config EXYNOS4_MCT config EXYNOS4_MCT
bool bool
default y default y
...@@ -111,24 +125,11 @@ config EXYNOS4_SETUP_USB_PHY ...@@ -111,24 +125,11 @@ config EXYNOS4_SETUP_USB_PHY
menu "EXYNOS4 Machines" menu "EXYNOS4 Machines"
comment "EXYNOS4210 Boards"
config MACH_SMDKC210 config MACH_SMDKC210
bool "SMDKC210" bool "SMDKC210"
select CPU_EXYNOS4210 select MACH_SMDKV310
select S5P_DEV_FIMD0
select S3C_DEV_RTC
select S3C_DEV_WDT
select S3C_DEV_I2C1
select S3C_DEV_HSMMC
select S3C_DEV_HSMMC1
select S3C_DEV_HSMMC2
select S3C_DEV_HSMMC3
select SAMSUNG_DEV_PWM
select SAMSUNG_DEV_BACKLIGHT
select EXYNOS4_DEV_PD
select EXYNOS4_DEV_SYSMMU
select EXYNOS4_SETUP_FIMD0
select EXYNOS4_SETUP_I2C1
select EXYNOS4_SETUP_SDHCI
help help
Machine support for Samsung SMDKC210 Machine support for Samsung SMDKC210
...@@ -139,6 +140,14 @@ config MACH_SMDKV310 ...@@ -139,6 +140,14 @@ config MACH_SMDKV310
select S3C_DEV_RTC select S3C_DEV_RTC
select S3C_DEV_WDT select S3C_DEV_WDT
select S3C_DEV_I2C1 select S3C_DEV_I2C1
select S5P_DEV_FIMC0
select S5P_DEV_FIMC1
select S5P_DEV_FIMC2
select S5P_DEV_FIMC3
select S5P_DEV_I2C_HDMIPHY
select S5P_DEV_MFC
select S5P_DEV_TV
select S5P_DEV_USB_EHCI
select S3C_DEV_HSMMC select S3C_DEV_HSMMC
select S3C_DEV_HSMMC1 select S3C_DEV_HSMMC1
select S3C_DEV_HSMMC2 select S3C_DEV_HSMMC2
...@@ -153,6 +162,7 @@ config MACH_SMDKV310 ...@@ -153,6 +162,7 @@ config MACH_SMDKV310
select EXYNOS4_SETUP_I2C1 select EXYNOS4_SETUP_I2C1
select EXYNOS4_SETUP_KEYPAD select EXYNOS4_SETUP_KEYPAD
select EXYNOS4_SETUP_SDHCI select EXYNOS4_SETUP_SDHCI
select EXYNOS4_SETUP_USB_PHY
help help
Machine support for Samsung SMDKV310 Machine support for Samsung SMDKV310
...@@ -178,19 +188,26 @@ config MACH_UNIVERSAL_C210 ...@@ -178,19 +188,26 @@ config MACH_UNIVERSAL_C210
select S5P_DEV_FIMC1 select S5P_DEV_FIMC1
select S5P_DEV_FIMC2 select S5P_DEV_FIMC2
select S5P_DEV_FIMC3 select S5P_DEV_FIMC3
select S5P_DEV_CSIS0
select S5P_DEV_FIMD0
select S3C_DEV_HSMMC select S3C_DEV_HSMMC
select S3C_DEV_HSMMC2 select S3C_DEV_HSMMC2
select S3C_DEV_HSMMC3 select S3C_DEV_HSMMC3
select S3C_DEV_I2C1 select S3C_DEV_I2C1
select S3C_DEV_I2C3 select S3C_DEV_I2C3
select S3C_DEV_I2C5 select S3C_DEV_I2C5
select S5P_DEV_I2C_HDMIPHY
select S5P_DEV_MFC select S5P_DEV_MFC
select S5P_DEV_ONENAND select S5P_DEV_ONENAND
select S5P_DEV_TV
select EXYNOS4_DEV_PD select EXYNOS4_DEV_PD
select EXYNOS4_SETUP_FIMD0
select EXYNOS4_SETUP_I2C1 select EXYNOS4_SETUP_I2C1
select EXYNOS4_SETUP_I2C3 select EXYNOS4_SETUP_I2C3
select EXYNOS4_SETUP_I2C5 select EXYNOS4_SETUP_I2C5
select EXYNOS4_SETUP_SDHCI select EXYNOS4_SETUP_SDHCI
select EXYNOS4_SETUP_FIMC
select S5P_SETUP_MIPIPHY
help help
Machine support for Samsung Mobile Universal S5PC210 Reference Machine support for Samsung Mobile Universal S5PC210 Reference
Board. Board.
...@@ -199,6 +216,8 @@ config MACH_NURI ...@@ -199,6 +216,8 @@ config MACH_NURI
bool "Mobile NURI Board" bool "Mobile NURI Board"
select CPU_EXYNOS4210 select CPU_EXYNOS4210
select S3C_DEV_WDT select S3C_DEV_WDT
select S3C_DEV_RTC
select S5P_DEV_FIMD0
select S3C_DEV_HSMMC select S3C_DEV_HSMMC
select S3C_DEV_HSMMC2 select S3C_DEV_HSMMC2
select S3C_DEV_HSMMC3 select S3C_DEV_HSMMC3
...@@ -208,6 +227,7 @@ config MACH_NURI ...@@ -208,6 +227,7 @@ config MACH_NURI
select S5P_DEV_MFC select S5P_DEV_MFC
select S5P_DEV_USB_EHCI select S5P_DEV_USB_EHCI
select EXYNOS4_DEV_PD select EXYNOS4_DEV_PD
select EXYNOS4_SETUP_FIMD0
select EXYNOS4_SETUP_I2C1 select EXYNOS4_SETUP_I2C1
select EXYNOS4_SETUP_I2C3 select EXYNOS4_SETUP_I2C3
select EXYNOS4_SETUP_I2C5 select EXYNOS4_SETUP_I2C5
...@@ -218,6 +238,62 @@ config MACH_NURI ...@@ -218,6 +238,62 @@ config MACH_NURI
help help
Machine support for Samsung Mobile NURI Board. Machine support for Samsung Mobile NURI Board.
config MACH_ORIGEN
bool "ORIGEN"
select CPU_EXYNOS4210
select S3C_DEV_RTC
select S3C_DEV_WDT
select S3C_DEV_HSMMC
select S3C_DEV_HSMMC2
select S5P_DEV_FIMC0
select S5P_DEV_FIMC1
select S5P_DEV_FIMC2
select S5P_DEV_FIMC3
select S5P_DEV_FIMD0
select S5P_DEV_I2C_HDMIPHY
select S5P_DEV_TV
select S5P_DEV_USB_EHCI
select EXYNOS4_DEV_PD
select SAMSUNG_DEV_BACKLIGHT
select SAMSUNG_DEV_PWM
select EXYNOS4_SETUP_FIMD0
select EXYNOS4_SETUP_SDHCI
select EXYNOS4_SETUP_USB_PHY
help
Machine support for ORIGEN based on Samsung EXYNOS4210
comment "EXYNOS4212 Boards"
config MACH_SMDK4212
bool "SMDK4212"
select SOC_EXYNOS4212
select S3C_DEV_HSMMC2
select S3C_DEV_HSMMC3
select S3C_DEV_I2C1
select S3C_DEV_I2C3
select S3C_DEV_I2C7
select S3C_DEV_RTC
select S3C_DEV_WDT
select SAMSUNG_DEV_BACKLIGHT
select SAMSUNG_DEV_KEYPAD
select SAMSUNG_DEV_PWM
select EXYNOS4_SETUP_I2C1
select EXYNOS4_SETUP_I2C3
select EXYNOS4_SETUP_I2C7
select EXYNOS4_SETUP_KEYPAD
select EXYNOS4_SETUP_SDHCI
help
Machine support for Samsung SMDK4212
comment "EXYNOS4412 Boards"
config MACH_SMDK4412
bool "SMDK4412"
select SOC_EXYNOS4412
select MACH_SMDK4212
help
Machine support for Samsung SMDK4412
endmenu endmenu
comment "Configuration for HSMMC bus width" comment "Configuration for HSMMC bus width"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment