[Armadeus-commitlog] armadeus branch, master, updated. armadeus-5.3-337-gcfb0a25
Brought to you by:
sszy
|
From: Sébastien S. <ss...@us...> - 2014-07-17 12:01:06
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via cfb0a25079842e1c6cdaa6a74580e26fd4ceb7be (commit)
via cfc03ca913379b16c45031642f104800f367c954 (commit)
from 24bba4b707f9f68b9a085bf76b0181a481faea87 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit cfb0a25079842e1c6cdaa6a74580e26fd4ceb7be
Author: Sébastien Szymanski <ss...@us...>
Date: Thu Jul 17 14:00:08 2014 +0200
[LINUX] 3.16: apf6: fix a hard machine hang.
This patch comes from the linux-arm-kernel mailing list:
https://patchwork.kernel.org/patch/4574381/
commit cfc03ca913379b16c45031642f104800f367c954
Author: Sébastien Szymanski <ss...@us...>
Date: Thu Jul 17 13:58:03 2014 +0200
[LINUX] 3.16: apf6: move to linux 3.16-rc5
-----------------------------------------------------------------------
Summary of changes:
buildroot/configs/apf6_defconfig | 2 +-
...-3.16-rc2.config => apf6-linux-3.16-rc5.config} | 0
patches/linux/{3.16-rc2 => 3.16-rc5} | 0
...-lvds_sel-input-from-upstream-clock-gates.patch | 59 ++++++++++++++++++++
4 files changed, 60 insertions(+), 1 deletions(-)
rename buildroot/target/device/armadeus/apf6/{apf6-linux-3.16-rc2.config => apf6-linux-3.16-rc5.config} (100%)
rename patches/linux/{3.16-rc2 => 3.16-rc5} (100%)
create mode 100644 patches/linux/3.16/0506-arm-clk-imx6q-parent-lvds_sel-input-from-upstream-clock-gates.patch
diff --git a/buildroot/configs/apf6_defconfig b/buildroot/configs/apf6_defconfig
index 5e82ee9..c37563b 100644
--- a/buildroot/configs/apf6_defconfig
+++ b/buildroot/configs/apf6_defconfig
@@ -22,7 +22,7 @@ BR2_TARGET_ARMADEUS_NR_SDRAM="2"
BR2_TARGET_ARMADEUS_SDRAM_SIZE="512"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.16-rc2"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.16-rc5"
BR2_LINUX_KERNEL_PATCH="../patches/linux/$(BR2_LINUX_KERNEL_VERSION)"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-$(BR2_LINUX_KERNEL_VERSION).config"
diff --git a/buildroot/target/device/armadeus/apf6/apf6-linux-3.16-rc2.config b/buildroot/target/device/armadeus/apf6/apf6-linux-3.16-rc5.config
similarity index 100%
rename from buildroot/target/device/armadeus/apf6/apf6-linux-3.16-rc2.config
rename to buildroot/target/device/armadeus/apf6/apf6-linux-3.16-rc5.config
diff --git a/patches/linux/3.16-rc2 b/patches/linux/3.16-rc5
similarity index 100%
rename from patches/linux/3.16-rc2
rename to patches/linux/3.16-rc5
diff --git a/patches/linux/3.16/0506-arm-clk-imx6q-parent-lvds_sel-input-from-upstream-clock-gates.patch b/patches/linux/3.16/0506-arm-clk-imx6q-parent-lvds_sel-input-from-upstream-clock-gates.patch
new file mode 100644
index 0000000..0f8c43c
--- /dev/null
+++ b/patches/linux/3.16/0506-arm-clk-imx6q-parent-lvds_sel-input-from-upstream-clock-gates.patch
@@ -0,0 +1,59 @@
+From patchwork Thu Jul 17 10:20:14 2014
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: arm: clk-imx6q: parent lvds_sel input from upstream clock gates
+From: Lucas Stach <l....@pe...>
+X-Patchwork-Id: 371047
+Message-Id: <140...@pe...>
+To: Shawn Guo <sha...@fr...>, Arnd Bergmann <ar...@ar...>,
+ Olof Johansson <ol...@li...>
+Cc: ke...@pe..., lin...@li...
+Date: Thu, 17 Jul 2014 12:20:14 +0200
+
+The i.MX6 reference manual doesn't make a clear distinction
+between the fixed clock divider and the enable gate for the
+pcie and sata reference clocks. This lead to the lvds mux
+inputs in the imx6q clk driver to be parented from the
+ref clock (which is the divider) instead of the actual gate,
+which in turn prevents the upstream clock to actually be
+enabled when lvds clk out is active.
+
+This fixes a hard machine hang regression in kernel 3.16 for
+boards where only pcie is active but no sata, as with this
+kernel version the imx6-pcie driver is no longer enabling
+the upstream clock directly but only lvds clk out.
+
+Reported-by: Arne Ruhnau <arn...@ta...>
+Signed-off-by: Lucas Stach <l....@pe...>
+Tested-by: Arne Ruhnau <arn...@ta...>
+
+---
+Shawn, this is an urgent fix for 3.16. Can you please
+Ack it so arm-soc people can take this directly?
+---
+ arch/arm/mach-imx/clk-imx6q.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c
+index 8e795dea02ec..8556c787e59c 100644
+--- a/arch/arm/mach-imx/clk-imx6q.c
++++ b/arch/arm/mach-imx/clk-imx6q.c
+@@ -70,7 +70,7 @@ static const char *cko_sels[] = { "cko1", "cko2", };
+ static const char *lvds_sels[] = {
+ "dummy", "dummy", "dummy", "dummy", "dummy", "dummy",
+ "pll4_audio", "pll5_video", "pll8_mlb", "enet_ref",
+- "pcie_ref", "sata_ref",
++ "pcie_ref_125m", "sata_ref_100m",
+ };
+
+ enum mx6q_clks {
+@@ -491,7 +491,7 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
+
+ /* All existing boards with PCIe use LVDS1 */
+ if (IS_ENABLED(CONFIG_PCI_IMX6))
+- clk_set_parent(clk[lvds1_sel], clk[sata_ref]);
++ clk_set_parent(clk[lvds1_sel], clk[sata_ref_100m]);
+
+ /* Set initial power mode */
+ imx6q_set_lpm(WAIT_CLOCKED);
hooks/post-receive
--
armadeus
|