From: Sasha Levin Date: Thu, 15 Nov 2018 17:16:25 +0000 (-0500) Subject: stratix10 fixes for 4.19 and 4.18 X-Git-Tag: v4.19.3~40 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c86d40cb7c50e6e20cb174358750b1d653b7447c;p=thirdparty%2Fkernel%2Fstable-queue.git stratix10 fixes for 4.19 and 4.18 Signed-off-by: Sasha Levin --- diff --git a/queue-4.18/arm64-dts-stratix10-fix-multicast-filtering.patch b/queue-4.18/arm64-dts-stratix10-fix-multicast-filtering.patch new file mode 100644 index 00000000000..03c1b85dc8a --- /dev/null +++ b/queue-4.18/arm64-dts-stratix10-fix-multicast-filtering.patch @@ -0,0 +1,52 @@ +From 99a80c62505b4a4fbe9649635ac73dfa5a0e3f65 Mon Sep 17 00:00:00 2001 +From: Aaro Koskinen +Date: Mon, 12 Nov 2018 14:50:22 -0600 +Subject: arm64: dts: stratix10: fix multicast filtering + +commit fd5ba6ee3187617287fb9cb187e3d6b3631210a3 upstream + +On Stratix 10, the EMAC has 256 hash buckets for multicast filtering. This +needs to be specified in DTS, otherwise the stmmac driver defaults to 64 +buckets and initializes the filter incorrectly. As a result, e.g. valid +IPv6 multicast traffic ends up being dropped. + +Fixes: 78cd6a9d8e15 ("arm64: dts: Add base stratix 10 dtsi") +Cc: stable@vger.kernel.org +Signed-off-by: Aaro Koskinen +Signed-off-by: Dinh Nguyen +Signed-off-by: Sasha Levin +--- + arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi +index 22f88188b0f5..6c8bd13d64b8 100644 +--- a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi ++++ b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi +@@ -133,6 +133,7 @@ + clock-names = "stmmaceth"; + tx-fifo-depth = <16384>; + rx-fifo-depth = <16384>; ++ snps,multicast-filter-bins = <256>; + status = "disabled"; + }; + +@@ -148,6 +149,7 @@ + clock-names = "stmmaceth"; + tx-fifo-depth = <16384>; + rx-fifo-depth = <16384>; ++ snps,multicast-filter-bins = <256>; + status = "disabled"; + }; + +@@ -163,6 +165,7 @@ + clock-names = "stmmaceth"; + tx-fifo-depth = <16384>; + rx-fifo-depth = <16384>; ++ snps,multicast-filter-bins = <256>; + status = "disabled"; + }; + +-- +2.17.1 + diff --git a/queue-4.18/arm64-dts-stratix10-support-ethernet-jumbo-frame.patch b/queue-4.18/arm64-dts-stratix10-support-ethernet-jumbo-frame.patch new file mode 100644 index 00000000000..c6f9811fab0 --- /dev/null +++ b/queue-4.18/arm64-dts-stratix10-support-ethernet-jumbo-frame.patch @@ -0,0 +1,66 @@ +From a01bc5f5ce39945e3a2372f8ebf5380550192775 Mon Sep 17 00:00:00 2001 +From: Thor Thayer +Date: Mon, 12 Nov 2018 14:50:21 -0600 +Subject: arm64: dts: stratix10: Support Ethernet Jumbo frame + +commit a27460c9768ee19949c5b91f3d959ccd88c2a64a upstream + +Properly specify the RX and TX FIFO size which is important +for Jumbo frames. +Update the max-frame-size to support Jumbo frames. + +Signed-off-by: Thor Thayer +Signed-off-by: David S. Miller +Signed-off-by: Sasha Levin +--- + arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi | 6 ++++++ + arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts | 2 +- + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi +index 3989876ab699..22f88188b0f5 100644 +--- a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi ++++ b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi +@@ -131,6 +131,8 @@ + reset-names = "stmmaceth"; + clocks = <&clkmgr STRATIX10_EMAC0_CLK>; + clock-names = "stmmaceth"; ++ tx-fifo-depth = <16384>; ++ rx-fifo-depth = <16384>; + status = "disabled"; + }; + +@@ -144,6 +146,8 @@ + reset-names = "stmmaceth"; + clocks = <&clkmgr STRATIX10_EMAC1_CLK>; + clock-names = "stmmaceth"; ++ tx-fifo-depth = <16384>; ++ rx-fifo-depth = <16384>; + status = "disabled"; + }; + +@@ -157,6 +161,8 @@ + reset-names = "stmmaceth"; + clocks = <&clkmgr STRATIX10_EMAC2_CLK>; + clock-names = "stmmaceth"; ++ tx-fifo-depth = <16384>; ++ rx-fifo-depth = <16384>; + status = "disabled"; + }; + +diff --git a/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts b/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts +index f9b1ef12db48..fb1b9ddd9f51 100644 +--- a/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts ++++ b/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts +@@ -76,7 +76,7 @@ + phy-mode = "rgmii"; + phy-handle = <&phy0>; + +- max-frame-size = <3800>; ++ max-frame-size = <9000>; + + mdio0 { + #address-cells = <1>; +-- +2.17.1 + diff --git a/queue-4.18/series b/queue-4.18/series index fb1bbfaf3be..2e57e9bfbc2 100644 --- a/queue-4.18/series +++ b/queue-4.18/series @@ -49,3 +49,5 @@ fuse-set-fr_sent-while-locked.patch ovl-fix-recursive-oi-lock-in-ovl_link.patch scsi-qla2xxx-fix-re-using-loopid-when-handle-is-in-use.patch scsi-qla2xxx-fix-nvme-session-hang-on-unload.patch +arm64-dts-stratix10-support-ethernet-jumbo-frame.patch +arm64-dts-stratix10-fix-multicast-filtering.patch diff --git a/queue-4.19/arm64-dts-stratix10-fix-multicast-filtering.patch b/queue-4.19/arm64-dts-stratix10-fix-multicast-filtering.patch new file mode 100644 index 00000000000..c9a0f9bca42 --- /dev/null +++ b/queue-4.19/arm64-dts-stratix10-fix-multicast-filtering.patch @@ -0,0 +1,52 @@ +From 1522df066fceaaf7a4403eea81762c6905d07df1 Mon Sep 17 00:00:00 2001 +From: Aaro Koskinen +Date: Mon, 12 Nov 2018 14:50:22 -0600 +Subject: arm64: dts: stratix10: fix multicast filtering + +commit fd5ba6ee3187617287fb9cb187e3d6b3631210a3 upstream + +On Stratix 10, the EMAC has 256 hash buckets for multicast filtering. This +needs to be specified in DTS, otherwise the stmmac driver defaults to 64 +buckets and initializes the filter incorrectly. As a result, e.g. valid +IPv6 multicast traffic ends up being dropped. + +Fixes: 78cd6a9d8e15 ("arm64: dts: Add base stratix 10 dtsi") +Cc: stable@vger.kernel.org +Signed-off-by: Aaro Koskinen +Signed-off-by: Dinh Nguyen +Signed-off-by: Sasha Levin +--- + arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi +index 003677e273a5..5089aa64088f 100644 +--- a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi ++++ b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi +@@ -139,6 +139,7 @@ + clock-names = "stmmaceth"; + tx-fifo-depth = <16384>; + rx-fifo-depth = <16384>; ++ snps,multicast-filter-bins = <256>; + status = "disabled"; + }; + +@@ -154,6 +155,7 @@ + clock-names = "stmmaceth"; + tx-fifo-depth = <16384>; + rx-fifo-depth = <16384>; ++ snps,multicast-filter-bins = <256>; + status = "disabled"; + }; + +@@ -169,6 +171,7 @@ + clock-names = "stmmaceth"; + tx-fifo-depth = <16384>; + rx-fifo-depth = <16384>; ++ snps,multicast-filter-bins = <256>; + status = "disabled"; + }; + +-- +2.17.1 + diff --git a/queue-4.19/arm64-dts-stratix10-support-ethernet-jumbo-frame.patch b/queue-4.19/arm64-dts-stratix10-support-ethernet-jumbo-frame.patch new file mode 100644 index 00000000000..48efe22e701 --- /dev/null +++ b/queue-4.19/arm64-dts-stratix10-support-ethernet-jumbo-frame.patch @@ -0,0 +1,66 @@ +From 9512dae8ae5f7fc3de0cb3ceb7bfac3b4414723c Mon Sep 17 00:00:00 2001 +From: Thor Thayer +Date: Mon, 12 Nov 2018 14:50:21 -0600 +Subject: arm64: dts: stratix10: Support Ethernet Jumbo frame + +commit a27460c9768ee19949c5b91f3d959ccd88c2a64a upstream + +Properly specify the RX and TX FIFO size which is important +for Jumbo frames. +Update the max-frame-size to support Jumbo frames. + +Signed-off-by: Thor Thayer +Signed-off-by: David S. Miller +Signed-off-by: Sasha Levin +--- + arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi | 6 ++++++ + arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts | 2 +- + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi +index bc6c141d7372..003677e273a5 100644 +--- a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi ++++ b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi +@@ -137,6 +137,8 @@ + reset-names = "stmmaceth", "stmmaceth-ocp"; + clocks = <&clkmgr STRATIX10_EMAC0_CLK>; + clock-names = "stmmaceth"; ++ tx-fifo-depth = <16384>; ++ rx-fifo-depth = <16384>; + status = "disabled"; + }; + +@@ -150,6 +152,8 @@ + reset-names = "stmmaceth", "stmmaceth-ocp"; + clocks = <&clkmgr STRATIX10_EMAC1_CLK>; + clock-names = "stmmaceth"; ++ tx-fifo-depth = <16384>; ++ rx-fifo-depth = <16384>; + status = "disabled"; + }; + +@@ -163,6 +167,8 @@ + reset-names = "stmmaceth", "stmmaceth-ocp"; + clocks = <&clkmgr STRATIX10_EMAC2_CLK>; + clock-names = "stmmaceth"; ++ tx-fifo-depth = <16384>; ++ rx-fifo-depth = <16384>; + status = "disabled"; + }; + +diff --git a/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts b/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts +index 6edc4fa9fd42..7c661753bfaf 100644 +--- a/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts ++++ b/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts +@@ -76,7 +76,7 @@ + phy-mode = "rgmii"; + phy-handle = <&phy0>; + +- max-frame-size = <3800>; ++ max-frame-size = <9000>; + + mdio0 { + #address-cells = <1>; +-- +2.17.1 + diff --git a/queue-4.19/series b/queue-4.19/series index c701c934651..9baabcc3c54 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -66,3 +66,5 @@ fuse-fix-use-after-free-in-fuse_dev_do_write.patch fuse-fix-blocked_waitq-wakeup.patch fuse-set-fr_sent-while-locked.patch drm-msm-fix-of-child-node-lookup.patch +arm64-dts-stratix10-support-ethernet-jumbo-frame.patch +arm64-dts-stratix10-fix-multicast-filtering.patch