Messages in this thread | | | Date | Fri, 21 Jul 2023 08:59:06 -0700 | Subject | Re: [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping | From | Florian Fainelli <> |
| |
On 7/21/2023 8:30 AM, Ng, Boon Khai wrote: >> -----Original Message----- >> From: Krzysztof Kozlowski <krzk@kernel.org> >> Sent: Friday, July 21, 2023 6:11 PM >> To: Boon@ecsmtp.png.intel.com; Khai@ecsmtp.png.intel.com; "Ng >> <boon.khai.ng"@intel.com; Giuseppe Cavallaro <peppe.cavallaro@st.com>; >> Alexandre Torgue <alexandre.torgue@foss.st.com>; Jose Abreu >> <joabreu@synopsys.com>; David S . Miller <davem@davemloft.net>; Eric >> Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; >> Paolo Abeni <pabeni@redhat.com>; Maxime Coquelin >> <mcoquelin.stm32@gmail.com>; netdev@vger.kernel.org; linux-stm32@st- >> md-mailman.stormreply.com; linux-arm-kernel@lists.infradead.org; linux- >> kernel@vger.kernel.org >> Cc: Ng, Boon Khai <boon.khai.ng@intel.com>; Shevchenko, Andriy >> <andriy.shevchenko@intel.com>; Tham, Mun Yew >> <mun.yew.tham@intel.com>; Swee, Leong Ching >> <leong.ching.swee@intel.com>; G Thomas, Rohan >> <rohan.g.thomas@intel.com>; Shevchenko Andriy >> <andriy.shevchenko@linux.intel.com> >> Subject: Re: [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: >> stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping >> >> On 21/07/2023 08:26, Boon@ecsmtp.png.intel.com wrote: >>> From: Boon Khai Ng <boon.khai.ng@intel.com> >>> >>> Currently, VLAN tag stripping is done by software driver in >>> stmmac_rx_vlan(). This patch is to Add support for VLAN tag stripping >>> by the MAC hardware and MAC drivers to support it. >>> This is done by adding rx_hw_vlan() and set_hw_vlan_mode() callbacks >>> at stmmac_ops struct which are called from upper software layer. >> ... >> >>> if (priv->dma_cap.vlhash) { >>> ndev->features |= NETIF_F_HW_VLAN_CTAG_FILTER; >>> ndev->features |= NETIF_F_HW_VLAN_STAG_FILTER; diff -- >> git >>> a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c >>> b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c >>> index 23d53ea04b24..bd7f3326a44c 100644 >>> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c >>> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c >>> @@ -543,6 +543,12 @@ stmmac_probe_config_dt(struct platform_device >> *pdev, u8 *mac) >>> plat->flags |= STMMAC_FLAG_TSO_EN; >>> } >>> >>> + /* Rx VLAN HW Stripping */ >>> + if (of_property_read_bool(np, "snps,rx-vlan-offload")) { >>> + dev_info(&pdev->dev, "RX VLAN HW Stripping\n"); >> >> Why? Drop. >> > > This is an dts option export to dts for user to choose whether or not they > Want a Hardware stripping or a software stripping. > > May I know what is the reason to drop this?
Because the networking stack already exposes knobs for drivers to advertise and control VLAN stripping/insertion on RX/TX using ethtool and feature bits (NETIF_F_HW_VLAN_CTAG_RX, NETIF_F_HW_VLAN_CTAG_TX).
What you are doing here is encode a policy as a Device Tree property rather than describe whether the hardware supports a given feature and this is frowned upon. -- Florian
| |