From: Florian Fainelli <f.fainelli@gmail.com>
To: "Ng, Boon Khai" <boon.khai.ng@intel.com>,
Krzysztof Kozlowski <krzk@kernel.org>,
"Boon@ecsmtp.png.intel.com" <Boon@ecsmtp.png.intel.com>,
"Khai@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" <netdev@vger.kernel.org>,
"linux-stm32@st-md-mailman.stormreply.com"
<linux-stm32@st-md-mailman.stormreply.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.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
Date: Fri, 21 Jul 2023 09:29:30 -0700 [thread overview]
Message-ID: <4dbc07fa-e446-8694-3371-fa2d0432fbc6@gmail.com> (raw)
In-Reply-To: <DM8PR11MB5751B68955275006A16E1C75C13FA@DM8PR11MB5751.namprd11.prod.outlook.com>
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
next prev parent reply other threads:[~2023-07-21 16:31 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20230721062617.9810-1-boon.khai.ng@intel.com>
[not found] ` <20230721062617.9810-3-boon.khai.ng@intel.com>
2023-07-21 10:11 ` [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping 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 [this message]
2023-07-21 16:45 ` Ng, Boon Khai
2023-07-21 16:22 ` Krzysztof Kozlowski
2023-07-21 16:22 ` Krzysztof Kozlowski
[not found] ` <20230721062617.9810-2-boon.khai.ng@intel.com>
2023-07-21 10:10 ` [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 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-25 1:04 ` Jakub Kicinski
2023-07-25 3:53 ` Joe Perches
2023-07-25 7:33 ` Geert Uytterhoeven
2023-07-25 13:19 ` Mario Limonciello
2023-07-25 13:43 ` Joe Perches
2023-07-25 14:37 ` Krzysztof Kozlowski
2023-07-25 15:59 ` [PATCH] scripts: checkpatch: steer people away from using file paths Jakub Kicinski
2023-07-25 16:53 ` Greg KH
2023-07-25 17:10 ` Jakub Kicinski
2023-07-25 17:25 ` Greg KH
2023-07-25 19:52 ` Jakub Kicinski
2023-07-25 21:01 ` Joe Perches
2023-07-25 16:57 ` Krzysztof Kozlowski
2023-07-25 21:18 ` Joe Perches
2023-07-25 22:15 ` Jakub Kicinski
2023-07-26 6:28 ` Joe Perches
2023-07-21 16:26 ` [Enable Designware XGMAC VLAN Stripping Feature 1/2] dt-bindings: net: snps,dwmac: Add description for rx-vlan-offload 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4dbc07fa-e446-8694-3371-fa2d0432fbc6@gmail.com \
--to=f.fainelli@gmail.com \
--cc=Boon@ecsmtp.png.intel.com \
--cc=Khai@ecsmtp.png.intel.com \
--cc=alexandre.torgue@foss.st.com \
--cc=andriy.shevchenko@intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=boon.khai.ng@intel.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=joabreu@synopsys.com \
--cc=krzk@kernel.org \
--cc=kuba@kernel.org \
--cc=leong.ching.swee@intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=mun.yew.tham@intel.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=peppe.cavallaro@st.com \
--cc=rohan.g.thomas@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).