From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: netdev@vger.kernel.org
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Subject: [PATCH 03/10] ftgmac100: Disable HW checksum generation on AST2400, enable on others
Date: Tue, 11 Apr 2017 11:04:29 +1000 [thread overview]
Message-ID: <20170411010436.23290-4-benh@kernel.crashing.org> (raw)
In-Reply-To: <20170411010436.23290-1-benh@kernel.crashing.org>
We found out that HW checksum generation only works from AST2500
onward. This disables it on AST2400 and removes the "no-hw-checksum"
properties in the device-trees. The problem we had wasn't related
to NC-SI.
Also rework the logic testing for that property so it can be used
to disable HW checksum generation and checking regardless of whether
NC-SI is used or not in case other variants out there need this.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
arch/arm/boot/dts/aspeed-g4.dtsi | 2 --
arch/arm/boot/dts/aspeed-g5.dtsi | 2 --
drivers/net/ethernet/faraday/ftgmac100.c | 12 ++++++------
3 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
index 6068e79..c79c937 100644
--- a/arch/arm/boot/dts/aspeed-g4.dtsi
+++ b/arch/arm/boot/dts/aspeed-g4.dtsi
@@ -45,7 +45,6 @@
compatible = "aspeed,ast2400-mac", "faraday,ftgmac100";
reg = <0x1e660000 0x180>;
interrupts = <2>;
- no-hw-checksum;
status = "disabled";
};
@@ -53,7 +52,6 @@
compatible = "aspeed,ast2400-mac", "faraday,ftgmac100";
reg = <0x1e680000 0x180>;
interrupts = <3>;
- no-hw-checksum;
status = "disabled";
};
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
index 4dbe91a..b659663 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
@@ -36,7 +36,6 @@
compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
reg = <0x1e660000 0x180>;
interrupts = <2>;
- no-hw-checksum;
status = "disabled";
};
@@ -44,7 +43,6 @@
compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
reg = <0x1e680000 0x180>;
interrupts = <3>;
- no-hw-checksum;
status = "disabled";
};
diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c
index 5e04717..3c68823 100644
--- a/drivers/net/ethernet/faraday/ftgmac100.c
+++ b/drivers/net/ethernet/faraday/ftgmac100.c
@@ -1462,15 +1462,15 @@ static int ftgmac100_probe(struct platform_device *pdev)
goto err_setup_mdio;
}
- /* We have to disable on-chip IP checksum functionality
- * when NCSI is enabled on the interface. It doesn't work
- * in that case.
- */
+ /* Base feature set */
netdev->features = NETIF_F_RXCSUM | NETIF_F_HW_CSUM |
NETIF_F_GRO | NETIF_F_SG;
- if (priv->use_ncsi &&
- of_get_property(np, "no-hw-checksum", NULL))
+
+ /* AST2400 doesn't have working HW checksum generation */
+ if (np && (of_device_is_compatible(np, "aspeed,ast2400-mac")))
netdev->features &= ~NETIF_F_HW_CSUM;
+ if (np && of_get_property(np, "no-hw-checksum", NULL))
+ netdev->features &= ~(NETIF_F_HW_CSUM | NETIF_F_RXCSUM);
/* register network device */
err = register_netdev(netdev);
--
2.9.3
next prev parent reply other threads:[~2017-04-11 1:05 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-11 1:04 [PATCH 00/10] ftgmac100: Rework batch 4 - Misc Benjamin Herrenschmidt
2017-04-11 1:04 ` [PATCH 01/10] ftgmac100: Upgrade to NETIF_F_HW_CSUM Benjamin Herrenschmidt
2017-04-11 10:57 ` Sergei Shtylyov
2017-04-11 11:13 ` Benjamin Herrenschmidt
2017-04-11 13:50 ` Benjamin Herrenschmidt
2017-04-11 15:27 ` David Miller
2017-04-11 22:06 ` Benjamin Herrenschmidt
2017-04-11 23:36 ` Benjamin Herrenschmidt
2017-04-12 0:03 ` David Miller
2017-04-12 0:08 ` Benjamin Herrenschmidt
2017-04-11 1:04 ` [PATCH 02/10] ftgmac100: Use device "compatible" property, not machine Benjamin Herrenschmidt
2017-04-11 1:04 ` Benjamin Herrenschmidt [this message]
2017-04-11 1:04 ` [PATCH 04/10] ftgmac100: Set netdev->hw_features Benjamin Herrenschmidt
2017-04-11 1:04 ` [PATCH 05/10] ftgmac100: Rename ftgmac100_set_mac to ftgmac100_write_mac_addr Benjamin Herrenschmidt
2017-04-11 1:04 ` [PATCH 06/10] ftgmac100: Rename ftgmac100_setup_mac to ftgmac100_initial_mac Benjamin Herrenschmidt
2017-04-11 1:04 ` [PATCH 07/10] ftgmac100: Open code remaining register writes Benjamin Herrenschmidt
2017-04-11 1:04 ` [PATCH 08/10] ftgmac100: Add more register inits in ftgmac100_init_hw() Benjamin Herrenschmidt
2017-04-11 1:04 ` [PATCH 09/10] ftgmac100: Make ring sizes configurable via ethtool Benjamin Herrenschmidt
2017-04-11 1:04 ` [PATCH 10/10] ftgmac100: Set default ring sizes to 128 entries Benjamin Herrenschmidt
2017-04-11 1:08 ` [PATCH 00/10] ftgmac100: Rework batch 4 - Misc Benjamin Herrenschmidt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170411010436.23290-4-benh@kernel.crashing.org \
--to=benh@kernel.crashing.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).