diff options
author | Florian Fainelli <florian@openwrt.org> | 2013-01-10 17:20:25 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2013-01-10 17:20:25 +0000 |
commit | ecf230710f51a442d2bb1b59d43cd6f7335a8e92 (patch) | |
tree | 04d582337930d944d9cd9f54675ccedaa2f93317 /target/linux/mvebu/patches-3.8 | |
parent | 548cb598269e2e8d981110cd1082dcb4e967c6bd (diff) | |
download | upstream-ecf230710f51a442d2bb1b59d43cd6f7335a8e92.tar.gz upstream-ecf230710f51a442d2bb1b59d43cd6f7335a8e92.tar.bz2 upstream-ecf230710f51a442d2bb1b59d43cd6f7335a8e92.zip |
mvebu: update to 3.8-rc3
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 35086
Diffstat (limited to 'target/linux/mvebu/patches-3.8')
6 files changed, 0 insertions, 286 deletions
diff --git a/target/linux/mvebu/patches-3.8/001-clk_mvebu_remove_inappropriate_init_tagging.patch b/target/linux/mvebu/patches-3.8/001-clk_mvebu_remove_inappropriate_init_tagging.patch deleted file mode 100644 index 33787f266b..0000000000 --- a/target/linux/mvebu/patches-3.8/001-clk_mvebu_remove_inappropriate_init_tagging.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Joshua Coombs <josh.coombs@gmail.com> - -If the Orion WDT driver is built as a module, an opps occurs during -clk lookup when calling mvebu_clk_gating_get_src(). Remove the -inappropriate __init tag so the function is available for modules -after kernel init. - -Signed-off-by: Joshua Coombs <josh.coombs@gmail.com> -Signed-off-by: Andrew Lunn <andrew@lunn.ch> ---- - drivers/clk/mvebu/clk-gating-ctrl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/clk/mvebu/clk-gating-ctrl.c b/drivers/clk/mvebu/clk-gating-ctrl.c -index c6d3c26..8fa5408 100644 ---- a/drivers/clk/mvebu/clk-gating-ctrl.c -+++ b/drivers/clk/mvebu/clk-gating-ctrl.c -@@ -32,7 +32,7 @@ struct mvebu_soc_descr { - - #define to_clk_gate(_hw) container_of(_hw, struct clk_gate, hw) - --static struct clk __init *mvebu_clk_gating_get_src( -+static struct clk *mvebu_clk_gating_get_src( - struct of_phandle_args *clkspec, void *data) - { - struct mvebu_gating_ctrl *ctrl = (struct mvebu_gating_ctrl *)data; --- -1.7.10.4 diff --git a/target/linux/mvebu/patches-3.8/002-dma_mv_xor_fix_error_handling.patch b/target/linux/mvebu/patches-3.8/002-dma_mv_xor_fix_error_handling.patch deleted file mode 100644 index f5940fbb1d..0000000000 --- a/target/linux/mvebu/patches-3.8/002-dma_mv_xor_fix_error_handling.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - -When mv_xor_channel_add() fails for one XOR channel, we jump to the -err_channel_add label to clean up all previous channels that had been -initialized correctly. Unfortunately, while handling this error -condition, we were disposing the IRQ mapping before calling -mv_xor_channel_remove() (which does the free_irq()), which is -incorrect. - -Instead, do things properly in the reverse order of the -initialization: first remove the XOR channel (so that free_irq() is -done), and then dispose the IRQ mapping. - -This avoids ugly warnings when for some reason one of the XOR channel -fails to initialize. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - drivers/dma/mv_xor.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c -index ac71f55..cc5d23d 100644 ---- a/drivers/dma/mv_xor.c -+++ b/drivers/dma/mv_xor.c -@@ -1361,9 +1361,9 @@ static int mv_xor_probe(struct platform_device *pdev) - err_channel_add: - for (i = 0; i < MV_XOR_MAX_CHANNELS; i++) - if (xordev->channels[i]) { -+ mv_xor_channel_remove(xordev->channels[i]); - if (pdev->dev.of_node) - irq_dispose_mapping(xordev->channels[i]->irq); -- mv_xor_channel_remove(xordev->channels[i]); - } - - clk_disable_unprepare(xordev->clk); --- -1.7.10.4 diff --git a/target/linux/mvebu/patches-3.8/003-dma_mv_xor_fix_error_handling_clocks.patch b/target/linux/mvebu/patches-3.8/003-dma_mv_xor_fix_error_handling_clocks.patch deleted file mode 100644 index 9bee8acded..0000000000 --- a/target/linux/mvebu/patches-3.8/003-dma_mv_xor_fix_error_handling_clocks.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - -When a channel fails to initialize, we release all ressources, -including clocks. However, a XOR unit is not necessarily associated to -a clock (some variants of Marvell SoCs have a clock for XOR units, -some don't), so we shouldn't unconditionally be releasing the clock. - -Instead, just like we do in the mv_xor_remove() function, we should -check if one clock was found before releasing it. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - drivers/dma/mv_xor.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c -index cc5d23d..e17fad0 100644 ---- a/drivers/dma/mv_xor.c -+++ b/drivers/dma/mv_xor.c -@@ -1366,8 +1366,11 @@ err_channel_add: - irq_dispose_mapping(xordev->channels[i]->irq); - } - -- clk_disable_unprepare(xordev->clk); -- clk_put(xordev->clk); -+ if (!IS_ERR(xordev->clk)) { -+ clk_disable_unprepare(xordev->clk); -+ clk_put(xordev->clk); -+ } -+ - return ret; - } - --- -1.7.10.4 diff --git a/target/linux/mvebu/patches-3.8/016-arm_cache_l2x0_aurora_invalidate.patch b/target/linux/mvebu/patches-3.8/016-arm_cache_l2x0_aurora_invalidate.patch deleted file mode 100644 index 7e7c5fda8b..0000000000 --- a/target/linux/mvebu/patches-3.8/016-arm_cache_l2x0_aurora_invalidate.patch +++ /dev/null @@ -1,52 +0,0 @@ -From e84ed03e1c5d45305fdd9b872e0b7be97bcfda16 Mon Sep 17 00:00:00 2001 -From: Gregory CLEMENT <gregory.clement@free-electrons.com> -Date: Thu, 13 Dec 2012 15:03:27 +0100 -Subject: [PATCH] arm: cache-l2x0: aurora: Invalidate during clean operation - with WT enable - -This patch fixes a bug for Aurora L2 cache controller when the -write-through mode is enable. For the clean operation even if we don't -have to flush the lines we still need to invalidate them. - -Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> ---- - arch/arm/mm/cache-l2x0.c | 22 ++++++++++++++-------- - 1 file changed, 14 insertions(+), 8 deletions(-) - -diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c -index 6911b8b..7ffe943 100644 ---- a/arch/arm/mm/cache-l2x0.c -+++ b/arch/arm/mm/cache-l2x0.c -@@ -505,15 +505,21 @@ static void aurora_clean_range(unsigned long start, unsigned long end) - - static void aurora_flush_range(unsigned long start, unsigned long end) - { -- if (!l2_wt_override) { -- start &= ~(CACHE_LINE_SIZE - 1); -- end = ALIGN(end, CACHE_LINE_SIZE); -- while (start != end) { -- unsigned long range_end = calc_range_end(start, end); -+ start &= ~(CACHE_LINE_SIZE - 1); -+ end = ALIGN(end, CACHE_LINE_SIZE); -+ while (start != end) { -+ unsigned long range_end = calc_range_end(start, end); -+ /* -+ * If L2 is forced to WT, the L2 will always be clean and we -+ * just need to invalidate. -+ */ -+ if (l2_wt_override) - aurora_pa_range(start, range_end - CACHE_LINE_SIZE, -- AURORA_FLUSH_RANGE_REG); -- start = range_end; -- } -+ AURORA_INVAL_RANGE_REG); -+ else -+ aurora_pa_range(start, range_end - CACHE_LINE_SIZE, -+ AURORA_FLUSH_RANGE_REG); -+ start = range_end; - } - } - --- -1.7.10.4 - diff --git a/target/linux/mvebu/patches-3.8/017-arm_cache_l2x0_aurora_use_writel_relaxed.patch b/target/linux/mvebu/patches-3.8/017-arm_cache_l2x0_aurora_use_writel_relaxed.patch deleted file mode 100644 index 5f5ba11d79..0000000000 --- a/target/linux/mvebu/patches-3.8/017-arm_cache_l2x0_aurora_use_writel_relaxed.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 6c8928f877a1572f16cfc8a0c055d7e16320c741 Mon Sep 17 00:00:00 2001 -From: Gregory CLEMENT <gregory.clement@free-electrons.com> -Date: Thu, 13 Dec 2012 18:33:06 +0100 -Subject: [PATCH] arm: cache-l2x0: aurora: Use writel_relaxed instead of - writel - -The use of writel instead of writel_relaxed lead to deadlock in some -situation (SMP on Armada 370 for instance). The use of writel_relaxed -as it was done in the rest of this driver fixes this bug. - -Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> ---- - arch/arm/mm/cache-l2x0.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c -index 7ffe943..96a1ae4 100644 ---- a/arch/arm/mm/cache-l2x0.c -+++ b/arch/arm/mm/cache-l2x0.c -@@ -459,8 +459,8 @@ static void aurora_pa_range(unsigned long start, unsigned long end, - unsigned long flags; - - raw_spin_lock_irqsave(&l2x0_lock, flags); -- writel(start, l2x0_base + AURORA_RANGE_BASE_ADDR_REG); -- writel(end, l2x0_base + offset); -+ writel_relaxed(start, l2x0_base + AURORA_RANGE_BASE_ADDR_REG); -+ writel_relaxed(end, l2x0_base + offset); - raw_spin_unlock_irqrestore(&l2x0_lock, flags); - - cache_sync(); -@@ -674,8 +674,9 @@ static void pl310_resume(void) - static void aurora_resume(void) - { - if (!(readl(l2x0_base + L2X0_CTRL) & L2X0_CTRL_EN)) { -- writel(l2x0_saved_regs.aux_ctrl, l2x0_base + L2X0_AUX_CTRL); -- writel(l2x0_saved_regs.ctrl, l2x0_base + L2X0_CTRL); -+ writel_relaxed(l2x0_saved_regs.aux_ctrl, -+ l2x0_base + L2X0_AUX_CTRL); -+ writel_relaxed(l2x0_saved_regs.ctrl, l2x0_base + L2X0_CTRL); - } - } - --- -1.7.10.4 - diff --git a/target/linux/mvebu/patches-3.8/018-arm_mvebu_dw_apb_uart.patch b/target/linux/mvebu/patches-3.8/018-arm_mvebu_dw_apb_uart.patch deleted file mode 100644 index 29c199cad4..0000000000 --- a/target/linux/mvebu/patches-3.8/018-arm_mvebu_dw_apb_uart.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 3487b074a742bc3300683e91e3ade383b659fbe9 Mon Sep 17 00:00:00 2001 -From: Gregory CLEMENT <gregory.clement@free-electrons.com> -Date: Tue, 4 Dec 2012 18:04:59 +0100 -Subject: [PATCH] arm: mvebu: Use dw-apb-uart instead of ns16650 as UART - driver - -The UART controller used in the Armada 370 and Armada XP SoCs is the -Synopsys DesignWare 8250 (aka Synopsys DesignWare ABP UART). The -improper use of the ns16550 can lead to a kernel oops during boot if -a character is sent to the UART before the initialization of the -driver. The DW APB has an extra interrupt that gets raised when -writing to the LCR when busy. This explains why we need to use -dw-apb-uart driver to handle this. - -Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> ---- - arch/arm/boot/dts/armada-370-xp.dtsi | 6 ++++-- - arch/arm/boot/dts/armada-xp.dtsi | 6 ++++-- - arch/arm/configs/mvebu_defconfig | 1 + - 3 files changed, 9 insertions(+), 4 deletions(-) - -diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi -index cf6c48a..4c0abe8 100644 ---- a/arch/arm/boot/dts/armada-370-xp.dtsi -+++ b/arch/arm/boot/dts/armada-370-xp.dtsi -@@ -50,17 +50,19 @@ - ranges; - - serial@d0012000 { -- compatible = "ns16550"; -+ compatible = "snps,dw-apb-uart"; - reg = <0xd0012000 0x100>; - reg-shift = <2>; - interrupts = <41>; -+ reg-io-width = <4>; - status = "disabled"; - }; - serial@d0012100 { -- compatible = "ns16550"; -+ compatible = "snps,dw-apb-uart"; - reg = <0xd0012100 0x100>; - reg-shift = <2>; - interrupts = <42>; -+ reg-io-width = <4>; - status = "disabled"; - }; - -diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi -index 367aa3f..8a85ffe 100644 ---- a/arch/arm/boot/dts/armada-xp.dtsi -+++ b/arch/arm/boot/dts/armada-xp.dtsi -@@ -42,17 +42,19 @@ - - soc { - serial@d0012200 { -- compatible = "ns16550"; -+ compatible = "snps,dw-apb-uart"; - reg = <0xd0012200 0x100>; - reg-shift = <2>; - interrupts = <43>; -+ reg-io-width = <4>; - status = "disabled"; - }; - serial@d0012300 { -- compatible = "ns16550"; -+ compatible = "snps,dw-apb-uart"; - reg = <0xd0012300 0x100>; - reg-shift = <2>; - interrupts = <44>; -+ reg-io-width = <4>; - status = "disabled"; - }; - -diff --git a/arch/arm/configs/mvebu_defconfig b/arch/arm/configs/mvebu_defconfig -index a702fb3..3ba35f1 100644 ---- a/arch/arm/configs/mvebu_defconfig -+++ b/arch/arm/configs/mvebu_defconfig -@@ -34,6 +34,7 @@ CONFIG_MARVELL_PHY=y - CONFIG_SERIAL_8250=y - CONFIG_SERIAL_8250_CONSOLE=y - CONFIG_SERIAL_OF_PLATFORM=y -+CONFIG_SERIAL_8250_DW=y - CONFIG_I2C=y - CONFIG_I2C_MV64XXX=y - CONFIG_GPIOLIB=y --- -1.7.10.4 - |