* [Enable Designware XGMAC VLAN Stripping Feature 0/2] @ 2023-07-21 6:26 Boon, Khai, Ng <boon.khai.ng 2023-07-21 6:26 ` [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload Boon, Khai, Ng <boon.khai.ng 2023-07-21 6:26 ` [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping Boon, Khai, Ng <boon.khai.ng 0 siblings, 2 replies; 23+ messages in thread From: Boon, Khai, Ng <boon.khai.ng @ 2023-07-21 6:26 UTC (permalink / raw) To: Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev, linux-stm32, linux-arm-kernel, linux-kernel Cc: Boon Khai Ng, Shevchenko Andriy, Mun Yew Tham, Leong Ching Swee, G Thomas Rohan, Shevchenko Andriy From: Boon Khai Ng <boon.khai.ng@intel.com> Hi, The Designware 10G MAC(dwxgmac) driver has lack of vlan support in term of hardware, such as the hardware accelerated VLAN stripping. The driver was not draft from scratch, however it was ported from the Ethernet Quality-of-Service (dwmac4) driver, it was tested working on ourside. Reviewed-by: Shevchenko Andriy <andriy.shevchenko@linux.intel.com> Boon Khai Ng (2): dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping .../devicetree/bindings/net/snps,dwmac.yaml | 5 +++ .../net/ethernet/stmicro/stmmac/dwxgmac2.h | 28 ++++++++++++++ .../ethernet/stmicro/stmmac/dwxgmac2_core.c | 38 +++++++++++++++++++ .../ethernet/stmicro/stmmac/dwxgmac2_descs.c | 18 +++++++++ drivers/net/ethernet/stmicro/stmmac/hwif.h | 16 ++++++++ .../net/ethernet/stmicro/stmmac/stmmac_main.c | 29 +++++++++++--- .../ethernet/stmicro/stmmac/stmmac_platform.c | 6 +++ include/linux/stmmac.h | 1 + 8 files changed, 136 insertions(+), 5 deletions(-) -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 2023-07-21 6:26 [Enable Designware XGMAC VLAN Stripping Feature 0/2] Boon, Khai, Ng <boon.khai.ng @ 2023-07-21 6:26 ` Boon, Khai, Ng <boon.khai.ng 2023-07-21 10:10 ` Krzysztof Kozlowski 2023-07-21 10:17 ` Shevchenko Andriy 2023-07-21 6:26 ` [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping Boon, Khai, Ng <boon.khai.ng 1 sibling, 2 replies; 23+ messages in thread From: Boon, Khai, Ng <boon.khai.ng @ 2023-07-21 6:26 UTC (permalink / raw) To: Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev, linux-stm32, linux-arm-kernel, linux-kernel Cc: Boon Khai Ng, Shevchenko Andriy, Mun Yew Tham, Leong Ching Swee, G Thomas Rohan, Shevchenko Andriy From: Boon Khai Ng <boon.khai.ng@intel.com> This patch is to add the dts setting for the MAC controller on synopsys 10G Ethernet MAC which allow the 10G MAC to turn on hardware accelerated VLAN stripping. Once the hardware accelerated VLAN stripping is turn on, the VLAN tag will be stripped by the 10G Ethernet MAC. Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com> Reviewed-by: Shevchenko Andriy <andriy.shevchenko@linux.intel.com> --- Documentation/devicetree/bindings/net/snps,dwmac.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml index ddf9522a5dc2..905de37e861f 100644 --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml @@ -487,6 +487,11 @@ properties: description: Frequency division factor for MDC clock. + snps,rx-vlan-offload: + $ref: /schemas/types.yaml#/definitions/flag + description: + Enable hardware-accelerated RX VLAN stripping. + mdio: $ref: mdio.yaml# unevaluatedProperties: false -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 2023-07-21 6:26 ` [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload Boon, Khai, Ng <boon.khai.ng @ 2023-07-21 10:10 ` Krzysztof Kozlowski 2023-07-21 15:28 ` Ng, Boon Khai 2023-07-21 10:17 ` Shevchenko Andriy 1 sibling, 1 reply; 23+ messages in thread From: Krzysztof Kozlowski @ 2023-07-21 10:10 UTC (permalink / raw) To: Boon, Khai, "Ng <boon.khai.ng", Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev, linux-stm32, linux-arm-kernel, linux-kernel Cc: Boon Khai Ng, Shevchenko Andriy, Mun Yew Tham, Leong Ching Swee, G Thomas Rohan, Shevchenko Andriy On 21/07/2023 08:26, Boon@ecsmtp.png.intel.com wrote: > From: Boon Khai Ng <boon.khai.ng@intel.com> > > This patch is to add the dts setting for the MAC controller on > synopsys 10G Ethernet MAC which allow the 10G MAC to turn on > hardware accelerated VLAN stripping. Once the hardware accelerated > VLAN stripping is turn on, the VLAN tag will be stripped by the Subject prefix is totally bogus. > 10G Ethernet MAC. > > Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com> > Reviewed-by: Shevchenko Andriy <andriy.shevchenko@linux.intel.com> Please use scripts/get_maintainers.pl to get a list of necessary people and lists to CC. It might happen, that command when run on an older kernel, gives you outdated entries. Therefore please be sure you base your patches on recent Linux kernel. You missed at least DT list (maybe more), so this won't be tested by automated tooling. Performing review on untested code might be a waste of time, thus I will skip this patch entirely till you follow the process allowing the patch to be tested. Please kindly resend and include all necessary To/Cc entries. Best regards, Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 2023-07-21 10:10 ` Krzysztof Kozlowski @ 2023-07-21 15:28 ` Ng, Boon Khai 2023-07-21 16:21 ` Krzysztof Kozlowski 2023-07-21 16:26 ` Krzysztof Kozlowski 0 siblings, 2 replies; 23+ messages in thread From: Ng, Boon Khai @ 2023-07-21 15:28 UTC (permalink / raw) To: Krzysztof Kozlowski, Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, "Ng <boon.khai.ng"@intel.com, Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Shevchenko, Andriy, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan, Shevchenko Andriy > -----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 1/2] dt-bindings: > net: snps,dwmac: Add description for rx-vlan-offload > > On 21/07/2023 08:26, Boon@ecsmtp.png.intel.com wrote: > > From: Boon Khai Ng <boon.khai.ng@intel.com> > > > > This patch is to add the dts setting for the MAC controller on > > synopsys 10G Ethernet MAC which allow the 10G MAC to turn on hardware > > accelerated VLAN stripping. Once the hardware accelerated VLAN > > stripping is turn on, the VLAN tag will be stripped by the > > Subject prefix is totally bogus. > Which part? It's a 10G Ethernet IP from Sysnopsys, in Roman character it is X (mean 10), so XGMAC. Even the driver file I'm editing it is dw"xgmac". > > > 10G Ethernet MAC. > > > > Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com> > > Reviewed-by: Shevchenko Andriy <andriy.shevchenko@linux.intel.com> > > Please use scripts/get_maintainers.pl to get a list of necessary people and lists > to CC. It might happen, that command when run on an older kernel, gives you > outdated entries. Therefore please be sure you base your patches on recent > Linux kernel. > This is based on net-next repository suggested by the get maintainer script. I got the latest net-next just now at the Commit-id b44693495af8 which just committed yesterday. $ ./scripts/get_maintainer.pl --scm -f drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c Giuseppe Cavallaro <peppe.cavallaro@st.com> (supporter:STMMAC ETHERNET DRIVER) Alexandre Torgue <alexandre.torgue@foss.st.com> (supporter:STMMAC ETHERNET DRIVER) Jose Abreu <joabreu@synopsys.com> (supporter:STMMAC ETHERNET DRIVER) "David S. Miller" <davem@davemloft.net> (maintainer:NETWORKING DRIVERS) Eric Dumazet <edumazet@google.com> (maintainer:NETWORKING DRIVERS) Jakub Kicinski <kuba@kernel.org> (maintainer:NETWORKING DRIVERS) Paolo Abeni <pabeni@redhat.com> (maintainer:NETWORKING DRIVERS) Maxime Coquelin <mcoquelin.stm32@gmail.com> (maintainer:ARM/STM32 ARCHITECTURE) Richard Cochran <richardcochran@gmail.com> (maintainer:PTP HARDWARE CLOCK SUPPORT) netdev@vger.kernel.org (open list:STMMAC ETHERNET DRIVER) linux-stm32@st-md-mailman.stormreply.com (moderated list:ARM/STM32 ARCHITECTURE) linux-arm-kernel@lists.infradead.org (moderated list:ARM/STM32 ARCHITECTURE) linux-kernel@vger.kernel.org (open list) git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git git git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git stm32-next git git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > You missed at least DT list (maybe more), so this won't be tested by automated > tooling. Performing review on untested code might be a waste of time, thus I > will skip this patch entirely till you follow the process allowing the patch to be > tested. > This is a new device bringup, thus the DT is not available yet. The DTS will be upstreamed by my another colleague, unless, if I can upstream only my part on the setting? > Please kindly resend and include all necessary To/Cc entries. > > Best regards, > Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 2023-07-21 15:28 ` Ng, Boon Khai @ 2023-07-21 16:21 ` Krzysztof Kozlowski 2023-07-21 16:33 ` Ng, Boon Khai 2023-07-22 1:55 ` Jakub Kicinski 2023-07-21 16:26 ` Krzysztof Kozlowski 1 sibling, 2 replies; 23+ messages in thread From: Krzysztof Kozlowski @ 2023-07-21 16:21 UTC (permalink / raw) To: Ng, Boon Khai, Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Shevchenko, Andriy, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan, Shevchenko Andriy On 21/07/2023 17:28, 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 1/2] dt-bindings: >> net: snps,dwmac: Add description for rx-vlan-offload >> >> On 21/07/2023 08:26, Boon@ecsmtp.png.intel.com wrote: >>> From: Boon Khai Ng <boon.khai.ng@intel.com> >>> >>> This patch is to add the dts setting for the MAC controller on >>> synopsys 10G Ethernet MAC which allow the 10G MAC to turn on hardware >>> accelerated VLAN stripping. Once the hardware accelerated VLAN >>> stripping is turn on, the VLAN tag will be stripped by the >> >> Subject prefix is totally bogus. >> > > Which part? It's a 10G Ethernet IP from Sysnopsys, in Roman character it is X (mean 10), so XGMAC. > Even the driver file I'm editing it is dw"xgmac". Everything in []. > >> >>> 10G Ethernet MAC. >>> >>> Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com> >>> Reviewed-by: Shevchenko Andriy <andriy.shevchenko@linux.intel.com> >> >> Please use scripts/get_maintainers.pl to get a list of necessary people and lists >> to CC. It might happen, that command when run on an older kernel, gives you >> outdated entries. Therefore please be sure you base your patches on recent >> Linux kernel. >> > > This is based on net-next repository suggested by the get maintainer script. > > I got the latest net-next just now at the Commit-id b44693495af8 > which just committed yesterday. > > $ ./scripts/get_maintainer.pl --scm -f drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c That's not how you run it. get_maintainers.pl should be run on patches or on all files, not just some selection. > Giuseppe Cavallaro <peppe.cavallaro@st.com> (supporter:STMMAC ETHERNET DRIVER) > Alexandre Torgue <alexandre.torgue@foss.st.com> (supporter:STMMAC ETHERNET DRIVER) > Jose Abreu <joabreu@synopsys.com> (supporter:STMMAC ETHERNET DRIVER) > "David S. Miller" <davem@davemloft.net> (maintainer:NETWORKING DRIVERS) > Eric Dumazet <edumazet@google.com> (maintainer:NETWORKING DRIVERS) > Jakub Kicinski <kuba@kernel.org> (maintainer:NETWORKING DRIVERS) > Paolo Abeni <pabeni@redhat.com> (maintainer:NETWORKING DRIVERS) > Maxime Coquelin <mcoquelin.stm32@gmail.com> (maintainer:ARM/STM32 ARCHITECTURE) > Richard Cochran <richardcochran@gmail.com> (maintainer:PTP HARDWARE CLOCK SUPPORT) > netdev@vger.kernel.org (open list:STMMAC ETHERNET DRIVER) > linux-stm32@st-md-mailman.stormreply.com (moderated list:ARM/STM32 ARCHITECTURE) > linux-arm-kernel@lists.infradead.org (moderated list:ARM/STM32 ARCHITECTURE) > linux-kernel@vger.kernel.org (open list) > git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git > git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git > git git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git stm32-next > git git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > >> You missed at least DT list (maybe more), so this won't be tested by automated >> tooling. Performing review on untested code might be a waste of time, thus I >> will skip this patch entirely till you follow the process allowing the patch to be >> tested. >> > > This is a new device bringup, thus the DT is not available yet. The DTS will be upstreamed > by my another colleague, unless, if I can upstream only my part on the setting? You are mixing now DTS and DT bindings. Sorry, we do not talk about DTS. Follow our process of submitting patches. For sure there are folks in Intel which can explain it to you. Best regards, Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 2023-07-21 16:21 ` Krzysztof Kozlowski @ 2023-07-21 16:33 ` Ng, Boon Khai 2023-07-22 1:55 ` Jakub Kicinski 1 sibling, 0 replies; 23+ messages in thread From: Ng, Boon Khai @ 2023-07-21 16:33 UTC (permalink / raw) To: Krzysztof Kozlowski, Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Shevchenko, Andriy, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan, Shevchenko Andriy > -----Original Message----- > From: Krzysztof Kozlowski <krzk@kernel.org> > Sent: Saturday, July 22, 2023 12:22 AM > To: Ng, Boon Khai <boon.khai.ng@intel.com>; Boon@ecsmtp.png.intel.com; > Khai@ecsmtp.png.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: 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 1/2] dt- > bindings: net: snps,dwmac: Add description for rx-vlan-offload > > On 21/07/2023 17:28, 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 1/2] dt- > bindings: > >> net: snps,dwmac: Add description for rx-vlan-offload > >> > >> On 21/07/2023 08:26, Boon@ecsmtp.png.intel.com wrote: > >>> From: Boon Khai Ng <boon.khai.ng@intel.com> > >>> > >>> This patch is to add the dts setting for the MAC controller on > >>> synopsys 10G Ethernet MAC which allow the 10G MAC to turn on > >>> hardware accelerated VLAN stripping. Once the hardware accelerated > >>> VLAN stripping is turn on, the VLAN tag will be stripped by the > >> > >> Subject prefix is totally bogus. > >> > > > > Which part? It's a 10G Ethernet IP from Sysnopsys, in Roman character it is > X (mean 10), so XGMAC. > > Even the driver file I'm editing it is dw"xgmac". > > Everything in []. > > > > >> > >>> 10G Ethernet MAC. > >>> > >>> Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com> > >>> Reviewed-by: Shevchenko Andriy <andriy.shevchenko@linux.intel.com> > >> > >> Please use scripts/get_maintainers.pl to get a list of necessary > >> people and lists to CC. It might happen, that command when run on an > >> older kernel, gives you outdated entries. Therefore please be sure > >> you base your patches on recent Linux kernel. > >> > > > > This is based on net-next repository suggested by the get maintainer script. > > > > I got the latest net-next just now at the Commit-id b44693495af8 which > > just committed yesterday. > > > > $ ./scripts/get_maintainer.pl --scm -f > > drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c > > That's not how you run it. get_maintainers.pl should be run on patches or on > all files, not just some selection. > > > Giuseppe Cavallaro <peppe.cavallaro@st.com> (supporter:STMMAC > ETHERNET > > DRIVER) Alexandre Torgue <alexandre.torgue@foss.st.com> > > (supporter:STMMAC ETHERNET DRIVER) Jose Abreu > <joabreu@synopsys.com> > > (supporter:STMMAC ETHERNET DRIVER) "David S. Miller" > > <davem@davemloft.net> (maintainer:NETWORKING DRIVERS) Eric > Dumazet > > <edumazet@google.com> (maintainer:NETWORKING DRIVERS) Jakub > Kicinski > > <kuba@kernel.org> (maintainer:NETWORKING DRIVERS) Paolo Abeni > > <pabeni@redhat.com> (maintainer:NETWORKING DRIVERS) Maxime > Coquelin > > <mcoquelin.stm32@gmail.com> (maintainer:ARM/STM32 ARCHITECTURE) > > Richard Cochran <richardcochran@gmail.com> (maintainer:PTP HARDWARE > > CLOCK SUPPORT) netdev@vger.kernel.org (open list:STMMAC ETHERNET > > DRIVER) linux-stm32@st-md-mailman.stormreply.com (moderated > > list:ARM/STM32 ARCHITECTURE) linux-arm-kernel@lists.infradead.org > > (moderated list:ARM/STM32 ARCHITECTURE) linux-kernel@vger.kernel.org > > (open list) git > > git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git > > git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git > > git git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git > > stm32-next git > > git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > > > >> You missed at least DT list (maybe more), so this won't be tested by > >> automated tooling. Performing review on untested code might be a > >> waste of time, thus I will skip this patch entirely till you follow > >> the process allowing the patch to be tested. > >> > > > > This is a new device bringup, thus the DT is not available yet. The > > DTS will be upstreamed by my another colleague, unless, if I can upstream > only my part on the setting? > > You are mixing now DTS and DT bindings. Sorry, we do not talk about DTS. > > Follow our process of submitting patches. For sure there are folks in Intel > which can explain it to you. > Ah see, so you were saying I'm missing the cc list of the maintainer related to the DT binding. > > Best regards, > Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 2023-07-21 16:21 ` Krzysztof Kozlowski 2023-07-21 16:33 ` Ng, Boon Khai @ 2023-07-22 1:55 ` Jakub Kicinski 2023-07-22 3:32 ` Joe Perches 1 sibling, 1 reply; 23+ messages in thread From: Jakub Kicinski @ 2023-07-22 1:55 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Ng, Boon Khai, Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Shevchenko, Andriy, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan, Shevchenko Andriy, Joe Perches On Fri, 21 Jul 2023 18:21:32 +0200 Krzysztof Kozlowski wrote: > > $ ./scripts/get_maintainer.pl --scm -f drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c > > That's not how you run it. get_maintainers.pl should be run on patches > or on all files, not just some selection. Adding Joe for visibility (I proposed to print a warning when people do this and IIRC he wasn't on board). _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 2023-07-22 1:55 ` Jakub Kicinski @ 2023-07-22 3:32 ` Joe Perches 0 siblings, 0 replies; 23+ messages in thread From: Joe Perches @ 2023-07-22 3:32 UTC (permalink / raw) To: Jakub Kicinski, Krzysztof Kozlowski Cc: Ng, Boon Khai, Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Shevchenko, Andriy, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan, Shevchenko Andriy On Fri, 2023-07-21 at 18:55 -0700, Jakub Kicinski wrote: > On Fri, 21 Jul 2023 18:21:32 +0200 Krzysztof Kozlowski wrote: > > > $ ./scripts/get_maintainer.pl --scm -f drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c > > > > That's not how you run it. get_maintainers.pl should be run on patches > > or on all files, not just some selection. > > Adding Joe for visibility (I proposed to print a warning when people > do this and IIRC he wasn't on board). What's the issue here? Other than _how_ the script was used, I don't see an actual problem with the script itself. https://lore.kernel.org/lkml/20230721062617.9810-1-boon.khai.ng@intel.com/ As far as I can tell, the patch series address list was identical for the 0/2, 1/2, and 2/2 submissions: -------------------------------- 0/2: From: Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, "Ng <boon.khai.ng"@intel.com To: 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: Boon Khai Ng <boon.khai.ng@intel.com>, Shevchenko Andriy <andriy.shevchenko@intel.com>, Mun Yew Tham <mun.yew.tham@intel.com>, Leong Ching Swee <leong.ching.swee@intel.com>, G Thomas Rohan <rohan.g.thomas@intel.com>, Shevchenko Andriy <andriy.shevchenko@linux.intel.com> Subject: [Enable Designware XGMAC VLAN Stripping Feature 0/2] 1/2: From: Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, "Ng <boon.khai.ng"@intel.com To: 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: Boon Khai Ng <boon.khai.ng@intel.com>, Shevchenko Andriy <andriy.shevchenko@intel.com>, Mun Yew Tham <mun.yew.tham@intel.com>, Leong Ching Swee <leong.ching.swee@intel.com>, G Thomas Rohan <rohan.g.thomas@intel.com>, Shevchenko Andriy <andriy.shevchenko@linux.intel.com> Subject: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 2/2: From: Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, "Ng <boon.khai.ng"@intel.com To: 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: Boon Khai Ng <boon.khai.ng@intel.com>, Shevchenko Andriy <andriy.shevchenko@intel.com>, Mun Yew Tham <mun.yew.tham@intel.com>, Leong Ching Swee <leong.ching.swee@intel.com>, G Thomas Rohan <rohan.g.thomas@intel.com>, Shevchenko Andriy <andriy.shevchenko@linux.intel.com> Subject: [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping -------------------------------- vger has a limit on the number of recipients for a single email so patch series that cc all possible recipients can be bounced and not forwarded by vger. So I think when submitting a patch series, it's necessary to send just the cover letter to all mailing lists for all files/paths modified by any file in the patch series and specific patches are sent to maintainers, reviewers and the specific mailing lists modified by the specific patch. I use the scripts below to send patch series where a patch series are the only files in individual directories. (Well I used to use, I'm not actively reading or creating kernel patches right now) $ cat ~/bin/to.sh #!/bin/bash opts="--nogit --nogit-fallback --norolestats --pattern-depth=1" if [[ $(basename $1) =~ ^0000- ]] ; then ./scripts/get_maintainer.pl --nom $opts $(dirname $1)/* else maint=$(./scripts/get_maintainer.pl --nol $opts $1) if [ "$maint" == "" ] ; then echo "linux-kernel@vger.kernel.org" else echo "$maint" fi fi $ cat ~/bin/cc.sh #!/bin/bash opts="--nogit --nogit-fallback --norolestats" maint_file=$(mktemp -t XXXXXXXX.cc) if [[ $(basename $1) =~ ^0000- ]] ; then ./scripts/get_maintainer.pl $opts $(dirname $1)/* | \ ~/bin/remove_undesirable_emails.sh > $maint_file count=$(wc -c $maint_file | cut -f1 -d" ") if [[ $count -lt 512 ]] ; then cat $maint_file else ./scripts/get_maintainer.pl -nom -nor $opts $(dirname $1)/* | \ ~/bin/remove_undesirable_emails.sh fi else ./scripts/get_maintainer.pl $opts $1 | \ ~/bin/remove_undesirable_emails.sh > $maint_file count=$(wc -l $maint_file | cut -f1 -d" ") if [[ $count -gt 0 ]] ; then cat $maint_file else ./scripts/get_maintainer.pl --git --git-fallback --norolestats $1 | \ ~/bin/remove_undesirable_emails.sh fi fi rm -f $maint_file $ cat ~/bin/remove_undesirable_emails.sh grep -vPi "(?:\bIngo\s+Molnar\b)" $ (nb: Ingo asked not to receive any emails from me) And these scripts are used with git send-email with a .gitconfig block [sendemail] chainreplyto = false thread = false suppresscc = self cccmd = ~/bin/cc.sh tocmd = ~/bin/to.sh These scripts would have added 2 mailing lists to patch 0/n: devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) linux-renesas-soc@vger.kernel.org (open list:ARM/RISC-V/RENESAS ARCHITECTURE) and it would also have had a different recipient list for 1/2 as well $ ./scripts/get_maintainer.pl -f Documentation/devicetree/bindings/net/snps,dwmac.yaml "David S. Miller" <davem@davemloft.net> (maintainer:NETWORKING DRIVERS) Eric Dumazet <edumazet@google.com> (maintainer:NETWORKING DRIVERS) Jakub Kicinski <kuba@kernel.org> (maintainer:NETWORKING DRIVERS) Paolo Abeni <pabeni@redhat.com> (maintainer:NETWORKING DRIVERS) Rob Herring <robh+dt@kernel.org> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) Conor Dooley <conor+dt@kernel.org> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) Richard Cochran <richardcochran@gmail.com> (maintainer:PTP HARDWARE CLOCK SUPPORT) Geert Uytterhoeven <geert+renesas@glider.be> (supporter:ARM/RISC-V/RENESAS ARCHITECTURE) Magnus Damm <magnus.damm@gmail.com> (supporter:ARM/RISC-V/RENESAS ARCHITECTURE) Alexandre Torgue <alexandre.torgue@foss.st.com> (in file) Giuseppe Cavallaro <peppe.cavallaro@st.com> (in file) Jose Abreu <joabreu@synopsys.com> (in file) netdev@vger.kernel.org (open list:NETWORKING DRIVERS) devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) linux-kernel@vger.kernel.org (open list) linux-renesas-soc@vger.kernel.org (open list:ARM/RISC-V/RENESAS ARCHITECTURE) _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 2023-07-21 15:28 ` Ng, Boon Khai 2023-07-21 16:21 ` Krzysztof Kozlowski @ 2023-07-21 16:26 ` Krzysztof Kozlowski 2023-07-21 16:39 ` Ng, Boon Khai 1 sibling, 1 reply; 23+ messages in thread From: Krzysztof Kozlowski @ 2023-07-21 16:26 UTC (permalink / raw) To: Ng, Boon Khai, Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Shevchenko, Andriy, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan, Shevchenko Andriy On 21/07/2023 17:28, Ng, Boon Khai wrote: > This is a new device bringup, thus the DT is not available yet. The DTS will be upstreamed > by my another colleague, unless, if I can upstream only my part on the setting? > >> Please kindly resend and include all necessary To/Cc entries. To be clear, since you do not agree with my comment you skipped vital lists, this was not tested by automation so it is NAK from me. Sorry. Best regards, Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 2023-07-21 16:26 ` Krzysztof Kozlowski @ 2023-07-21 16:39 ` Ng, Boon Khai 0 siblings, 0 replies; 23+ messages in thread From: Ng, Boon Khai @ 2023-07-21 16:39 UTC (permalink / raw) To: Krzysztof Kozlowski, Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Shevchenko, Andriy, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan, Shevchenko Andriy > -----Original Message----- > From: Krzysztof Kozlowski <krzk@kernel.org> > Sent: Saturday, July 22, 2023 12:26 AM > To: Ng, Boon Khai <boon.khai.ng@intel.com>; Boon@ecsmtp.png.intel.com; > Khai@ecsmtp.png.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: 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 1/2] dt- > bindings: net: snps,dwmac: Add description for rx-vlan-offload > > On 21/07/2023 17:28, Ng, Boon Khai wrote: > > This is a new device bringup, thus the DT is not available yet. The > > DTS will be upstreamed by my another colleague, unless, if I can upstream > only my part on the setting? > > > >> Please kindly resend and include all necessary To/Cc entries. > > To be clear, since you do not agree with my comment you skipped vital lists, > this was not tested by automation so it is NAK from me. > > Sorry. > I understand that I already get a NAK at the beginning. But I don’t understand why, Please don’t get me wrong, I'm not disagreeing your comments, was trying to understand the reason behind and also which are the step that I made a mistake(s) on, this is to help me to learn at the same time to smoothen the upstreaming process. > Best regards, > Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 2023-07-21 6:26 ` [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload Boon, Khai, Ng <boon.khai.ng 2023-07-21 10:10 ` Krzysztof Kozlowski @ 2023-07-21 10:17 ` Shevchenko Andriy 2023-07-21 15:35 ` Ng, Boon Khai 1 sibling, 1 reply; 23+ messages in thread From: Shevchenko Andriy @ 2023-07-21 10:17 UTC (permalink / raw) Cc: Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev, linux-stm32, linux-arm-kernel, linux-kernel, Boon Khai Ng, Mun Yew Tham, Leong Ching Swee, G Thomas Rohan On Fri, Jul 21, 2023 at 02:26:16PM +0800, Boon@ecsmtp.png.intel.com wrote: > From: Boon Khai Ng <boon.khai.ng@intel.com> > > This patch is to add the dts setting for the MAC controller on > synopsys 10G Ethernet MAC which allow the 10G MAC to turn on > hardware accelerated VLAN stripping. Once the hardware accelerated > VLAN stripping is turn on, the VLAN tag will be stripped by the > 10G Ethernet MAC. ... > Reviewed-by: Shevchenko Andriy <andriy.shevchenko@linux.intel.com> This is wrong: - I never reviewed DT bindings in all your series. - My name for the patches is also wrong. P.S. What I mentioned in the internal mail is that you can add my tag to the code, and not to the DT. Sorry, I probably hadn't been clear. -- With Best Regards, Andy Shevchenko _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 2023-07-21 10:17 ` Shevchenko Andriy @ 2023-07-21 15:35 ` Ng, Boon Khai 2023-07-21 15:48 ` Shevchenko, Andriy 0 siblings, 1 reply; 23+ messages in thread From: Ng, Boon Khai @ 2023-07-21 15:35 UTC (permalink / raw) To: Shevchenko, Andriy Cc: Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan > -----Original Message----- > From: Shevchenko, Andriy <andriy.shevchenko@intel.com> > Sent: Friday, July 21, 2023 6:18 PM > Cc: 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; Ng, > Boon Khai <boon.khai.ng@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> > Subject: Re: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt- > bindings: net: snps,dwmac: Add description for rx-vlan-offload > > On Fri, Jul 21, 2023 at 02:26:16PM +0800, Boon@ecsmtp.png.intel.com wrote: > > From: Boon Khai Ng <boon.khai.ng@intel.com> > > > > This patch is to add the dts setting for the MAC controller on > > synopsys 10G Ethernet MAC which allow the 10G MAC to turn on hardware > > accelerated VLAN stripping. Once the hardware accelerated VLAN > > stripping is turn on, the VLAN tag will be stripped by the 10G > > Ethernet MAC. > > ... > > > Reviewed-by: Shevchenko Andriy <andriy.shevchenko@linux.intel.com> > > This is wrong: > - I never reviewed DT bindings in all your series. > - My name for the patches is also wrong. > > P.S. What I mentioned in the internal mail is that you can add my tag to > the code, and not to the DT. Sorry, I probably hadn't been clear. > My bad, sorry for interpreting the meaning wrongly, I will remove all the "Reviewed-by" stamp from all the DT patches on the next update. However I copied the Reviewed-by: from the previous email, your name Shouldn't be wrong. > -- > With Best Regards, > Andy Shevchenko > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 2023-07-21 15:35 ` Ng, Boon Khai @ 2023-07-21 15:48 ` Shevchenko, Andriy 2023-07-21 15:51 ` Ng, Boon Khai 0 siblings, 1 reply; 23+ messages in thread From: Shevchenko, Andriy @ 2023-07-21 15:48 UTC (permalink / raw) To: Ng, Boon Khai Cc: Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan On Fri, Jul 21, 2023 at 06:35:44PM +0300, Ng, Boon Khai wrote: > > From: Shevchenko, Andriy <andriy.shevchenko@intel.com> > > Sent: Friday, July 21, 2023 6:18 PM > > On Fri, Jul 21, 2023 at 02:26:16PM +0800, Boon@ecsmtp.png.intel.com wrote: > > > From: Boon Khai Ng <boon.khai.ng@intel.com> ... > > > Reviewed-by: Shevchenko Andriy <andriy.shevchenko@linux.intel.com> > > > > This is wrong: > > - I never reviewed DT bindings in all your series. > > - My name for the patches is also wrong. > > > > P.S. What I mentioned in the internal mail is that you can add my tag to > > the code, and not to the DT. Sorry, I probably hadn't been clear. > > My bad, sorry for interpreting the meaning wrongly, I will remove all the > "Reviewed-by" stamp from all the DT patches on the next update. > > However I copied the Reviewed-by: from the previous email, your name > Shouldn't be wrong. Oh, this is a bit messy. The address for the kernel work should be Andy Shevchenko <andriy.shevchenko@linux.intel.com> -- With Best Regards, Andy Shevchenko _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 2023-07-21 15:48 ` Shevchenko, Andriy @ 2023-07-21 15:51 ` Ng, Boon Khai 0 siblings, 0 replies; 23+ messages in thread From: Ng, Boon Khai @ 2023-07-21 15:51 UTC (permalink / raw) To: Shevchenko, Andriy Cc: Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan > -----Original Message----- > From: Shevchenko, Andriy <andriy.shevchenko@intel.com> > Sent: Friday, July 21, 2023 11:49 PM > To: Ng, Boon Khai <boon.khai.ng@intel.com> > Cc: 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; Tham, > Mun Yew <mun.yew.tham@intel.com>; Swee, Leong Ching > <leong.ching.swee@intel.com>; G Thomas, Rohan > <rohan.g.thomas@intel.com> > Subject: Re: [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt- > bindings: net: snps,dwmac: Add description for rx-vlan-offload > > On Fri, Jul 21, 2023 at 06:35:44PM +0300, Ng, Boon Khai wrote: > > > From: Shevchenko, Andriy <andriy.shevchenko@intel.com> > > > Sent: Friday, July 21, 2023 6:18 PM > > > On Fri, Jul 21, 2023 at 02:26:16PM +0800, Boon@ecsmtp.png.intel.com > wrote: > > > > From: Boon Khai Ng <boon.khai.ng@intel.com> > > ... > > > > > Reviewed-by: Shevchenko Andriy <andriy.shevchenko@linux.intel.com> > > > > > > This is wrong: > > > - I never reviewed DT bindings in all your series. > > > - My name for the patches is also wrong. > > > > > > P.S. What I mentioned in the internal mail is that you can add my tag to > > > the code, and not to the DT. Sorry, I probably hadn't been clear. > > > > My bad, sorry for interpreting the meaning wrongly, I will remove all > > the "Reviewed-by" stamp from all the DT patches on the next update. > > > > However I copied the Reviewed-by: from the previous email, your name > > Shouldn't be wrong. > > Oh, this is a bit messy. The address for the kernel work should be Andy > Shevchenko <andriy.shevchenko@linux.intel.com> > Ah okay, got it. Will update that in the next patch. > -- > With Best Regards, > Andy Shevchenko > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping 2023-07-21 6:26 [Enable Designware XGMAC VLAN Stripping Feature 0/2] Boon, Khai, Ng <boon.khai.ng 2023-07-21 6:26 ` [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload Boon, Khai, Ng <boon.khai.ng @ 2023-07-21 6:26 ` Boon, Khai, Ng <boon.khai.ng 2023-07-21 10:11 ` Krzysztof Kozlowski 1 sibling, 1 reply; 23+ messages in thread From: Boon, Khai, Ng <boon.khai.ng @ 2023-07-21 6:26 UTC (permalink / raw) To: Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev, linux-stm32, linux-arm-kernel, linux-kernel Cc: Boon Khai Ng, Shevchenko Andriy, Mun Yew Tham, Leong Ching Swee, G Thomas Rohan, Shevchenko Andriy 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. The setting can be turn on and off at the dts by specifying the dts node with "snps,rx-vlan-offload" The setting can be turn on and off at ethool as well by running the command below: ethtool -k eth0 rx-vlan-offload on ethtool -k eth0 rx-vlan-offload off This implementation was ported from the dwmac4 driver. Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com> Reviewed-by: Shevchenko Andriy <andriy.shevchenko@linux.intel.com> --- .../net/ethernet/stmicro/stmmac/dwxgmac2.h | 28 ++++++++++++++ .../ethernet/stmicro/stmmac/dwxgmac2_core.c | 38 +++++++++++++++++++ .../ethernet/stmicro/stmmac/dwxgmac2_descs.c | 18 +++++++++ drivers/net/ethernet/stmicro/stmmac/hwif.h | 16 ++++++++ .../net/ethernet/stmicro/stmmac/stmmac_main.c | 29 +++++++++++--- .../ethernet/stmicro/stmmac/stmmac_platform.c | 6 +++ include/linux/stmmac.h | 1 + 7 files changed, 131 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h index 153321fe42c3..2a75faf8443b 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h @@ -431,6 +431,7 @@ #define XGMAC_TDES2_VTIR GENMASK(15, 14) #define XGMAC_TDES2_VTIR_SHIFT 14 #define XGMAC_TDES2_B1L GENMASK(13, 0) +#define XGMAC_TDES2_VLAN_TAG_MASK GENMASK(15, 14) #define XGMAC_TDES3_OWN BIT(31) #define XGMAC_TDES3_CTXT BIT(30) #define XGMAC_TDES3_FD BIT(29) @@ -462,6 +463,8 @@ #define XGMAC_RDES3_RSV BIT(26) #define XGMAC_RDES3_L34T GENMASK(23, 20) #define XGMAC_RDES3_L34T_SHIFT 20 +#define XGMAC_RDES3_ET_LT GENMASK(19, 16) +#define XGMAC_RDES3_ET_LT_SHIFT 16 #define XGMAC_L34T_IP4TCP 0x1 #define XGMAC_L34T_IP4UDP 0x2 #define XGMAC_L34T_IP6TCP 0x9 @@ -471,4 +474,29 @@ #define XGMAC_RDES3_TSD BIT(6) #define XGMAC_RDES3_TSA BIT(4) +/* RDES0 (write back format) */ +#define XGMAC_RDES0_VLAN_TAG_MASK GENMASK(15, 0) + +/* MAC VLAN Tag Control */ +#define XGMAC_VLAN_TAG_CTRL_OB BIT(0) +#define XGMAC_VLAN_TAG_CTRL_CT BIT(1) +#define XGMAC_VLAN_TAG_CTRL_OFS_MASK GENMASK(6, 2) +#define XGMAC_VLAN_TAG_CTRL_OFS_SHIFT 2 +#define XGMAC_VLAN_TAG_CTRL_EVLS_MASK GENMASK(22, 21) +#define XGMAC_VLAN_TAG_CTRL_EVLS_SHIFT 21 +#define XGMAC_VLAN_TAG_CTRL_EVLRXS BIT(24) + +#define XGMAC_VLAN_TAG_STRIP_NONE (0x0 << XGMAC_VLAN_TAG_CTRL_EVLS_SHIFT) +#define XGMAC_VLAN_TAG_STRIP_PASS (0x1 << XGMAC_VLAN_TAG_CTRL_EVLS_SHIFT) +#define XGMAC_VLAN_TAG_STRIP_FAIL (0x2 << XGMAC_VLAN_TAG_CTRL_EVLS_SHIFT) +#define XGMAC_VLAN_TAG_STRIP_ALL (0x3 << XGMAC_VLAN_TAG_CTRL_EVLS_SHIFT) + +/* Error Type or L2 Type(ET/LT) Field Number */ +#define XGMAC_ET_LT_VLAN_STAG 8 +#define XGMAC_ET_LT_VLAN_CTAG 9 +#define XGMAC_ET_LT_DVLAN_CTAG_CTAG 10 +#define XGMAC_ET_LT_DVLAN_STAG_STAG 11 +#define XGMAC_ET_LT_DVLAN_CTAG_STAG 12 +#define XGMAC_ET_LT_DVLAN_STAG_CTAG 13 + #endif /* __STMMAC_DWXGMAC2_H__ */ diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c index a0c2ef8bb0ac..0f8120427d5c 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c @@ -6,6 +6,7 @@ #include <linux/bitrev.h> #include <linux/crc32.h> +#include <linux/if_vlan.h> #include <linux/iopoll.h> #include "stmmac.h" #include "stmmac_ptp.h" @@ -1177,6 +1178,39 @@ static void dwxgmac2_sarc_configure(void __iomem *ioaddr, int val) writel(value, ioaddr + XGMAC_TX_CONFIG); } +static void dwxgmac2_rx_hw_vlan(struct net_device *dev, + struct mac_device_info *hw, + struct dma_desc *rx_desc, struct sk_buff *skb) +{ + if ((dev->features & NETIF_F_HW_VLAN_CTAG_RX) && + hw->desc->get_rx_vlan_valid(rx_desc)) { + u16 vid = hw->desc->get_rx_vlan_tci(rx_desc); + + __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), vid); + } +} + +static void dwxgmac2_set_hw_vlan_mode(void __iomem *ioaddr, + netdev_features_t features) +{ + u32 val; + + val = readl(ioaddr + XGMAC_VLAN_TAG); + val &= ~XGMAC_VLAN_TAG_CTRL_EVLS_MASK; + + if (features & NETIF_F_HW_VLAN_CTAG_RX) + /* Always strip VLAN on Receive */ + val |= XGMAC_VLAN_TAG_STRIP_ALL; + else + /* Do not strip VLAN on Receive */ + val |= XGMAC_VLAN_TAG_STRIP_NONE; + + /* Enable outer VLAN Tag in Rx DMA descriptro */ + val |= XGMAC_VLAN_TAG_CTRL_EVLRXS; + + writel(val, ioaddr + XGMAC_VLAN_TAG); +} + static void dwxgmac2_enable_vlan(struct mac_device_info *hw, u32 type) { void __iomem *ioaddr = hw->pcsr; @@ -1501,6 +1535,8 @@ const struct stmmac_ops dwxgmac210_ops = { .set_arp_offload = dwxgmac2_set_arp_offload, .est_configure = dwxgmac3_est_configure, .fpe_configure = dwxgmac3_fpe_configure, + .rx_hw_vlan = dwxgmac2_rx_hw_vlan, + .set_hw_vlan_mode = dwxgmac2_set_hw_vlan_mode, }; static void dwxlgmac2_rx_queue_enable(struct mac_device_info *hw, u8 mode, @@ -1562,6 +1598,8 @@ const struct stmmac_ops dwxlgmac2_ops = { .set_arp_offload = dwxgmac2_set_arp_offload, .est_configure = dwxgmac3_est_configure, .fpe_configure = dwxgmac3_fpe_configure, + .rx_hw_vlan = dwxgmac2_rx_hw_vlan, + .set_hw_vlan_mode = dwxgmac2_set_hw_vlan_mode, }; int dwxgmac2_setup(struct stmmac_priv *priv) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_descs.c b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_descs.c index fc82862a612c..b8cc17c9c0db 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_descs.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_descs.c @@ -67,6 +67,22 @@ static int dwxgmac2_get_tx_ls(struct dma_desc *p) return (le32_to_cpu(p->des3) & XGMAC_RDES3_LD) > 0; } +static inline int dwxgmac2_wrback_get_rx_vlan_tci(struct dma_desc *p) +{ + return le32_to_cpu(p->des0) & XGMAC_RDES0_VLAN_TAG_MASK; +} + +static inline bool dwxgmac2_wrback_get_rx_vlan_valid(struct dma_desc *p) +{ + u32 et_lt; + + et_lt = (le32_to_cpu(p->des3) & XGMAC_RDES3_ET_LT) >> + XGMAC_RDES3_ET_LT_SHIFT; + + return et_lt >= XGMAC_ET_LT_VLAN_STAG && + et_lt <= XGMAC_ET_LT_DVLAN_STAG_CTAG; +} + static int dwxgmac2_get_rx_frame_len(struct dma_desc *p, int rx_coe) { return (le32_to_cpu(p->des3) & XGMAC_RDES3_PL); @@ -349,6 +365,8 @@ const struct stmmac_desc_ops dwxgmac210_desc_ops = { .set_tx_owner = dwxgmac2_set_tx_owner, .set_rx_owner = dwxgmac2_set_rx_owner, .get_tx_ls = dwxgmac2_get_tx_ls, + .get_rx_vlan_tci = dwxgmac2_wrback_get_rx_vlan_tci, + .get_rx_vlan_valid = dwxgmac2_wrback_get_rx_vlan_valid, .get_rx_frame_len = dwxgmac2_get_rx_frame_len, .enable_tx_timestamp = dwxgmac2_enable_tx_timestamp, .get_tx_timestamp_status = dwxgmac2_get_tx_timestamp_status, diff --git a/drivers/net/ethernet/stmicro/stmmac/hwif.h b/drivers/net/ethernet/stmicro/stmmac/hwif.h index 652af8f6e75f..d37fa2400f62 100644 --- a/drivers/net/ethernet/stmicro/stmmac/hwif.h +++ b/drivers/net/ethernet/stmicro/stmmac/hwif.h @@ -97,6 +97,10 @@ struct stmmac_desc_ops { u32 inner_type); void (*set_vlan)(struct dma_desc *p, u32 type); void (*set_tbs)(struct dma_edesc *p, u32 sec, u32 nsec); + /* get rx vlan id */ + int (*get_rx_vlan_tci)(struct dma_desc *p); + /* get rx vlan valid status */ + bool (*get_rx_vlan_valid)(struct dma_desc *p); }; #define stmmac_init_rx_desc(__priv, __args...) \ @@ -117,6 +121,10 @@ struct stmmac_desc_ops { stmmac_do_void_callback(__priv, desc, set_tx_ic, __args) #define stmmac_get_tx_ls(__priv, __args...) \ stmmac_do_callback(__priv, desc, get_tx_ls, __args) +#define stmmac_get_rx_vlan_tci(__priv, __args...) \ + stmmac_do_callback(__priv, desc, get_rx_vlan_tci, __args) +#define stmmac_get_rx_vlan_valid(__priv, __args...) \ + stmmac_do_callback(__priv, desc, get_rx_vlan_valid, __args) #define stmmac_tx_status(__priv, __args...) \ stmmac_do_callback(__priv, desc, tx_status, __args) #define stmmac_get_tx_len(__priv, __args...) \ @@ -386,6 +394,10 @@ struct stmmac_ops { void (*update_vlan_hash)(struct mac_device_info *hw, u32 hash, __le16 perfect_match, bool is_double); void (*enable_vlan)(struct mac_device_info *hw, u32 type); + void (*rx_hw_vlan)(struct net_device *dev, struct mac_device_info *hw, + struct dma_desc *rx_desc, struct sk_buff *skb); + void (*set_hw_vlan_mode)(void __iomem *ioaddr, + netdev_features_t features); int (*add_hw_vlan_rx_fltr)(struct net_device *dev, struct mac_device_info *hw, __be16 proto, u16 vid); @@ -493,6 +505,10 @@ struct stmmac_ops { stmmac_do_void_callback(__priv, mac, update_vlan_hash, __args) #define stmmac_enable_vlan(__priv, __args...) \ stmmac_do_void_callback(__priv, mac, enable_vlan, __args) +#define stmmac_rx_hw_vlan(__priv, __args...) \ + stmmac_do_void_callback(__priv, mac, rx_hw_vlan, __args) +#define stmmac_set_hw_vlan_mode(__priv, __args...) \ + stmmac_do_void_callback(__priv, mac, set_hw_vlan_mode, __args) #define stmmac_add_hw_vlan_rx_fltr(__priv, __args...) \ stmmac_do_callback(__priv, mac, add_hw_vlan_rx_fltr, __args) #define stmmac_del_hw_vlan_rx_fltr(__priv, __args...) \ diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index e7ca52f0d2f2..2fe58bf3d936 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -3451,6 +3451,10 @@ static int stmmac_hw_setup(struct net_device *dev, bool ptp_register) stmmac_fpe_handshake(priv, true); } + /* Set HW VLAN Stripping mode */ + if (priv->plat->use_hw_vlan) + stmmac_set_hw_vlan_mode(priv, priv->ioaddr, dev->features); + return 0; } @@ -4596,10 +4600,8 @@ static void stmmac_rx_vlan(struct net_device *dev, struct sk_buff *skb) __be16 vlan_proto = veth->h_vlan_proto; u16 vlanid; - if ((vlan_proto == htons(ETH_P_8021Q) && - dev->features & NETIF_F_HW_VLAN_CTAG_RX) || - (vlan_proto == htons(ETH_P_8021AD) && - dev->features & NETIF_F_HW_VLAN_STAG_RX)) { + if (vlan_proto == htons(ETH_P_8021Q) || + vlan_proto == htons(ETH_P_8021AD)) { /* pop the vlan tag */ vlanid = ntohs(veth->h_vlan_TCI); memmove(skb->data + VLAN_HLEN, veth, ETH_ALEN * 2); @@ -5466,7 +5468,14 @@ static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue) /* Got entire packet into SKB. Finish it. */ stmmac_get_rx_hwtstamp(priv, p, np, skb); - stmmac_rx_vlan(priv->dev, skb); + + /* Switch between rx_hw_vlan or rx_vlan */ + if (priv->plat->use_hw_vlan) + stmmac_rx_hw_vlan(priv, priv->dev, + priv->hw, p, skb); + else + stmmac_rx_vlan(priv->dev, skb); + skb->protocol = eth_type_trans(skb, priv->dev); if (unlikely(!coe)) @@ -5746,6 +5755,9 @@ static int stmmac_set_features(struct net_device *netdev, netdev_features_t features) { struct stmmac_priv *priv = netdev_priv(netdev); + netdev_features_t changed; + + changed = netdev->features ^ features; /* Keep the COE Type in case of csum is supporting */ if (features & NETIF_F_RXCSUM) @@ -5765,6 +5777,11 @@ static int stmmac_set_features(struct net_device *netdev, stmmac_enable_sph(priv, priv->ioaddr, sph_en, chan); } + if (changed & NETIF_F_HW_VLAN_CTAG_RX) { + stmmac_set_hw_vlan_mode(priv, priv->ioaddr, features); + priv->plat->use_hw_vlan = features & NETIF_F_HW_VLAN_CTAG_RX; + } + return 0; } @@ -7418,6 +7435,8 @@ int stmmac_dvr_probe(struct device *device, #ifdef STMMAC_VLAN_TAG_USED /* Both mac100 and gmac support receive VLAN tag detection */ ndev->features |= NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_HW_VLAN_STAG_RX; + ndev->hw_features |= NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_HW_VLAN_STAG_RX; + 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"); + plat->use_hw_vlan = true; + } + dma_cfg = devm_kzalloc(&pdev->dev, sizeof(*dma_cfg), GFP_KERNEL); if (!dma_cfg) { diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h index ef67dba775d0..a989c5d82482 100644 --- a/include/linux/stmmac.h +++ b/include/linux/stmmac.h @@ -282,6 +282,7 @@ struct plat_stmmacenet_data { int rss_en; int mac_port_sel_speed; int has_xgmac; + bool use_hw_vlan; u8 vlan_fail_q; unsigned int eee_usecs_rate; struct pci_dev *pdev; -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping 2023-07-21 6:26 ` [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping Boon, Khai, Ng <boon.khai.ng @ 2023-07-21 10:11 ` Krzysztof Kozlowski 2023-07-21 15:30 ` Ng, Boon Khai 0 siblings, 1 reply; 23+ messages in thread From: Krzysztof Kozlowski @ 2023-07-21 10:11 UTC (permalink / raw) To: Boon, Khai, "Ng <boon.khai.ng", Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev, linux-stm32, linux-arm-kernel, linux-kernel Cc: Boon Khai Ng, Shevchenko Andriy, Mun Yew Tham, Leong Ching Swee, G Thomas Rohan, Shevchenko Andriy 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. Best regards, Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping 2023-07-21 10:11 ` Krzysztof Kozlowski @ 2023-07-21 15:30 ` Ng, Boon Khai 2023-07-21 15:59 ` Florian Fainelli 2023-07-21 16:22 ` Krzysztof Kozlowski 0 siblings, 2 replies; 23+ messages in thread From: Ng, Boon Khai @ 2023-07-21 15:30 UTC (permalink / raw) To: Krzysztof Kozlowski, Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, "Ng <boon.khai.ng"@intel.com, Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Shevchenko, Andriy, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan, Shevchenko Andriy > -----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? > > > Best regards, > Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping 2023-07-21 15:30 ` Ng, Boon Khai @ 2023-07-21 15:59 ` Florian Fainelli 2023-07-21 16:12 ` Ng, Boon Khai 2023-07-21 16:22 ` Krzysztof Kozlowski 2023-07-21 16:22 ` Krzysztof Kozlowski 1 sibling, 2 replies; 23+ messages in thread From: Florian Fainelli @ 2023-07-21 15:59 UTC (permalink / raw) To: Ng, Boon Khai, Krzysztof Kozlowski, Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, boon.khai.ng, Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Shevchenko, Andriy, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan, Shevchenko Andriy 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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping 2023-07-21 15:59 ` Florian Fainelli @ 2023-07-21 16:12 ` Ng, Boon Khai 2023-07-21 16:29 ` Florian Fainelli 2023-07-21 16:22 ` Krzysztof Kozlowski 1 sibling, 1 reply; 23+ messages in thread From: Ng, Boon Khai @ 2023-07-21 16:12 UTC (permalink / raw) To: Florian Fainelli, Krzysztof Kozlowski, Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Shevchenko, Andriy, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan, Shevchenko Andriy > -----Original Message----- > From: Florian Fainelli <f.fainelli@gmail.com> > Sent: Friday, July 21, 2023 11:59 PM > To: Ng, Boon Khai <boon.khai.ng@intel.com>; Krzysztof Kozlowski > <krzk@kernel.org>; Boon@ecsmtp.png.intel.com; Khai@ecsmtp.png.intel.com; > Ng, Boon Khai <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: 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 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). > Hi Florian, Understood, but how does user choose to have the default option either hardware strip or software strip, when the device just boot up? I don’t think ethool can "remember" the setting once the device get rebooted? Any other suggestion of doing it other than using the dts method? > 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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping 2023-07-21 16:12 ` Ng, Boon Khai @ 2023-07-21 16:29 ` Florian Fainelli 2023-07-21 16:45 ` Ng, Boon Khai 0 siblings, 1 reply; 23+ messages in thread From: Florian Fainelli @ 2023-07-21 16:29 UTC (permalink / raw) To: Ng, Boon Khai, Krzysztof Kozlowski, Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Shevchenko, Andriy, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan, Shevchenko Andriy On 7/21/2023 9:12 AM, Ng, Boon Khai wrote: >> -----Original Message----- >> From: Florian Fainelli <f.fainelli@gmail.com> >> Sent: Friday, July 21, 2023 11:59 PM >> To: Ng, Boon Khai <boon.khai.ng@intel.com>; Krzysztof Kozlowski >> <krzk@kernel.org>; Boon@ecsmtp.png.intel.com; Khai@ecsmtp.png.intel.com; >> Ng, Boon Khai <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: 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 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). >> > > Hi Florian, > > Understood, but how does user choose to have the default option > either hardware strip or software strip, when the device just boot up? You need the hardware to advertise it and decide as a maintainer of that driver whether it makes sense to have one or the other behavior by default. > > I don’t think ethool can "remember" the setting once the device get rebooted? If by "device" you mean a system that incorporates a XGMAC core, then I suppose that is true, though you could have some user-space logic that does remember the various ethtool options and re-applies them as soon as the device is made available to user-space, this would not be too far fetched. > Any other suggestion of doing it other than using the dts method? Let me ask you this question: what are you trying to solve by making this configurable? HW stripping should always be more efficient, should not it, if so, what would be the reasons for not enabling that by default? If not, then leave it off and let users enable it if they feel like they want it. -- Florian _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping 2023-07-21 16:29 ` Florian Fainelli @ 2023-07-21 16:45 ` Ng, Boon Khai 0 siblings, 0 replies; 23+ messages in thread From: Ng, Boon Khai @ 2023-07-21 16:45 UTC (permalink / raw) To: Florian Fainelli, Krzysztof Kozlowski, Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Shevchenko, Andriy, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan, Shevchenko Andriy > -----Original Message----- > From: Florian Fainelli <f.fainelli@gmail.com> > Sent: Saturday, July 22, 2023 12:30 AM > To: Ng, Boon Khai <boon.khai.ng@intel.com>; Krzysztof Kozlowski > <krzk@kernel.org>; Boon@ecsmtp.png.intel.com; > Khai@ecsmtp.png.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: 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 7/21/2023 9:12 AM, Ng, Boon Khai wrote: > >> -----Original Message----- > >> From: Florian Fainelli <f.fainelli@gmail.com> > >> Sent: Friday, July 21, 2023 11:59 PM > >> To: Ng, Boon Khai <boon.khai.ng@intel.com>; Krzysztof Kozlowski > >> <krzk@kernel.org>; Boon@ecsmtp.png.intel.com; > >> Khai@ecsmtp.png.intel.com; Ng, Boon Khai <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: 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 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). > >> > > > > Hi Florian, > > > > Understood, but how does user choose to have the default option either > > hardware strip or software strip, when the device just boot up? > > You need the hardware to advertise it and decide as a maintainer of that > driver whether it makes sense to have one or the other behavior by default. > Okay got it. > > > > I don’t think ethool can "remember" the setting once the device get > rebooted? > > If by "device" you mean a system that incorporates a XGMAC core, then I > suppose that is true, though you could have some user-space logic that does > remember the various ethtool options and re-applies them as soon as the > device is made available to user-space, this would not be too far fetched. > Okay, will try to search that, is adding the ethool command turning the Hw vlan striping at the startup script consider one way of doing it? > > Any other suggestion of doing it other than using the dts method? > > Let me ask you this question: what are you trying to solve by making this > configurable? HW stripping should always be more efficient, should not it, if > so, what would be the reasons for not enabling that by default? If not, then > leave it off and let users enable it if they feel like they want it. Okay, so seem like it is solely depends on my side whether or not to turn it on by default, Either way, if it go against the user will to have it on/off by default, they will need to write A startup script to turn the ethool on/off? > -- > Florian _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping 2023-07-21 15:59 ` Florian Fainelli 2023-07-21 16:12 ` Ng, Boon Khai @ 2023-07-21 16:22 ` Krzysztof Kozlowski 1 sibling, 0 replies; 23+ messages in thread From: Krzysztof Kozlowski @ 2023-07-21 16:22 UTC (permalink / raw) To: Florian Fainelli, Ng, Boon Khai, Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Shevchenko, Andriy, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan, Shevchenko Andriy On 21/07/2023 17:59, Florian Fainelli wrote: >>>> + /* 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. That's even better reason... Best regards, Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping 2023-07-21 15:30 ` Ng, Boon Khai 2023-07-21 15:59 ` Florian Fainelli @ 2023-07-21 16:22 ` Krzysztof Kozlowski 1 sibling, 0 replies; 23+ messages in thread From: Krzysztof Kozlowski @ 2023-07-21 16:22 UTC (permalink / raw) To: Ng, Boon Khai, Boon@ecsmtp.png.intel.com, Khai@ecsmtp.png.intel.com, Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin, netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Shevchenko, Andriy, Tham, Mun Yew, Swee, Leong Ching, G Thomas, Rohan, Shevchenko Andriy On 21/07/2023 17:30, Ng, Boon Khai wrote: >> 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 we do not print simple confirmation of DT properties parsing. It's usually useless and obvious from DT. To be clear - we talk about dev_info. Best regards, Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2023-07-22 3:33 UTC | newest] Thread overview: 23+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-07-21 6:26 [Enable Designware XGMAC VLAN Stripping Feature 0/2] Boon, Khai, Ng <boon.khai.ng 2023-07-21 6:26 ` [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload Boon, Khai, Ng <boon.khai.ng 2023-07-21 10:10 ` Krzysztof Kozlowski 2023-07-21 15:28 ` Ng, Boon Khai 2023-07-21 16:21 ` Krzysztof Kozlowski 2023-07-21 16:33 ` Ng, Boon Khai 2023-07-22 1:55 ` Jakub Kicinski 2023-07-22 3:32 ` Joe Perches 2023-07-21 16:26 ` Krzysztof Kozlowski 2023-07-21 16:39 ` Ng, Boon Khai 2023-07-21 10:17 ` Shevchenko Andriy 2023-07-21 15:35 ` Ng, Boon Khai 2023-07-21 15:48 ` Shevchenko, Andriy 2023-07-21 15:51 ` Ng, Boon Khai 2023-07-21 6:26 ` [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping Boon, Khai, Ng <boon.khai.ng 2023-07-21 10:11 ` Krzysztof Kozlowski 2023-07-21 15:30 ` Ng, Boon Khai 2023-07-21 15:59 ` Florian Fainelli 2023-07-21 16:12 ` Ng, Boon Khai 2023-07-21 16:29 ` Florian Fainelli 2023-07-21 16:45 ` Ng, Boon Khai 2023-07-21 16:22 ` Krzysztof Kozlowski 2023-07-21 16:22 ` Krzysztof Kozlowski
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).