+++ /dev/null
-From 94c047ba0f334828fa522def4a0e7ba7eed8d1d3 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 26 May 2020 00:27:10 +0800
-Subject: net: ethernet: fec: move GPR register offset and bit into DT
-
-From: Fugang Duan <fugang.duan@nxp.com>
-
-[ Upstream commit 8a448bf832af537d26aa557d183a16943dce4510 ]
-
-The commit da722186f654 (net: fec: set GPR bit on suspend by DT
-configuration) set the GPR reigster offset and bit in driver for
-wake on lan feature.
-
-But it introduces two issues here:
-- one SOC has two instances, they have different bit
-- different SOCs may have different offset and bit
-
-So to support wake-on-lan feature on other i.MX platforms, it should
-configure the GPR reigster offset and bit from DT.
-
-So the patch is to improve the commit da722186f654 (net: fec: set GPR
-bit on suspend by DT configuration) to support multiple ethernet
-instances on i.MX series.
-
-v2:
- * switch back to store the quirks bitmask in driver_data
-v3:
- * suggested by Sascha Hauer, use a struct fec_devinfo for
- abstracting differences between different hardware variants,
- it can give more freedom to describe the differences.
-
-Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/ethernet/freescale/fec_main.c | 24 +++++++++++------------
- 1 file changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
-index 48c58f93b124..6702bc2dd92f 100644
---- a/drivers/net/ethernet/freescale/fec_main.c
-+++ b/drivers/net/ethernet/freescale/fec_main.c
-@@ -88,8 +88,6 @@ static void fec_enet_itr_coal_init(struct net_device *ndev);
-
- struct fec_devinfo {
- u32 quirks;
-- u8 stop_gpr_reg;
-- u8 stop_gpr_bit;
- };
-
- static const struct fec_devinfo fec_imx25_info = {
-@@ -112,8 +110,6 @@ static const struct fec_devinfo fec_imx6q_info = {
- FEC_QUIRK_HAS_BUFDESC_EX | FEC_QUIRK_HAS_CSUM |
- FEC_QUIRK_HAS_VLAN | FEC_QUIRK_ERR006358 |
- FEC_QUIRK_HAS_RACC,
-- .stop_gpr_reg = 0x34,
-- .stop_gpr_bit = 27,
- };
-
- static const struct fec_devinfo fec_mvf600_info = {
-@@ -3401,19 +3397,23 @@ static int fec_enet_get_irq_cnt(struct platform_device *pdev)
- }
-
- static int fec_enet_init_stop_mode(struct fec_enet_private *fep,
-- struct fec_devinfo *dev_info,
- struct device_node *np)
- {
- struct device_node *gpr_np;
-+ u32 out_val[3];
- int ret = 0;
-
-- if (!dev_info)
-- return 0;
--
-- gpr_np = of_parse_phandle(np, "gpr", 0);
-+ gpr_np = of_parse_phandle(np, "fsl,stop-mode", 0);
- if (!gpr_np)
- return 0;
-
-+ ret = of_property_read_u32_array(np, "fsl,stop-mode", out_val,
-+ ARRAY_SIZE(out_val));
-+ if (ret) {
-+ dev_dbg(&fep->pdev->dev, "no stop mode property\n");
-+ return ret;
-+ }
-+
- fep->stop_gpr.gpr = syscon_node_to_regmap(gpr_np);
- if (IS_ERR(fep->stop_gpr.gpr)) {
- dev_err(&fep->pdev->dev, "could not find gpr regmap\n");
-@@ -3422,8 +3422,8 @@ static int fec_enet_init_stop_mode(struct fec_enet_private *fep,
- goto out;
- }
-
-- fep->stop_gpr.reg = dev_info->stop_gpr_reg;
-- fep->stop_gpr.bit = dev_info->stop_gpr_bit;
-+ fep->stop_gpr.reg = out_val[1];
-+ fep->stop_gpr.bit = out_val[2];
-
- out:
- of_node_put(gpr_np);
-@@ -3501,7 +3501,7 @@ fec_probe(struct platform_device *pdev)
- if (of_get_property(np, "fsl,magic-packet", NULL))
- fep->wol_flag |= FEC_WOL_HAS_MAGIC_PACKET;
-
-- ret = fec_enet_init_stop_mode(fep, dev_info, np);
-+ ret = fec_enet_init_stop_mode(fep, np);
- if (ret)
- goto failed_stop_mode;
-
---
-2.25.1
-
x86-mm-stop-printing-brk-addresses.patch
m68k-mac-don-t-call-via_flush_cache-on-mac-iifx.patch
btrfs-qgroup-mark-qgroup-inconsistent-if-we-re-inher.patch
-net-ethernet-fec-move-gpr-register-offset-and-bit-in.patch
macvlan-skip-loopback-packets-in-rx-handler.patch
pci-don-t-disable-decoding-when-mmio_always_on-is-se.patch
mips-fix-irq-tracing-when-call-handle_fpe-and-handle.patch
+++ /dev/null
-From 96263828ec49a4b8ed43b423e22e453d0041738f Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 26 May 2020 00:27:10 +0800
-Subject: net: ethernet: fec: move GPR register offset and bit into DT
-
-From: Fugang Duan <fugang.duan@nxp.com>
-
-[ Upstream commit 8a448bf832af537d26aa557d183a16943dce4510 ]
-
-The commit da722186f654 (net: fec: set GPR bit on suspend by DT
-configuration) set the GPR reigster offset and bit in driver for
-wake on lan feature.
-
-But it introduces two issues here:
-- one SOC has two instances, they have different bit
-- different SOCs may have different offset and bit
-
-So to support wake-on-lan feature on other i.MX platforms, it should
-configure the GPR reigster offset and bit from DT.
-
-So the patch is to improve the commit da722186f654 (net: fec: set GPR
-bit on suspend by DT configuration) to support multiple ethernet
-instances on i.MX series.
-
-v2:
- * switch back to store the quirks bitmask in driver_data
-v3:
- * suggested by Sascha Hauer, use a struct fec_devinfo for
- abstracting differences between different hardware variants,
- it can give more freedom to describe the differences.
-
-Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/ethernet/freescale/fec_main.c | 24 +++++++++++------------
- 1 file changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
-index 39c112f1543c..f0acbfa31482 100644
---- a/drivers/net/ethernet/freescale/fec_main.c
-+++ b/drivers/net/ethernet/freescale/fec_main.c
-@@ -88,8 +88,6 @@ static void fec_enet_itr_coal_init(struct net_device *ndev);
-
- struct fec_devinfo {
- u32 quirks;
-- u8 stop_gpr_reg;
-- u8 stop_gpr_bit;
- };
-
- static const struct fec_devinfo fec_imx25_info = {
-@@ -112,8 +110,6 @@ static const struct fec_devinfo fec_imx6q_info = {
- FEC_QUIRK_HAS_BUFDESC_EX | FEC_QUIRK_HAS_CSUM |
- FEC_QUIRK_HAS_VLAN | FEC_QUIRK_ERR006358 |
- FEC_QUIRK_HAS_RACC,
-- .stop_gpr_reg = 0x34,
-- .stop_gpr_bit = 27,
- };
-
- static const struct fec_devinfo fec_mvf600_info = {
-@@ -3452,19 +3448,23 @@ static int fec_enet_get_irq_cnt(struct platform_device *pdev)
- }
-
- static int fec_enet_init_stop_mode(struct fec_enet_private *fep,
-- struct fec_devinfo *dev_info,
- struct device_node *np)
- {
- struct device_node *gpr_np;
-+ u32 out_val[3];
- int ret = 0;
-
-- if (!dev_info)
-- return 0;
--
-- gpr_np = of_parse_phandle(np, "gpr", 0);
-+ gpr_np = of_parse_phandle(np, "fsl,stop-mode", 0);
- if (!gpr_np)
- return 0;
-
-+ ret = of_property_read_u32_array(np, "fsl,stop-mode", out_val,
-+ ARRAY_SIZE(out_val));
-+ if (ret) {
-+ dev_dbg(&fep->pdev->dev, "no stop mode property\n");
-+ return ret;
-+ }
-+
- fep->stop_gpr.gpr = syscon_node_to_regmap(gpr_np);
- if (IS_ERR(fep->stop_gpr.gpr)) {
- dev_err(&fep->pdev->dev, "could not find gpr regmap\n");
-@@ -3473,8 +3473,8 @@ static int fec_enet_init_stop_mode(struct fec_enet_private *fep,
- goto out;
- }
-
-- fep->stop_gpr.reg = dev_info->stop_gpr_reg;
-- fep->stop_gpr.bit = dev_info->stop_gpr_bit;
-+ fep->stop_gpr.reg = out_val[1];
-+ fep->stop_gpr.bit = out_val[2];
-
- out:
- of_node_put(gpr_np);
-@@ -3550,7 +3550,7 @@ fec_probe(struct platform_device *pdev)
- if (of_get_property(np, "fsl,magic-packet", NULL))
- fep->wol_flag |= FEC_WOL_HAS_MAGIC_PACKET;
-
-- ret = fec_enet_init_stop_mode(fep, dev_info, np);
-+ ret = fec_enet_init_stop_mode(fep, np);
- if (ret)
- goto failed_stop_mode;
-
---
-2.25.1
-
m68k-mac-don-t-call-via_flush_cache-on-mac-iifx.patch
btrfs-improve-global-reserve-stealing-logic.patch
btrfs-qgroup-mark-qgroup-inconsistent-if-we-re-inher.patch
-net-ethernet-fec-move-gpr-register-offset-and-bit-in.patch
macvlan-skip-loopback-packets-in-rx-handler.patch
pci-don-t-disable-decoding-when-mmio_always_on-is-se.patch
mips-fix-irq-tracing-when-call-handle_fpe-and-handle.patch
+++ /dev/null
-From 8dafe65f4c0f953fc3ee4c013295a5ae285ea886 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 26 May 2020 00:27:10 +0800
-Subject: net: ethernet: fec: move GPR register offset and bit into DT
-
-From: Fugang Duan <fugang.duan@nxp.com>
-
-[ Upstream commit 8a448bf832af537d26aa557d183a16943dce4510 ]
-
-The commit da722186f654 (net: fec: set GPR bit on suspend by DT
-configuration) set the GPR reigster offset and bit in driver for
-wake on lan feature.
-
-But it introduces two issues here:
-- one SOC has two instances, they have different bit
-- different SOCs may have different offset and bit
-
-So to support wake-on-lan feature on other i.MX platforms, it should
-configure the GPR reigster offset and bit from DT.
-
-So the patch is to improve the commit da722186f654 (net: fec: set GPR
-bit on suspend by DT configuration) to support multiple ethernet
-instances on i.MX series.
-
-v2:
- * switch back to store the quirks bitmask in driver_data
-v3:
- * suggested by Sascha Hauer, use a struct fec_devinfo for
- abstracting differences between different hardware variants,
- it can give more freedom to describe the differences.
-
-Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/ethernet/freescale/fec_main.c | 24 +++++++++++------------
- 1 file changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
-index dc6f8763a5d4..2840dbad25cb 100644
---- a/drivers/net/ethernet/freescale/fec_main.c
-+++ b/drivers/net/ethernet/freescale/fec_main.c
-@@ -88,8 +88,6 @@ static void fec_enet_itr_coal_init(struct net_device *ndev);
-
- struct fec_devinfo {
- u32 quirks;
-- u8 stop_gpr_reg;
-- u8 stop_gpr_bit;
- };
-
- static const struct fec_devinfo fec_imx25_info = {
-@@ -112,8 +110,6 @@ static const struct fec_devinfo fec_imx6q_info = {
- FEC_QUIRK_HAS_BUFDESC_EX | FEC_QUIRK_HAS_CSUM |
- FEC_QUIRK_HAS_VLAN | FEC_QUIRK_ERR006358 |
- FEC_QUIRK_HAS_RACC,
-- .stop_gpr_reg = 0x34,
-- .stop_gpr_bit = 27,
- };
-
- static const struct fec_devinfo fec_mvf600_info = {
-@@ -3452,19 +3448,23 @@ static int fec_enet_get_irq_cnt(struct platform_device *pdev)
- }
-
- static int fec_enet_init_stop_mode(struct fec_enet_private *fep,
-- struct fec_devinfo *dev_info,
- struct device_node *np)
- {
- struct device_node *gpr_np;
-+ u32 out_val[3];
- int ret = 0;
-
-- if (!dev_info)
-- return 0;
--
-- gpr_np = of_parse_phandle(np, "gpr", 0);
-+ gpr_np = of_parse_phandle(np, "fsl,stop-mode", 0);
- if (!gpr_np)
- return 0;
-
-+ ret = of_property_read_u32_array(np, "fsl,stop-mode", out_val,
-+ ARRAY_SIZE(out_val));
-+ if (ret) {
-+ dev_dbg(&fep->pdev->dev, "no stop mode property\n");
-+ return ret;
-+ }
-+
- fep->stop_gpr.gpr = syscon_node_to_regmap(gpr_np);
- if (IS_ERR(fep->stop_gpr.gpr)) {
- dev_err(&fep->pdev->dev, "could not find gpr regmap\n");
-@@ -3473,8 +3473,8 @@ static int fec_enet_init_stop_mode(struct fec_enet_private *fep,
- goto out;
- }
-
-- fep->stop_gpr.reg = dev_info->stop_gpr_reg;
-- fep->stop_gpr.bit = dev_info->stop_gpr_bit;
-+ fep->stop_gpr.reg = out_val[1];
-+ fep->stop_gpr.bit = out_val[2];
-
- out:
- of_node_put(gpr_np);
-@@ -3551,7 +3551,7 @@ fec_probe(struct platform_device *pdev)
- if (of_get_property(np, "fsl,magic-packet", NULL))
- fep->wol_flag |= FEC_WOL_HAS_MAGIC_PACKET;
-
-- ret = fec_enet_init_stop_mode(fep, dev_info, np);
-+ ret = fec_enet_init_stop_mode(fep, np);
- if (ret)
- goto failed_stop_mode;
-
---
-2.25.1
-
btrfs-improve-global-reserve-stealing-logic.patch
btrfs-qgroup-mark-qgroup-inconsistent-if-we-re-inher.patch
acpi-video-use-native-backlight-on-acer-travelmate-5.patch
-net-ethernet-fec-move-gpr-register-offset-and-bit-in.patch
nvme-pci-make-sure-write-poll_queues-less-or-equal-t.patch
nvmet-fix-memory-leak-when-removing-namespaces-and-c.patch
macvlan-skip-loopback-packets-in-rx-handler.patch