Merge branch 'perf/urgent' into perf/core, to resolve conflict

Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Ingo Molnar
2016-04-23 14:12:10 +02:00
176 changed files with 1305 additions and 944 deletions
@@ -1,13 +1,16 @@
== Amlogic Meson pinmux controller == == Amlogic Meson pinmux controller ==
Required properties for the root node: Required properties for the root node:
- compatible: "amlogic,meson8-pinctrl" or "amlogic,meson8b-pinctrl" - compatible: one of "amlogic,meson8-cbus-pinctrl"
"amlogic,meson8b-cbus-pinctrl"
"amlogic,meson8-aobus-pinctrl"
"amlogic,meson8b-aobus-pinctrl"
- reg: address and size of registers controlling irq functionality - reg: address and size of registers controlling irq functionality
=== GPIO sub-nodes === === GPIO sub-nodes ===
The 2 power domains of the controller (regular and always-on) are The GPIO bank for the controller is represented as a sub-node and it acts as a
represented as sub-nodes and each of them acts as a GPIO controller. GPIO controller.
Required properties for sub-nodes are: Required properties for sub-nodes are:
- reg: should contain address and size for mux, pull-enable, pull and - reg: should contain address and size for mux, pull-enable, pull and
@@ -18,10 +21,6 @@ Required properties for sub-nodes are:
- gpio-controller: identifies the node as a gpio controller - gpio-controller: identifies the node as a gpio controller
- #gpio-cells: must be 2 - #gpio-cells: must be 2
Valid sub-node names are:
- "banks" for the regular domain
- "ao-bank" for the always-on domain
=== Other sub-nodes === === Other sub-nodes ===
Child nodes without the "gpio-controller" represent some desired Child nodes without the "gpio-controller" represent some desired
@@ -45,7 +44,7 @@ pinctrl-bindings.txt
=== Example === === Example ===
pinctrl: pinctrl@c1109880 { pinctrl: pinctrl@c1109880 {
compatible = "amlogic,meson8-pinctrl"; compatible = "amlogic,meson8-cbus-pinctrl";
reg = <0xc1109880 0x10>; reg = <0xc1109880 0x10>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
@@ -61,15 +60,6 @@ pinctrl-bindings.txt
#gpio-cells = <2>; #gpio-cells = <2>;
}; };
gpio_ao: ao-bank@c1108030 {
reg = <0xc8100014 0x4>,
<0xc810002c 0x4>,
<0xc8100024 0x8>;
reg-names = "mux", "pull", "gpio";
gpio-controller;
#gpio-cells = <2>;
};
nand { nand {
mux { mux {
groups = "nand_io", "nand_io_ce0", "nand_io_ce1", groups = "nand_io", "nand_io_ce0", "nand_io_ce1",
@@ -79,18 +69,4 @@ pinctrl-bindings.txt
function = "nand"; function = "nand";
}; };
}; };
uart_ao_a {
mux {
groups = "uart_tx_ao_a", "uart_rx_ao_a",
"uart_cts_ao_a", "uart_rts_ao_a";
function = "uart_ao";
};
conf {
pins = "GPIOAO_0", "GPIOAO_1",
"GPIOAO_2", "GPIOAO_3";
bias-disable;
};
};
}; };
+2
View File
@@ -4077,6 +4077,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
sector if the number is odd); sector if the number is odd);
i = IGNORE_DEVICE (don't bind to this i = IGNORE_DEVICE (don't bind to this
device); device);
j = NO_REPORT_LUNS (don't use report luns
command, uas only);
l = NOT_LOCKABLE (don't try to lock and l = NOT_LOCKABLE (don't try to lock and
unlock ejectable media); unlock ejectable media);
m = MAX_SECTORS_64 (don't transfer more m = MAX_SECTORS_64 (don't transfer more
+1 -1
View File
@@ -43,7 +43,7 @@ For the gadget two work under Windows two conditions have to be met:
First of all, Windows need to detect the gadget as an USB composite First of all, Windows need to detect the gadget as an USB composite
gadget which on its own have some conditions[4]. If they are met, gadget which on its own have some conditions[4]. If they are met,
Windows lets USB Generic Parent Driver[5] handle the device which then Windows lets USB Generic Parent Driver[5] handle the device which then
tries to much drivers for each individual interface (sort of, don't tries to match drivers for each individual interface (sort of, don't
get into too many details). get into too many details).
The good news is: you do not have to worry about most of the The good news is: you do not have to worry about most of the
+27
View File
@@ -0,0 +1,27 @@
Memory Protection Keys for Userspace (PKU aka PKEYs) is a CPU feature
which will be found on future Intel CPUs.
Memory Protection Keys provides a mechanism for enforcing page-based
protections, but without requiring modification of the page tables
when an application changes protection domains. It works by
dedicating 4 previously ignored bits in each page table entry to a
"protection key", giving 16 possible keys.
There is also a new user-accessible register (PKRU) with two separate
bits (Access Disable and Write Disable) for each key. Being a CPU
register, PKRU is inherently thread-local, potentially giving each
thread a different set of protections from every other thread.
There are two new instructions (RDPKRU/WRPKRU) for reading and writing
to the new register. The feature is only available in 64-bit mode,
even though there is theoretically space in the PAE PTEs. These
permissions are enforced on data access only and have no effect on
instruction fetches.
=========================== Config Option ===========================
This config option adds approximately 1.5kb of text. and 50 bytes of
data to the executable. A workload which does large O_DIRECT reads
of holes in XFS files was run to exercise get_user_pages_fast(). No
performance delta was observed with the config option
enabled or disabled.
+1 -1
View File
@@ -6252,8 +6252,8 @@ S: Maintained
F: tools/testing/selftests F: tools/testing/selftests
KERNEL VIRTUAL MACHINE (KVM) KERNEL VIRTUAL MACHINE (KVM)
M: Gleb Natapov <gleb@kernel.org>
M: Paolo Bonzini <pbonzini@redhat.com> M: Paolo Bonzini <pbonzini@redhat.com>
M: Radim Krčmář <rkrcmar@redhat.com>
L: kvm@vger.kernel.org L: kvm@vger.kernel.org
W: http://www.linux-kvm.org W: http://www.linux-kvm.org
T: git git://git.kernel.org/pub/scm/virt/kvm/kvm.git T: git git://git.kernel.org/pub/scm/virt/kvm/kvm.git
+1 -1
View File
@@ -1,7 +1,7 @@
VERSION = 4 VERSION = 4
PATCHLEVEL = 6 PATCHLEVEL = 6
SUBLEVEL = 0 SUBLEVEL = 0
EXTRAVERSION = -rc3 EXTRAVERSION = -rc4
NAME = Blurry Fish Butt NAME = Blurry Fish Butt
# *DOCUMENTATION* # *DOCUMENTATION*
-1
View File
@@ -593,7 +593,6 @@ config PCI_SYSCALL
def_bool PCI def_bool PCI
source "drivers/pci/Kconfig" source "drivers/pci/Kconfig"
source "drivers/pci/pcie/Kconfig"
endmenu endmenu
-8
View File
@@ -47,14 +47,6 @@
clocks = <&apbclk>; clocks = <&apbclk>;
clock-names = "stmmaceth"; clock-names = "stmmaceth";
max-speed = <100>; max-speed = <100>;
mdio0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "snps,dwmac-mdio";
phy1: ethernet-phy@1 {
reg = <1>;
};
};
}; };
ehci@0x40000 { ehci@0x40000 {
+1
View File
@@ -42,6 +42,7 @@ CONFIG_DEVTMPFS=y
# CONFIG_STANDALONE is not set # CONFIG_STANDALONE is not set
# CONFIG_PREVENT_FIRMWARE_BUILD is not set # CONFIG_PREVENT_FIRMWARE_BUILD is not set
# CONFIG_FIRMWARE_IN_KERNEL is not set # CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_SCSI=y CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SD=y
CONFIG_NETDEVICES=y CONFIG_NETDEVICES=y
+1
View File
@@ -43,6 +43,7 @@ CONFIG_DEVTMPFS=y
# CONFIG_STANDALONE is not set # CONFIG_STANDALONE is not set
# CONFIG_PREVENT_FIRMWARE_BUILD is not set # CONFIG_PREVENT_FIRMWARE_BUILD is not set
# CONFIG_FIRMWARE_IN_KERNEL is not set # CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_SCSI=y CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SD=y
CONFIG_NETDEVICES=y CONFIG_NETDEVICES=y
+19
View File
@@ -0,0 +1,19 @@
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
#include <linux/fb.h>
#include <linux/fs.h>
#include <asm/page.h>
static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma,
unsigned long off)
{
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
}
static inline int fb_is_primary_device(struct fb_info *info)
{
return 0;
}
#endif /* _ASM_FB_H_ */
+4 -1
View File
@@ -470,9 +470,12 @@
}; };
&cpsw_emac0 { &cpsw_emac0 {
phy_id = <&davinci_mdio>, <0>;
phy-mode = "rmii"; phy-mode = "rmii";
dual_emac_res_vlan = <1>; dual_emac_res_vlan = <1>;
fixed-link {
speed = <100>;
full-duplex;
};
}; };
&cpsw_emac1 { &cpsw_emac1 {
+1 -1
View File
@@ -207,7 +207,7 @@
ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>, ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
<&edma_tptc2 0>; <&edma_tptc2 0>;
ti,edma-memcpy-channels = <32 33>; ti,edma-memcpy-channels = <58 59>;
}; };
edma_tptc0: tptc@49800000 { edma_tptc0: tptc@49800000 {
+5
View File
@@ -794,3 +794,8 @@
tx-num-evt = <32>; tx-num-evt = <32>;
rx-num-evt = <32>; rx-num-evt = <32>;
}; };
&synctimer_32kclk {
assigned-clocks = <&mux_synctimer32k_ck>;
assigned-clock-parents = <&clkdiv32k_ick>;
};
+1 -1
View File
@@ -117,7 +117,7 @@
}; };
/* USB part of the eSATA/USB 2.0 port */ /* USB part of the eSATA/USB 2.0 port */
usb@50000 { usb@58000 {
status = "okay"; status = "okay";
}; };
+32 -25
View File
@@ -91,8 +91,8 @@
clock-frequency = <141666666>; clock-frequency = <141666666>;
}; };
pinctrl: pinctrl@c1109880 { pinctrl_cbus: pinctrl@c1109880 {
compatible = "amlogic,meson8-pinctrl"; compatible = "amlogic,meson8-cbus-pinctrl";
reg = <0xc1109880 0x10>; reg = <0xc1109880 0x10>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
@@ -108,29 +108,6 @@
#gpio-cells = <2>; #gpio-cells = <2>;
}; };
gpio_ao: ao-bank@c1108030 {
reg = <0xc8100014 0x4>,
<0xc810002c 0x4>,
<0xc8100024 0x8>;
reg-names = "mux", "pull", "gpio";
gpio-controller;
#gpio-cells = <2>;
};
uart_ao_a_pins: uart_ao_a {
mux {
groups = "uart_tx_ao_a", "uart_rx_ao_a";
function = "uart_ao";
};
};
i2c_ao_pins: i2c_mst_ao {
mux {
groups = "i2c_mst_sck_ao", "i2c_mst_sda_ao";
function = "i2c_mst_ao";
};
};
spi_nor_pins: nor { spi_nor_pins: nor {
mux { mux {
groups = "nor_d", "nor_q", "nor_c", "nor_cs"; groups = "nor_d", "nor_q", "nor_c", "nor_cs";
@@ -157,4 +134,34 @@
}; };
}; };
pinctrl_aobus: pinctrl@c8100084 {
compatible = "amlogic,meson8-aobus-pinctrl";
reg = <0xc8100084 0xc>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
gpio_ao: ao-bank@c1108030 {
reg = <0xc8100014 0x4>,
<0xc810002c 0x4>,
<0xc8100024 0x8>;
reg-names = "mux", "pull", "gpio";
gpio-controller;
#gpio-cells = <2>;
};
uart_ao_a_pins: uart_ao_a {
mux {
groups = "uart_tx_ao_a", "uart_rx_ao_a";
function = "uart_ao";
};
};
i2c_ao_pins: i2c_mst_ao {
mux {
groups = "i2c_mst_sck_ao", "i2c_mst_sda_ao";
function = "i2c_mst_ao";
};
};
};
}; /* end of / */ }; /* end of / */
+10 -2
View File
@@ -155,8 +155,8 @@
reg = <0xc1108000 0x4>, <0xc1104000 0x460>; reg = <0xc1108000 0x4>, <0xc1104000 0x460>;
}; };
pinctrl: pinctrl@c1109880 { pinctrl_cbus: pinctrl@c1109880 {
compatible = "amlogic,meson8b-pinctrl"; compatible = "amlogic,meson8b-cbus-pinctrl";
reg = <0xc1109880 0x10>; reg = <0xc1109880 0x10>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
@@ -171,6 +171,14 @@
gpio-controller; gpio-controller;
#gpio-cells = <2>; #gpio-cells = <2>;
}; };
};
pinctrl_aobus: pinctrl@c8100084 {
compatible = "amlogic,meson8b-aobus-pinctrl";
reg = <0xc8100084 0xc>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
gpio_ao: ao-bank@c1108030 { gpio_ao: ao-bank@c1108030 {
reg = <0xc8100014 0x4>, reg = <0xc8100014 0x4>,
+1 -1
View File
@@ -70,7 +70,7 @@
compatible = "arm,cortex-a9-twd-timer"; compatible = "arm,cortex-a9-twd-timer";
clocks = <&mpu_periphclk>; clocks = <&mpu_periphclk>;
reg = <0x48240600 0x20>; reg = <0x48240600 0x20>;
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>; interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_EDGE_RISING)>;
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
}; };
+3
View File
@@ -63,6 +63,9 @@ CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_BU21013=y CONFIG_TOUCHSCREEN_BU21013=y
CONFIG_INPUT_MISC=y CONFIG_INPUT_MISC=y
CONFIG_INPUT_AB8500_PONKEY=y CONFIG_INPUT_AB8500_PONKEY=y
CONFIG_RMI4_CORE=y
CONFIG_RMI4_I2C=y
CONFIG_RMI4_F11=y
# CONFIG_SERIO is not set # CONFIG_SERIO is not set
CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_VT_HW_CONSOLE_BINDING=y
# CONFIG_LEGACY_PTYS is not set # CONFIG_LEGACY_PTYS is not set
+10 -3
View File
@@ -1112,10 +1112,17 @@ static void __init hyp_cpu_pm_init(void)
{ {
cpu_pm_register_notifier(&hyp_init_cpu_pm_nb); cpu_pm_register_notifier(&hyp_init_cpu_pm_nb);
} }
static void __init hyp_cpu_pm_exit(void)
{
cpu_pm_unregister_notifier(&hyp_init_cpu_pm_nb);
}
#else #else
static inline void hyp_cpu_pm_init(void) static inline void hyp_cpu_pm_init(void)
{ {
} }
static inline void hyp_cpu_pm_exit(void)
{
}
#endif #endif
static void teardown_common_resources(void) static void teardown_common_resources(void)
@@ -1141,9 +1148,7 @@ static int init_subsystems(void)
/* /*
* Register CPU Hotplug notifier * Register CPU Hotplug notifier
*/ */
cpu_notifier_register_begin(); err = register_cpu_notifier(&hyp_init_cpu_nb);
err = __register_cpu_notifier(&hyp_init_cpu_nb);
cpu_notifier_register_done();
if (err) { if (err) {
kvm_err("Cannot register KVM init CPU notifier (%d)\n", err); kvm_err("Cannot register KVM init CPU notifier (%d)\n", err);
return err; return err;
@@ -1193,6 +1198,8 @@ static void teardown_hyp_mode(void)
free_hyp_pgds(); free_hyp_pgds();
for_each_possible_cpu(cpu) for_each_possible_cpu(cpu)
free_page(per_cpu(kvm_arm_hyp_stack_page, cpu)); free_page(per_cpu(kvm_arm_hyp_stack_page, cpu));
unregister_cpu_notifier(&hyp_init_cpu_nb);
hyp_cpu_pm_exit();
} }
static int init_vhe_mode(void) static int init_vhe_mode(void)

Some files were not shown because too many files have changed in this diff Show More