kernel: backport mainlined bgmac patches from 3.19
authorRafał Miłecki <zajec5@gmail.com>
Wed, 11 Feb 2015 17:35:09 +0000 (17:35 +0000)
committerRafał Miłecki <zajec5@gmail.com>
Wed, 11 Feb 2015 17:35:09 +0000 (17:35 +0000)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 44410

target/linux/generic/patches-3.14/074-bgmac-register-napi-before-the-device.patch [new file with mode: 0644]
target/linux/generic/patches-3.14/075-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch [new file with mode: 0644]
target/linux/generic/patches-3.14/771-bgmac-register-napi-before-the-device.patch [deleted file]
target/linux/generic/patches-3.14/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch [deleted file]
target/linux/generic/patches-3.18/070-bgmac-register-napi-before-the-device.patch [new file with mode: 0644]
target/linux/generic/patches-3.18/071-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch [new file with mode: 0644]
target/linux/generic/patches-3.18/771-bgmac-register-napi-before-the-device.patch [deleted file]
target/linux/generic/patches-3.18/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch [deleted file]

diff --git a/target/linux/generic/patches-3.14/074-bgmac-register-napi-before-the-device.patch b/target/linux/generic/patches-3.14/074-bgmac-register-napi-before-the-device.patch
new file mode 100644 (file)
index 0000000..2eba9ee
--- /dev/null
@@ -0,0 +1,49 @@
+From 6216642f200258708e47170ff14ba8ecb486f4f0 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Sun, 18 Jan 2015 19:49:58 +0100
+Subject: [PATCH] bgmac: register napi before the device
+
+napi should get registered before the netdev and not after.
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/ethernet/broadcom/bgmac.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
+index 05c6af6..aa9f950 100644
+--- a/drivers/net/ethernet/broadcom/bgmac.c
++++ b/drivers/net/ethernet/broadcom/bgmac.c
+@@ -1515,6 +1515,8 @@ static int bgmac_probe(struct bcma_device *core)
+       if (core->bus->sprom.boardflags_lo & BGMAC_BFL_ENETADM)
+               bgmac_warn(bgmac, "Support for ADMtek ethernet switch not implemented\n");
++      netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT);
++
+       err = bgmac_mii_register(bgmac);
+       if (err) {
+               bgmac_err(bgmac, "Cannot register MDIO\n");
+@@ -1529,8 +1531,6 @@ static int bgmac_probe(struct bcma_device *core)
+       netif_carrier_off(net_dev);
+-      netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT);
+-
+       return 0;
+ err_mii_unregister:
+@@ -1549,9 +1549,9 @@ static void bgmac_remove(struct bcma_device *core)
+ {
+       struct bgmac *bgmac = bcma_get_drvdata(core);
+-      netif_napi_del(&bgmac->napi);
+       unregister_netdev(bgmac->net_dev);
+       bgmac_mii_unregister(bgmac);
++      netif_napi_del(&bgmac->napi);
+       bgmac_dma_free(bgmac);
+       bcma_set_drvdata(core, NULL);
+       free_netdev(bgmac->net_dev);
+-- 
+1.8.4.5
+
diff --git a/target/linux/generic/patches-3.14/075-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch b/target/linux/generic/patches-3.14/075-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch
new file mode 100644 (file)
index 0000000..506d8c6
--- /dev/null
@@ -0,0 +1,35 @@
+From 43f159c60a99318b1ef7d1d7c16c4dfdd06bfd90 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Sun, 18 Jan 2015 19:49:59 +0100
+Subject: [PATCH] bgmac: activate irqs only if there is nothing to poll
+
+IRQs should only get activated when there is nothing to poll in the
+queue any more and to after every poll.
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/ethernet/broadcom/bgmac.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
+index aa9f950..3007d95 100644
+--- a/drivers/net/ethernet/broadcom/bgmac.c
++++ b/drivers/net/ethernet/broadcom/bgmac.c
+@@ -1167,10 +1167,10 @@ static int bgmac_poll(struct napi_struct *napi, int weight)
+               bgmac->int_status = 0;
+       }
+-      if (handled < weight)
++      if (handled < weight) {
+               napi_complete(napi);
+-
+-      bgmac_chip_intrs_on(bgmac);
++              bgmac_chip_intrs_on(bgmac);
++      }
+       return handled;
+ }
+-- 
+1.8.4.5
+
diff --git a/target/linux/generic/patches-3.14/771-bgmac-register-napi-before-the-device.patch b/target/linux/generic/patches-3.14/771-bgmac-register-napi-before-the-device.patch
deleted file mode 100644 (file)
index 56248c6..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From d5b4e70e8c205a67e2e246908b259367ab9ccecf Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Mon, 8 Dec 2014 08:27:23 +0100
-Subject: [PATCH 2/4] bgmac: register napi before the device
-
-napi should get registered before the netdev and not after.
-
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- drivers/net/ethernet/broadcom/bgmac.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/drivers/net/ethernet/broadcom/bgmac.c
-+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1515,6 +1515,8 @@ static int bgmac_probe(struct bcma_devic
-       if (core->bus->sprom.boardflags_lo & BGMAC_BFL_ENETADM)
-               bgmac_warn(bgmac, "Support for ADMtek ethernet switch not implemented\n");
-+      netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT);
-+
-       err = bgmac_mii_register(bgmac);
-       if (err) {
-               bgmac_err(bgmac, "Cannot register MDIO\n");
-@@ -1529,8 +1531,6 @@ static int bgmac_probe(struct bcma_devic
-       netif_carrier_off(net_dev);
--      netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT);
--
-       return 0;
- err_mii_unregister:
-@@ -1549,9 +1549,9 @@ static void bgmac_remove(struct bcma_dev
- {
-       struct bgmac *bgmac = bcma_get_drvdata(core);
--      netif_napi_del(&bgmac->napi);
-       unregister_netdev(bgmac->net_dev);
-       bgmac_mii_unregister(bgmac);
-+      netif_napi_del(&bgmac->napi);
-       bgmac_dma_free(bgmac);
-       bcma_set_drvdata(core, NULL);
-       free_netdev(bgmac->net_dev);
diff --git a/target/linux/generic/patches-3.14/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch b/target/linux/generic/patches-3.14/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch
deleted file mode 100644 (file)
index b494998..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From fbd3b188fbaa861165a074c454d8f8dcf15343a0 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Mon, 8 Dec 2014 08:47:10 +0100
-Subject: [PATCH 3/4] bgmac: activate irqs only if there is nothing to poll
-
-IRQs should only get activated when there is nothing to poll in the
-queue any more and to after every poll.
-
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- drivers/net/ethernet/broadcom/bgmac.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/drivers/net/ethernet/broadcom/bgmac.c
-+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1167,10 +1167,10 @@ static int bgmac_poll(struct napi_struct
-               bgmac->int_status = 0;
-       }
--      if (handled < weight)
-+      if (handled < weight) {
-               napi_complete(napi);
--
--      bgmac_chip_intrs_on(bgmac);
-+              bgmac_chip_intrs_on(bgmac);
-+      }
-       return handled;
- }
diff --git a/target/linux/generic/patches-3.18/070-bgmac-register-napi-before-the-device.patch b/target/linux/generic/patches-3.18/070-bgmac-register-napi-before-the-device.patch
new file mode 100644 (file)
index 0000000..2eba9ee
--- /dev/null
@@ -0,0 +1,49 @@
+From 6216642f200258708e47170ff14ba8ecb486f4f0 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Sun, 18 Jan 2015 19:49:58 +0100
+Subject: [PATCH] bgmac: register napi before the device
+
+napi should get registered before the netdev and not after.
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/ethernet/broadcom/bgmac.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
+index 05c6af6..aa9f950 100644
+--- a/drivers/net/ethernet/broadcom/bgmac.c
++++ b/drivers/net/ethernet/broadcom/bgmac.c
+@@ -1515,6 +1515,8 @@ static int bgmac_probe(struct bcma_device *core)
+       if (core->bus->sprom.boardflags_lo & BGMAC_BFL_ENETADM)
+               bgmac_warn(bgmac, "Support for ADMtek ethernet switch not implemented\n");
++      netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT);
++
+       err = bgmac_mii_register(bgmac);
+       if (err) {
+               bgmac_err(bgmac, "Cannot register MDIO\n");
+@@ -1529,8 +1531,6 @@ static int bgmac_probe(struct bcma_device *core)
+       netif_carrier_off(net_dev);
+-      netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT);
+-
+       return 0;
+ err_mii_unregister:
+@@ -1549,9 +1549,9 @@ static void bgmac_remove(struct bcma_device *core)
+ {
+       struct bgmac *bgmac = bcma_get_drvdata(core);
+-      netif_napi_del(&bgmac->napi);
+       unregister_netdev(bgmac->net_dev);
+       bgmac_mii_unregister(bgmac);
++      netif_napi_del(&bgmac->napi);
+       bgmac_dma_free(bgmac);
+       bcma_set_drvdata(core, NULL);
+       free_netdev(bgmac->net_dev);
+-- 
+1.8.4.5
+
diff --git a/target/linux/generic/patches-3.18/071-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch b/target/linux/generic/patches-3.18/071-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch
new file mode 100644 (file)
index 0000000..506d8c6
--- /dev/null
@@ -0,0 +1,35 @@
+From 43f159c60a99318b1ef7d1d7c16c4dfdd06bfd90 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Sun, 18 Jan 2015 19:49:59 +0100
+Subject: [PATCH] bgmac: activate irqs only if there is nothing to poll
+
+IRQs should only get activated when there is nothing to poll in the
+queue any more and to after every poll.
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/ethernet/broadcom/bgmac.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
+index aa9f950..3007d95 100644
+--- a/drivers/net/ethernet/broadcom/bgmac.c
++++ b/drivers/net/ethernet/broadcom/bgmac.c
+@@ -1167,10 +1167,10 @@ static int bgmac_poll(struct napi_struct *napi, int weight)
+               bgmac->int_status = 0;
+       }
+-      if (handled < weight)
++      if (handled < weight) {
+               napi_complete(napi);
+-
+-      bgmac_chip_intrs_on(bgmac);
++              bgmac_chip_intrs_on(bgmac);
++      }
+       return handled;
+ }
+-- 
+1.8.4.5
+
diff --git a/target/linux/generic/patches-3.18/771-bgmac-register-napi-before-the-device.patch b/target/linux/generic/patches-3.18/771-bgmac-register-napi-before-the-device.patch
deleted file mode 100644 (file)
index 56248c6..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From d5b4e70e8c205a67e2e246908b259367ab9ccecf Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Mon, 8 Dec 2014 08:27:23 +0100
-Subject: [PATCH 2/4] bgmac: register napi before the device
-
-napi should get registered before the netdev and not after.
-
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- drivers/net/ethernet/broadcom/bgmac.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/drivers/net/ethernet/broadcom/bgmac.c
-+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1515,6 +1515,8 @@ static int bgmac_probe(struct bcma_devic
-       if (core->bus->sprom.boardflags_lo & BGMAC_BFL_ENETADM)
-               bgmac_warn(bgmac, "Support for ADMtek ethernet switch not implemented\n");
-+      netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT);
-+
-       err = bgmac_mii_register(bgmac);
-       if (err) {
-               bgmac_err(bgmac, "Cannot register MDIO\n");
-@@ -1529,8 +1531,6 @@ static int bgmac_probe(struct bcma_devic
-       netif_carrier_off(net_dev);
--      netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT);
--
-       return 0;
- err_mii_unregister:
-@@ -1549,9 +1549,9 @@ static void bgmac_remove(struct bcma_dev
- {
-       struct bgmac *bgmac = bcma_get_drvdata(core);
--      netif_napi_del(&bgmac->napi);
-       unregister_netdev(bgmac->net_dev);
-       bgmac_mii_unregister(bgmac);
-+      netif_napi_del(&bgmac->napi);
-       bgmac_dma_free(bgmac);
-       bcma_set_drvdata(core, NULL);
-       free_netdev(bgmac->net_dev);
diff --git a/target/linux/generic/patches-3.18/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch b/target/linux/generic/patches-3.18/772-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch
deleted file mode 100644 (file)
index b494998..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From fbd3b188fbaa861165a074c454d8f8dcf15343a0 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Mon, 8 Dec 2014 08:47:10 +0100
-Subject: [PATCH 3/4] bgmac: activate irqs only if there is nothing to poll
-
-IRQs should only get activated when there is nothing to poll in the
-queue any more and to after every poll.
-
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- drivers/net/ethernet/broadcom/bgmac.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/drivers/net/ethernet/broadcom/bgmac.c
-+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1167,10 +1167,10 @@ static int bgmac_poll(struct napi_struct
-               bgmac->int_status = 0;
-       }
--      if (handled < weight)
-+      if (handled < weight) {
-               napi_complete(napi);
--
--      bgmac_chip_intrs_on(bgmac);
-+              bgmac_chip_intrs_on(bgmac);
-+      }
-       return handled;
- }