]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 May 2015 17:14:53 +0000 (10:14 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 May 2015 17:14:53 +0000 (10:14 -0700)
added patches:
arm-dts-imx23-olinuxino-fix-dr_mode-of-usb0.patch
arm-dts-imx23-olinuxino-fix-polarity-of-led-gpio.patch
arm-dts-imx25-add-pwm-cells-to-pwm4.patch
arm-dts-imx28-fix-auart4-tx-dma-interrupt-name.patch
arm-dts-imx6-phyflex-usb-vbus-control-is-active-high.patch
arm-dts-omap3-n900-add-microphone-bias-voltages.patch
arm-mvebu-armada-xp-openblocks-ax3-4-disable-internal-rtc.patch
arm-net-fix-emit_udiv-for-bpf_alu-bpf_div-bpf_k-intruction.patch
arm-omap2-fix-omap-off-idle-power-consumption-creeping-up.patch
arm-ux500-enable-gpio-regulator-for-sd-card-for-href-boards.patch
arm-ux500-enable-gpio-regulator-for-sd-card-for-snowball.patch
arm-ux500-move-gpio-regulator-for-sd-card-into-board-dtss.patch
drm-zero-out-invalid-vblank-timestamp-in-drm_update_vblank_count.patch

14 files changed:
queue-4.0/arm-dts-imx23-olinuxino-fix-dr_mode-of-usb0.patch [new file with mode: 0644]
queue-4.0/arm-dts-imx23-olinuxino-fix-polarity-of-led-gpio.patch [new file with mode: 0644]
queue-4.0/arm-dts-imx25-add-pwm-cells-to-pwm4.patch [new file with mode: 0644]
queue-4.0/arm-dts-imx28-fix-auart4-tx-dma-interrupt-name.patch [new file with mode: 0644]
queue-4.0/arm-dts-imx6-phyflex-usb-vbus-control-is-active-high.patch [new file with mode: 0644]
queue-4.0/arm-dts-omap3-n900-add-microphone-bias-voltages.patch [new file with mode: 0644]
queue-4.0/arm-mvebu-armada-xp-openblocks-ax3-4-disable-internal-rtc.patch [new file with mode: 0644]
queue-4.0/arm-net-fix-emit_udiv-for-bpf_alu-bpf_div-bpf_k-intruction.patch [new file with mode: 0644]
queue-4.0/arm-omap2-fix-omap-off-idle-power-consumption-creeping-up.patch [new file with mode: 0644]
queue-4.0/arm-ux500-enable-gpio-regulator-for-sd-card-for-href-boards.patch [new file with mode: 0644]
queue-4.0/arm-ux500-enable-gpio-regulator-for-sd-card-for-snowball.patch [new file with mode: 0644]
queue-4.0/arm-ux500-move-gpio-regulator-for-sd-card-into-board-dtss.patch [new file with mode: 0644]
queue-4.0/drm-zero-out-invalid-vblank-timestamp-in-drm_update_vblank_count.patch [new file with mode: 0644]
queue-4.0/series

diff --git a/queue-4.0/arm-dts-imx23-olinuxino-fix-dr_mode-of-usb0.patch b/queue-4.0/arm-dts-imx23-olinuxino-fix-dr_mode-of-usb0.patch
new file mode 100644 (file)
index 0000000..b89088a
--- /dev/null
@@ -0,0 +1,47 @@
+From 0fdebe1a2f4d3a8fc03754022fabf8ba95e131a3 Mon Sep 17 00:00:00 2001
+From: Stefan Wahren <stefan.wahren@i2se.com>
+Date: Tue, 14 Apr 2015 20:37:26 +0000
+Subject: ARM: dts: imx23-olinuxino: Fix dr_mode of usb0
+
+From: Stefan Wahren <stefan.wahren@i2se.com>
+
+commit 0fdebe1a2f4d3a8fc03754022fabf8ba95e131a3 upstream.
+
+The dr_mode of usb0 on imx233-olinuxino is left to default "otg".
+Since the green LED (GPIO2_1) on imx233-olinuxino is connected to the
+same pin as USB_OTG_ID it's possible to disable USB host by LED toggling:
+
+echo 0 > /sys/class/leds/green/brightness
+[ 1068.890000] ci_hdrc ci_hdrc.0: remove, state 1
+[ 1068.890000] usb usb1: USB disconnect, device number 1
+[ 1068.920000] usb 1-1: USB disconnect, device number 2
+[ 1068.920000] usb 1-1.1: USB disconnect, device number 3
+[ 1069.070000] usb 1-1.2: USB disconnect, device number 4
+[ 1069.450000] ci_hdrc ci_hdrc.0: USB bus 1 deregistered
+[ 1074.460000] ci_hdrc ci_hdrc.0: timeout waiting for 00000800 in 11
+
+This patch fixes the issue by setting dr_mode to "host" in the dts file.
+
+Reported-by: Harald Geyer <harald@ccbib.org>
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
+Reviewed-by: Marek Vasut <marex@denx.de>
+Acked-by: Peter Chen <peter.chen@freescale.com>
+Fixes: b49312948285 ("ARM: dts: imx23-olinuxino: Add USB host support")
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/imx23-olinuxino.dts |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm/boot/dts/imx23-olinuxino.dts
++++ b/arch/arm/boot/dts/imx23-olinuxino.dts
+@@ -93,6 +93,7 @@
+       ahb@80080000 {
+               usb0: usb@80080000 {
++                      dr_mode = "host";
+                       vbus-supply = <&reg_usb0_vbus>;
+                       status = "okay";
+               };
diff --git a/queue-4.0/arm-dts-imx23-olinuxino-fix-polarity-of-led-gpio.patch b/queue-4.0/arm-dts-imx23-olinuxino-fix-polarity-of-led-gpio.patch
new file mode 100644 (file)
index 0000000..5f14fe5
--- /dev/null
@@ -0,0 +1,44 @@
+From cfe8c59762244251fd9a5e281d48808095ff4090 Mon Sep 17 00:00:00 2001
+From: Fabio Estevam <fabio.estevam@freescale.com>
+Date: Tue, 14 Apr 2015 11:05:04 -0300
+Subject: ARM: dts: imx23-olinuxino: Fix polarity of LED GPIO
+
+From: Fabio Estevam <fabio.estevam@freescale.com>
+
+commit cfe8c59762244251fd9a5e281d48808095ff4090 upstream.
+
+On imx23-olinuxino the LED turns on when level logic high is aplied to
+GPIO2_1.
+
+Fix the gpios property accordingly.
+
+Fixes: b34aa1850244 ("ARM: dts: imx23-olinuxino: Remove unneeded "default-on"")
+Reported-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
+Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/imx23-olinuxino.dts |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/imx23-olinuxino.dts
++++ b/arch/arm/boot/dts/imx23-olinuxino.dts
+@@ -12,6 +12,7 @@
+  */
+ /dts-v1/;
++#include <dt-bindings/gpio/gpio.h>
+ #include "imx23.dtsi"
+ / {
+@@ -123,7 +124,7 @@
+               user {
+                       label = "green";
+-                      gpios = <&gpio2 1 1>;
++                      gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
+               };
+       };
+ };
diff --git a/queue-4.0/arm-dts-imx25-add-pwm-cells-to-pwm4.patch b/queue-4.0/arm-dts-imx25-add-pwm-cells-to-pwm4.patch
new file mode 100644 (file)
index 0000000..a49086d
--- /dev/null
@@ -0,0 +1,32 @@
+From f90d3f0d0a11fa77918fd5497cb616dd2faa8431 Mon Sep 17 00:00:00 2001
+From: Markus Pargmann <mpa@pengutronix.de>
+Date: Fri, 24 Apr 2015 09:27:33 +0200
+Subject: ARM: dts: imx25: Add #pwm-cells to pwm4
+
+From: Markus Pargmann <mpa@pengutronix.de>
+
+commit f90d3f0d0a11fa77918fd5497cb616dd2faa8431 upstream.
+
+The property '#pwm-cells' is currently missing. It is not possible to
+use pwm4 without this property.
+
+Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
+Fixes: 5658a68fb578 ("ARM i.MX25: Add devicetree")
+Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/imx25.dtsi |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm/boot/dts/imx25.dtsi
++++ b/arch/arm/boot/dts/imx25.dtsi
+@@ -428,6 +428,7 @@
+                       pwm4: pwm@53fc8000 {
+                               compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
++                              #pwm-cells = <2>;
+                               reg = <0x53fc8000 0x4000>;
+                               clocks = <&clks 108>, <&clks 52>;
+                               clock-names = "ipg", "per";
diff --git a/queue-4.0/arm-dts-imx28-fix-auart4-tx-dma-interrupt-name.patch b/queue-4.0/arm-dts-imx28-fix-auart4-tx-dma-interrupt-name.patch
new file mode 100644 (file)
index 0000000..5262c59
--- /dev/null
@@ -0,0 +1,45 @@
+From 4ada77e37a773168fea484899201e272ab44ba8b Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Fri, 24 Apr 2015 13:29:47 +0200
+Subject: ARM: dts: imx28: Fix AUART4 TX-DMA interrupt name
+
+From: Marek Vasut <marex@denx.de>
+
+commit 4ada77e37a773168fea484899201e272ab44ba8b upstream.
+
+Fix a typo in the TX DMA interrupt name for AUART4.
+This patch makes AUART4 operational again.
+
+Signed-off-by: Marek Vasut <marex@denx.de>
+Fixes: f30fb03d4d3a ("ARM: dts: add generic DMA device tree binding for mxs-dma")
+Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt |    2 +-
+ arch/arm/boot/dts/imx28.dtsi                          |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt
++++ b/Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt
+@@ -38,7 +38,7 @@ dma_apbx: dma-apbx@80024000 {
+                     80 81 68 69
+                     70 71 72 73
+                     74 75 76 77>;
+-      interrupt-names = "auart4-rx", "aurat4-tx", "spdif-tx", "empty",
++      interrupt-names = "auart4-rx", "auart4-tx", "spdif-tx", "empty",
+                         "saif0", "saif1", "i2c0", "i2c1",
+                         "auart0-rx", "auart0-tx", "auart1-rx", "auart1-tx",
+                         "auart2-rx", "auart2-tx", "auart3-rx", "auart3-tx";
+--- a/arch/arm/boot/dts/imx28.dtsi
++++ b/arch/arm/boot/dts/imx28.dtsi
+@@ -900,7 +900,7 @@
+                                             80 81 68 69
+                                             70 71 72 73
+                                             74 75 76 77>;
+-                              interrupt-names = "auart4-rx", "aurat4-tx", "spdif-tx", "empty",
++                              interrupt-names = "auart4-rx", "auart4-tx", "spdif-tx", "empty",
+                                                 "saif0", "saif1", "i2c0", "i2c1",
+                                                 "auart0-rx", "auart0-tx", "auart1-rx", "auart1-tx",
+                                                 "auart2-rx", "auart2-tx", "auart3-rx", "auart3-tx";
diff --git a/queue-4.0/arm-dts-imx6-phyflex-usb-vbus-control-is-active-high.patch b/queue-4.0/arm-dts-imx6-phyflex-usb-vbus-control-is-active-high.patch
new file mode 100644 (file)
index 0000000..882c890
--- /dev/null
@@ -0,0 +1,39 @@
+From 7f8d49dcc66a3dd3a8fc3078330b8fb9e616ad3f Mon Sep 17 00:00:00 2001
+From: Philipp Zabel <p.zabel@pengutronix.de>
+Date: Tue, 21 Apr 2015 15:59:53 +0200
+Subject: ARM: dts: imx6: phyFLEX: USB VBUS control is active-high
+
+From: Philipp Zabel <p.zabel@pengutronix.de>
+
+commit 7f8d49dcc66a3dd3a8fc3078330b8fb9e616ad3f upstream.
+
+The fixed-regulator bindings require a separate property enable-active-high,
+the standard gpio phandle property polarity setting is ignored.
+
+Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
+Fixes: 4fe69a934b1f ("ARM: dts: Add Phytec pfla02 with i.MX6 DualLite/Solo")
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
++++ b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
+@@ -31,6 +31,7 @@
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       gpio = <&gpio4 15 0>;
++                      enable-active-high;
+               };
+               reg_usb_h1_vbus: regulator@1 {
+@@ -40,6 +41,7 @@
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       gpio = <&gpio1 0 0>;
++                      enable-active-high;
+               };
+       };
diff --git a/queue-4.0/arm-dts-omap3-n900-add-microphone-bias-voltages.patch b/queue-4.0/arm-dts-omap3-n900-add-microphone-bias-voltages.patch
new file mode 100644 (file)
index 0000000..e93d2c0
--- /dev/null
@@ -0,0 +1,45 @@
+From 1819e3034ee26ffadc71880064ed8b8e7d74f52c Mon Sep 17 00:00:00 2001
+From: Pavel Machek <pavel@ucw.cz>
+Date: Sun, 1 Mar 2015 21:07:08 +0200
+Subject: ARM: dts: OMAP3-N900: Add microphone bias voltages
+
+From: Pavel Machek <pavel@ucw.cz>
+
+commit 1819e3034ee26ffadc71880064ed8b8e7d74f52c upstream.
+
+N900 audio recording needs that codec provides bias voltage for integrated
+digital microphone and headset microphone depending which one is used.
+Digital microphone uses 2 V bias and it comes from the codec A part. Codec
+B part drives the headset microphone bias and that is set to 2.5 V.
+
+Signed-off-by: Pavel Machek <pavel@ucw.cz>
+[Jarkko: Headset mic bias changed to 2 (2.5 V) as it was before commit
+e2e8bfdf6157 ("ASoC: tlv320aic3x: Convert mic bias to a supply widget")]
+Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/omap3-n900.dts |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/arch/arm/boot/dts/omap3-n900.dts
++++ b/arch/arm/boot/dts/omap3-n900.dts
+@@ -484,6 +484,8 @@
+               DRVDD-supply = <&vmmc2>;
+               IOVDD-supply = <&vio>;
+               DVDD-supply = <&vio>;
++
++              ai3x-micbias-vg = <1>;
+       };
+       tlv320aic3x_aux: tlv320aic3x@19 {
+@@ -495,6 +497,8 @@
+               DRVDD-supply = <&vmmc2>;
+               IOVDD-supply = <&vio>;
+               DVDD-supply = <&vio>;
++
++              ai3x-micbias-vg = <2>;
+       };
+       tsl2563: tsl2563@29 {
diff --git a/queue-4.0/arm-mvebu-armada-xp-openblocks-ax3-4-disable-internal-rtc.patch b/queue-4.0/arm-mvebu-armada-xp-openblocks-ax3-4-disable-internal-rtc.patch
new file mode 100644 (file)
index 0000000..902019f
--- /dev/null
@@ -0,0 +1,36 @@
+From 750e30d4076ae5e02ad13a376e96c95a2627742c Mon Sep 17 00:00:00 2001
+From: Gregory CLEMENT <gregory.clement@free-electrons.com>
+Date: Tue, 14 Apr 2015 11:50:13 +0200
+Subject: ARM: mvebu: armada-xp-openblocks-ax3-4: Disable internal RTC
+
+From: Gregory CLEMENT <gregory.clement@free-electrons.com>
+
+commit 750e30d4076ae5e02ad13a376e96c95a2627742c upstream.
+
+There is no crystal connected to the internal RTC on the Open Block
+AX3. So let's disable it in order to prevent the kernel probing the
+driver uselessly. Eventually this patches removes the following
+warning message from the boot log:
+"rtc-mv d0010300.rtc: internal RTC not ticking"
+
+Acked-by: Andrew Lunn <andrew@lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
++++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
+@@ -105,6 +105,10 @@
+               };
+               internal-regs {
++                      rtc@10300 {
++                              /* No crystal connected to the internal RTC */
++                              status = "disabled";
++                      };
+                       serial@12000 {
+                               status = "okay";
+                       };
diff --git a/queue-4.0/arm-net-fix-emit_udiv-for-bpf_alu-bpf_div-bpf_k-intruction.patch b/queue-4.0/arm-net-fix-emit_udiv-for-bpf_alu-bpf_div-bpf_k-intruction.patch
new file mode 100644 (file)
index 0000000..daae8a4
--- /dev/null
@@ -0,0 +1,50 @@
+From 19fc99d0c6ba7d9b65456496b5bb2169d5f74cd0 Mon Sep 17 00:00:00 2001
+From: Nicolas Schichan <nschichan@freebox.fr>
+Date: Wed, 6 May 2015 18:31:56 +0200
+Subject: ARM: net fix emit_udiv() for BPF_ALU | BPF_DIV | BPF_K intruction.
+
+From: Nicolas Schichan <nschichan@freebox.fr>
+
+commit 19fc99d0c6ba7d9b65456496b5bb2169d5f74cd0 upstream.
+
+In that case, emit_udiv() will be called with rn == ARM_R0 (r_scratch)
+and loading rm first into ARM_R0 will result in jit_udiv() function
+being called the same dividend and divisor. Fix that by loading rn
+first into ARM_R1 and then rm into ARM_R0.
+
+Signed-off-by: Nicolas Schichan <nschichan@freebox.fr>
+Fixes: aee636c4809f (bpf: do not use reciprocal divide)
+Acked-by: Mircea Gherzan <mgherzan@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/net/bpf_jit_32.c |   15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/net/bpf_jit_32.c
++++ b/arch/arm/net/bpf_jit_32.c
+@@ -449,10 +449,21 @@ static inline void emit_udiv(u8 rd, u8 r
+               return;
+       }
+ #endif
+-      if (rm != ARM_R0)
+-              emit(ARM_MOV_R(ARM_R0, rm), ctx);
++
++      /*
++       * For BPF_ALU | BPF_DIV | BPF_K instructions, rm is ARM_R4
++       * (r_A) and rn is ARM_R0 (r_scratch) so load rn first into
++       * ARM_R1 to avoid accidentally overwriting ARM_R0 with rm
++       * before using it as a source for ARM_R1.
++       *
++       * For BPF_ALU | BPF_DIV | BPF_X rm is ARM_R4 (r_A) and rn is
++       * ARM_R5 (r_X) so there is no particular register overlap
++       * issues.
++       */
+       if (rn != ARM_R1)
+               emit(ARM_MOV_R(ARM_R1, rn), ctx);
++      if (rm != ARM_R0)
++              emit(ARM_MOV_R(ARM_R0, rm), ctx);
+       ctx->seen |= SEEN_CALL;
+       emit_mov_i(ARM_R3, (u32)jit_udiv, ctx);
diff --git a/queue-4.0/arm-omap2-fix-omap-off-idle-power-consumption-creeping-up.patch b/queue-4.0/arm-omap2-fix-omap-off-idle-power-consumption-creeping-up.patch
new file mode 100644 (file)
index 0000000..4a7f8cf
--- /dev/null
@@ -0,0 +1,128 @@
+From 102bcb6ed2d1c3ffcc7269afc957c2df11942085 Mon Sep 17 00:00:00 2001
+From: Tony Lindgren <tony@atomide.com>
+Date: Mon, 4 May 2015 08:54:41 -0700
+Subject: ARM: OMAP2+: Fix omap off idle power consumption creeping up
+
+From: Tony Lindgren <tony@atomide.com>
+
+commit 102bcb6ed2d1c3ffcc7269afc957c2df11942085 upstream.
+
+If we use a combination of VMODE and I2C4 for retention modes,
+eventually the off idle power consumption will creep up by about
+23mW, even during off mode with I2C4 always staying enabled.
+
+Turns out this is because of erratum i531 "Extra Power Consumed
+When Repeated Start Operation Mode Is Enabled on I2C Interface
+Dedicated for Smart Reflex (I2C4)" as pointed out by Nishanth
+Menon <nm@ti.com>.
+
+Let's fix the issue by adding i2c_cfg_clear_mask for the bits
+to clear when initializing the I2C4 adapter so we can clear
+SREN bit that drives the I2C4 lines low otherwise when there
+is no traffic.
+
+Fixes: 3b8c4ebb7630 ("ARM: OMAP3: Fix idle mode signaling for
+sys_clkreq and sys_off_mode")
+Cc: Kevin Hilman <khilman@kernel.org>
+Cc: Tero Kristo <t-kristo@ti.com>
+Reviewed-by: Nishanth Menon <nm@ti.com>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/mach-omap2/prm-regbits-34xx.h |    1 +
+ arch/arm/mach-omap2/prm-regbits-44xx.h |    1 +
+ arch/arm/mach-omap2/vc.c               |   12 ++++++++++--
+ arch/arm/mach-omap2/vc.h               |    2 ++
+ arch/arm/mach-omap2/vc3xxx_data.c      |    1 +
+ arch/arm/mach-omap2/vc44xx_data.c      |    1 +
+ 6 files changed, 16 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/mach-omap2/prm-regbits-34xx.h
++++ b/arch/arm/mach-omap2/prm-regbits-34xx.h
+@@ -112,6 +112,7 @@
+ #define OMAP3430_VC_CMD_ONLP_SHIFT                    16
+ #define OMAP3430_VC_CMD_RET_SHIFT                     8
+ #define OMAP3430_VC_CMD_OFF_SHIFT                     0
++#define OMAP3430_SREN_MASK                            (1 << 4)
+ #define OMAP3430_HSEN_MASK                            (1 << 3)
+ #define OMAP3430_MCODE_MASK                           (0x7 << 0)
+ #define OMAP3430_VALID_MASK                           (1 << 24)
+--- a/arch/arm/mach-omap2/prm-regbits-44xx.h
++++ b/arch/arm/mach-omap2/prm-regbits-44xx.h
+@@ -35,6 +35,7 @@
+ #define OMAP4430_GLOBAL_WARM_SW_RST_SHIFT                             1
+ #define OMAP4430_GLOBAL_WUEN_MASK                                     (1 << 16)
+ #define OMAP4430_HSMCODE_MASK                                         (0x7 << 0)
++#define OMAP4430_SRMODEEN_MASK                                                (1 << 4)
+ #define OMAP4430_HSMODEEN_MASK                                                (1 << 3)
+ #define OMAP4430_HSSCLL_SHIFT                                         24
+ #define OMAP4430_ICEPICK_RST_SHIFT                                    9
+--- a/arch/arm/mach-omap2/vc.c
++++ b/arch/arm/mach-omap2/vc.c
+@@ -316,7 +316,8 @@ static void __init omap3_vc_init_pmic_si
+        * idle. And we can also scale voltages to zero for off-idle.
+        * Note that no actual voltage scaling during off-idle will
+        * happen unless the board specific twl4030 PMIC scripts are
+-       * loaded.
++       * loaded. See also omap_vc_i2c_init for comments regarding
++       * erratum i531.
+        */
+       val = voltdm->read(OMAP3_PRM_VOLTCTRL_OFFSET);
+       if (!(val & OMAP3430_PRM_VOLTCTRL_SEL_OFF)) {
+@@ -704,9 +705,16 @@ static void __init omap_vc_i2c_init(stru
+               return;
+       }
++      /*
++       * Note that for omap3 OMAP3430_SREN_MASK clears SREN to work around
++       * erratum i531 "Extra Power Consumed When Repeated Start Operation
++       * Mode Is Enabled on I2C Interface Dedicated for Smart Reflex (I2C4)".
++       * Otherwise I2C4 eventually leads into about 23mW extra power being
++       * consumed even during off idle using VMODE.
++       */
+       i2c_high_speed = voltdm->pmic->i2c_high_speed;
+       if (i2c_high_speed)
+-              voltdm->rmw(vc->common->i2c_cfg_hsen_mask,
++              voltdm->rmw(vc->common->i2c_cfg_clear_mask,
+                           vc->common->i2c_cfg_hsen_mask,
+                           vc->common->i2c_cfg_reg);
+--- a/arch/arm/mach-omap2/vc.h
++++ b/arch/arm/mach-omap2/vc.h
+@@ -34,6 +34,7 @@ struct voltagedomain;
+  * @cmd_ret_shift: RET field shift in PRM_VC_CMD_VAL_* register
+  * @cmd_off_shift: OFF field shift in PRM_VC_CMD_VAL_* register
+  * @i2c_cfg_reg: I2C configuration register offset
++ * @i2c_cfg_clear_mask: high-speed mode bit clear mask in I2C config register
+  * @i2c_cfg_hsen_mask: high-speed mode bit field mask in I2C config register
+  * @i2c_mcode_mask: MCODE field mask for I2C config register
+  *
+@@ -52,6 +53,7 @@ struct omap_vc_common {
+       u8 cmd_ret_shift;
+       u8 cmd_off_shift;
+       u8 i2c_cfg_reg;
++      u8 i2c_cfg_clear_mask;
+       u8 i2c_cfg_hsen_mask;
+       u8 i2c_mcode_mask;
+ };
+--- a/arch/arm/mach-omap2/vc3xxx_data.c
++++ b/arch/arm/mach-omap2/vc3xxx_data.c
+@@ -40,6 +40,7 @@ static struct omap_vc_common omap3_vc_co
+       .cmd_onlp_shift  = OMAP3430_VC_CMD_ONLP_SHIFT,
+       .cmd_ret_shift   = OMAP3430_VC_CMD_RET_SHIFT,
+       .cmd_off_shift   = OMAP3430_VC_CMD_OFF_SHIFT,
++      .i2c_cfg_clear_mask = OMAP3430_SREN_MASK | OMAP3430_HSEN_MASK,
+       .i2c_cfg_hsen_mask = OMAP3430_HSEN_MASK,
+       .i2c_cfg_reg     = OMAP3_PRM_VC_I2C_CFG_OFFSET,
+       .i2c_mcode_mask  = OMAP3430_MCODE_MASK,
+--- a/arch/arm/mach-omap2/vc44xx_data.c
++++ b/arch/arm/mach-omap2/vc44xx_data.c
+@@ -42,6 +42,7 @@ static const struct omap_vc_common omap4
+       .cmd_ret_shift = OMAP4430_RET_SHIFT,
+       .cmd_off_shift = OMAP4430_OFF_SHIFT,
+       .i2c_cfg_reg = OMAP4_PRM_VC_CFG_I2C_MODE_OFFSET,
++      .i2c_cfg_clear_mask = OMAP4430_SRMODEEN_MASK | OMAP4430_HSMODEEN_MASK,
+       .i2c_cfg_hsen_mask = OMAP4430_HSMODEEN_MASK,
+       .i2c_mcode_mask  = OMAP4430_HSMCODE_MASK,
+ };
diff --git a/queue-4.0/arm-ux500-enable-gpio-regulator-for-sd-card-for-href-boards.patch b/queue-4.0/arm-ux500-enable-gpio-regulator-for-sd-card-for-href-boards.patch
new file mode 100644 (file)
index 0000000..a166aca
--- /dev/null
@@ -0,0 +1,30 @@
+From f9a8c3914ba85f19c3360b19612d77c47adb8942 Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Mon, 20 Apr 2015 16:02:32 +0200
+Subject: ARM: ux500: Enable GPIO regulator for SD-card for HREF boards
+
+From: Ulf Hansson <ulf.hansson@linaro.org>
+
+commit f9a8c3914ba85f19c3360b19612d77c47adb8942 upstream.
+
+Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by default")
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Reviewed-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/ste-href.dtsi |    2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/arch/arm/boot/dts/ste-href.dtsi
++++ b/arch/arm/boot/dts/ste-href.dtsi
+@@ -124,8 +124,6 @@
+                       states = <1800000 0x1
+                                 2900000 0x0>;
+-
+-                      status = "disabled";
+               };
+               // External Micro SD slot
diff --git a/queue-4.0/arm-ux500-enable-gpio-regulator-for-sd-card-for-snowball.patch b/queue-4.0/arm-ux500-enable-gpio-regulator-for-sd-card-for-snowball.patch
new file mode 100644 (file)
index 0000000..33f6b73
--- /dev/null
@@ -0,0 +1,30 @@
+From 11133db7a836b0cb411faa048f07a38e994d1382 Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Mon, 20 Apr 2015 16:02:33 +0200
+Subject: ARM: ux500: Enable GPIO regulator for SD-card for snowball
+
+From: Ulf Hansson <ulf.hansson@linaro.org>
+
+commit 11133db7a836b0cb411faa048f07a38e994d1382 upstream.
+
+Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by default")
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Reviewed-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/ste-snowball.dts |    2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/arch/arm/boot/dts/ste-snowball.dts
++++ b/arch/arm/boot/dts/ste-snowball.dts
+@@ -161,8 +161,6 @@
+                       states = <1800000 0x1
+                                 2900000 0x0>;
+-
+-                      status = "disabled";
+               };
+               // External Micro SD slot
diff --git a/queue-4.0/arm-ux500-move-gpio-regulator-for-sd-card-into-board-dtss.patch b/queue-4.0/arm-ux500-move-gpio-regulator-for-sd-card-into-board-dtss.patch
new file mode 100644 (file)
index 0000000..c4d6792
--- /dev/null
@@ -0,0 +1,103 @@
+From 53d2669844263fd5fdc70f0eb6a2eb8a21086d8e Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Mon, 20 Apr 2015 16:02:31 +0200
+Subject: ARM: ux500: Move GPIO regulator for SD-card into board DTSs
+
+From: Ulf Hansson <ulf.hansson@linaro.org>
+
+commit 53d2669844263fd5fdc70f0eb6a2eb8a21086d8e upstream.
+
+The GPIO regulator for the SD-card isn't a ux500 SOC configuration, but
+instead it's specific to the board. Move the definition of it, into the
+board DTSs.
+
+Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by default")
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Reviewed-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/ste-dbx5x0.dtsi  |   17 -----------------
+ arch/arm/boot/dts/ste-href.dtsi    |   17 +++++++++++++++++
+ arch/arm/boot/dts/ste-snowball.dts |   15 +++++++++++++++
+ 3 files changed, 32 insertions(+), 17 deletions(-)
+
+--- a/arch/arm/boot/dts/ste-dbx5x0.dtsi
++++ b/arch/arm/boot/dts/ste-dbx5x0.dtsi
+@@ -1017,23 +1017,6 @@
+                       status = "disabled";
+               };
+-              vmmci: regulator-gpio {
+-                      compatible = "regulator-gpio";
+-
+-                      regulator-min-microvolt = <1800000>;
+-                      regulator-max-microvolt = <2900000>;
+-                      regulator-name = "mmci-reg";
+-                      regulator-type = "voltage";
+-
+-                      startup-delay-us = <100>;
+-                      enable-active-high;
+-
+-                      states = <1800000 0x1
+-                                2900000 0x0>;
+-
+-                      status = "disabled";
+-              };
+-
+               mcde@a0350000 {
+                       compatible = "stericsson,mcde";
+                       reg = <0xa0350000 0x1000>, /* MCDE */
+--- a/arch/arm/boot/dts/ste-href.dtsi
++++ b/arch/arm/boot/dts/ste-href.dtsi
+@@ -111,6 +111,23 @@
+                       pinctrl-1 = <&i2c3_sleep_mode>;
+               };
++              vmmci: regulator-gpio {
++                      compatible = "regulator-gpio";
++
++                      regulator-min-microvolt = <1800000>;
++                      regulator-max-microvolt = <2900000>;
++                      regulator-name = "mmci-reg";
++                      regulator-type = "voltage";
++
++                      startup-delay-us = <100>;
++                      enable-active-high;
++
++                      states = <1800000 0x1
++                                2900000 0x0>;
++
++                      status = "disabled";
++              };
++
+               // External Micro SD slot
+               sdi0_per1@80126000 {
+                       arm,primecell-periphid = <0x10480180>;
+--- a/arch/arm/boot/dts/ste-snowball.dts
++++ b/arch/arm/boot/dts/ste-snowball.dts
+@@ -146,8 +146,23 @@
+               };
+               vmmci: regulator-gpio {
++                      compatible = "regulator-gpio";
++
+                       gpios = <&gpio7 4 0x4>;
+                       enable-gpio = <&gpio6 25 0x4>;
++
++                      regulator-min-microvolt = <1800000>;
++                      regulator-max-microvolt = <2900000>;
++                      regulator-name = "mmci-reg";
++                      regulator-type = "voltage";
++
++                      startup-delay-us = <100>;
++                      enable-active-high;
++
++                      states = <1800000 0x1
++                                2900000 0x0>;
++
++                      status = "disabled";
+               };
+               // External Micro SD slot
diff --git a/queue-4.0/drm-zero-out-invalid-vblank-timestamp-in-drm_update_vblank_count.patch b/queue-4.0/drm-zero-out-invalid-vblank-timestamp-in-drm_update_vblank_count.patch
new file mode 100644 (file)
index 0000000..f3a38df
--- /dev/null
@@ -0,0 +1,62 @@
+From fdb68e09bbb1c981f24608d7022c7d93cc47b326 Mon Sep 17 00:00:00 2001
+From: Mario Kleiner <mario.kleiner.de@gmail.com>
+Date: Tue, 7 Apr 2015 06:31:09 +0200
+Subject: drm: Zero out invalid vblank timestamp in drm_update_vblank_count.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Mario Kleiner <mario.kleiner.de@gmail.com>
+
+commit fdb68e09bbb1c981f24608d7022c7d93cc47b326 upstream.
+
+Since commit 844b03f27739135fe1fed2fef06da0ffc4c7a081 we make
+sure that after vblank irq off, we return the last valid
+(vblank count, vblank timestamp) pair to clients, e.g., during
+modesets, which is good.
+
+An overlooked side effect of that commit for kms drivers without
+support for precise vblank timestamping is that at vblank irq
+enable, when we update the vblank counter from the hw counter, we
+can't update the corresponding vblank timestamp, so now we have a
+totally mismatched timestamp for the new count to confuse clients.
+
+Restore old client visible behaviour from before Linux 3.17, but
+zero out the timestamp at vblank counter update (instead of disable
+as in original implementation) if we can't generate a meaningful
+timestamp immediately for the new vblank counter. This will fix
+this regression, so callers know they need to retry again later
+if they need a valid timestamp, but at the same time preserves
+the improvements made in the commit mentioned above.
+
+Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
+Cc: <stable@vger.kernel.org> #v3.17+
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Cc: Daniel Vetter <daniel@ffwll.ch>
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+---
+ drivers/gpu/drm/drm_irq.c |    9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+--- a/drivers/gpu/drm/drm_irq.c
++++ b/drivers/gpu/drm/drm_irq.c
+@@ -131,12 +131,11 @@ static void drm_update_vblank_count(stru
+       /* Reinitialize corresponding vblank timestamp if high-precision query
+        * available. Skip this step if query unsupported or failed. Will
+-       * reinitialize delayed at next vblank interrupt in that case.
++       * reinitialize delayed at next vblank interrupt in that case and
++       * assign 0 for now, to mark the vblanktimestamp as invalid.
+        */
+-      if (rc) {
+-              tslot = atomic_read(&vblank->count) + diff;
+-              vblanktimestamp(dev, crtc, tslot) = t_vblank;
+-      }
++      tslot = atomic_read(&vblank->count) + diff;
++      vblanktimestamp(dev, crtc, tslot) = rc ? t_vblank : (struct timeval) {0, 0};
+       smp_mb__before_atomic();
+       atomic_add(diff, &vblank->count);
index 71dc091c84368d586cbd132e1cfde4745cb623fb..3cf66c7712906914a5a7f78e2d87796149b5b76c 100644 (file)
@@ -23,3 +23,16 @@ revert-dm-crypt-fix-deadlock-when-async-crypto-algorithm-returns-ebusy.patch
 block-destroy-bdi-before-blockdev-is-unregistered.patch
 blk-mq-fix-race-between-timeout-and-cpu-hotplug.patch
 blk-mq-fix-cpu-hotplug-handling.patch
+arm-dts-omap3-n900-add-microphone-bias-voltages.patch
+arm-dts-imx25-add-pwm-cells-to-pwm4.patch
+arm-dts-imx6-phyflex-usb-vbus-control-is-active-high.patch
+arm-dts-imx28-fix-auart4-tx-dma-interrupt-name.patch
+arm-dts-imx23-olinuxino-fix-dr_mode-of-usb0.patch
+arm-dts-imx23-olinuxino-fix-polarity-of-led-gpio.patch
+arm-mvebu-armada-xp-openblocks-ax3-4-disable-internal-rtc.patch
+arm-omap2-fix-omap-off-idle-power-consumption-creeping-up.patch
+arm-net-fix-emit_udiv-for-bpf_alu-bpf_div-bpf_k-intruction.patch
+arm-ux500-move-gpio-regulator-for-sd-card-into-board-dtss.patch
+arm-ux500-enable-gpio-regulator-for-sd-card-for-href-boards.patch
+arm-ux500-enable-gpio-regulator-for-sd-card-for-snowball.patch
+drm-zero-out-invalid-vblank-timestamp-in-drm_update_vblank_count.patch