<feed xmlns='http://www.w3.org/2005/Atom'>
<title>starfive-tech/linux.git/drivers/net, branch visionfive_v1_5.13</title>
<subtitle>StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)</subtitle>
<id>https://git.radix-linux.su/starfive-tech/linux.git/atom?h=visionfive_v1_5.13</id>
<link rel='self' href='https://git.radix-linux.su/starfive-tech/linux.git/atom?h=visionfive_v1_5.13'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/'/>
<updated>2021-11-03T07:00:34+00:00</updated>
<entry>
<title>remove some temporary debug information</title>
<updated>2021-11-03T07:00:34+00:00</updated>
<author>
<name>WalkerChenL</name>
<email>walker.chen@starfivetech.com</email>
</author>
<published>2021-11-03T07:00:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=09291cbc2ff440489cce253dbb0dceae6edfe13e'/>
<id>urn:sha1:09291cbc2ff440489cce253dbb0dceae6edfe13e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Revert "This is just for testing git"</title>
<updated>2021-11-03T06:55:11+00:00</updated>
<author>
<name>WalkerChenL</name>
<email>walker.chen@starfivetech.com</email>
</author>
<published>2021-11-03T06:55:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=b637fd07fd4444b08dd278e2da1f047a553e39d5'/>
<id>urn:sha1:b637fd07fd4444b08dd278e2da1f047a553e39d5</id>
<content type='text'>
This reverts commit 472748ba1b8f4e9c2ab7ef4bb6ce967a19c2945c.
</content>
</entry>
<entry>
<title>This is just for testing git</title>
<updated>2021-11-02T06:19:25+00:00</updated>
<author>
<name>WalkerChenL</name>
<email>walker.chen@starfivetech.com</email>
</author>
<published>2021-11-02T06:19:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=472748ba1b8f4e9c2ab7ef4bb6ce967a19c2945c'/>
<id>urn:sha1:472748ba1b8f4e9c2ab7ef4bb6ce967a19c2945c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add eth phy driver(yt8521) to VisionFive board</title>
<updated>2021-11-02T05:41:18+00:00</updated>
<author>
<name>WalkerChenL</name>
<email>walker.chen@starfivetech.com</email>
</author>
<published>2021-11-02T05:41:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=19ddc3b9da4ce81d841b57185811f5bfcb6da801'/>
<id>urn:sha1:19ddc3b9da4ce81d841b57185811f5bfcb6da801</id>
<content type='text'>
</content>
</entry>
<entry>
<title>net: stmmac: use GFP_DMA32</title>
<updated>2021-08-26T21:07:33+00:00</updated>
<author>
<name>Matteo Croce</name>
<email>mcroce@microsoft.com</email>
</author>
<published>2021-05-21T01:26:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=5772719603038e9f1516e8100b63541b907ae73a'/>
<id>urn:sha1:5772719603038e9f1516e8100b63541b907ae73a</id>
<content type='text'>
Signed-off-by: Matteo Croce &lt;mcroce@microsoft.com&gt;
</content>
</entry>
<entry>
<title>net: stmmac: Configure gtxclk based on speed</title>
<updated>2021-08-26T21:07:33+00:00</updated>
<author>
<name>Tom</name>
<email>support@vamrs.com</email>
</author>
<published>2021-04-06T05:30:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=d5d68fbccf867b92c7313ee8f4355309006a7ba7'/>
<id>urn:sha1:d5d68fbccf867b92c7313ee8f4355309006a7ba7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stmmac: align RX buffers</title>
<updated>2021-08-26T20:45:24+00:00</updated>
<author>
<name>Matteo Croce</name>
<email>mcroce@microsoft.com</email>
</author>
<published>2021-06-14T02:25:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=565abdd13bf1434ab402e85759094c8d13b9e017'/>
<id>urn:sha1:565abdd13bf1434ab402e85759094c8d13b9e017</id>
<content type='text'>
commit a955318fe67ec0d962760b5ee58e74bffaf649b8 upstream.

On RX an SKB is allocated and the received buffer is copied into it.
But on some architectures, the memcpy() needs the source and destination
buffers to have the same alignment to be efficient.

This is not our case, because SKB data pointer is misaligned by two bytes
to compensate the ethernet header.

Align the RX buffer the same way as the SKB one, so the copy is faster.
An iperf3 RX test gives a decent improvement on a RISC-V machine:

before:
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   733 MBytes   615 Mbits/sec   88             sender
[  5]   0.00-10.01  sec   730 MBytes   612 Mbits/sec                  receiver

after:
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.10 GBytes   942 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.09 GBytes   940 Mbits/sec                  receiver

And the memcpy() overhead during the RX drops dramatically.

before:
Overhead  Shared O  Symbol
  43.35%  [kernel]  [k] memcpy
  33.77%  [kernel]  [k] __asm_copy_to_user
   3.64%  [kernel]  [k] sifive_l2_flush64_range

after:
Overhead  Shared O  Symbol
  45.40%  [kernel]  [k] __asm_copy_to_user
  28.09%  [kernel]  [k] memcpy
   4.27%  [kernel]  [k] sifive_l2_flush64_range

Signed-off-by: Matteo Croce &lt;mcroce@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: dpaa2-switch: disable the control interface on error path</title>
<updated>2021-08-26T12:35:12+00:00</updated>
<author>
<name>Vladimir Oltean</name>
<email>vladimir.oltean@nxp.com</email>
</author>
<published>2021-08-19T14:17:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=b89542f4a60b3e702bc0831da4aa619fbbfaa82d'/>
<id>urn:sha1:b89542f4a60b3e702bc0831da4aa619fbbfaa82d</id>
<content type='text'>
[ Upstream commit cd0a719fbd702eb4b455a6ad986483750125588a ]

Currently dpaa2_switch_takedown has a funny name and does not do the
opposite of dpaa2_switch_init, which makes probing fail when we need to
handle an -EPROBE_DEFER.

A sketch of what dpaa2_switch_init does:

	dpsw_open

	dpaa2_switch_detect_features

	dpsw_reset

	for (i = 0; i &lt; ethsw-&gt;sw_attr.num_ifs; i++) {
		dpsw_if_disable

		dpsw_if_set_stp

		dpsw_vlan_remove_if_untagged

		dpsw_if_set_tci

		dpsw_vlan_remove_if
	}

	dpsw_vlan_remove

	alloc_ordered_workqueue

	dpsw_fdb_remove

	dpaa2_switch_ctrl_if_setup

When dpaa2_switch_takedown is called from the error path of
dpaa2_switch_probe(), the control interface, enabled by
dpaa2_switch_ctrl_if_setup from dpaa2_switch_init, remains enabled,
because dpaa2_switch_takedown does not call
dpaa2_switch_ctrl_if_teardown.

Since dpaa2_switch_probe might fail due to EPROBE_DEFER of a PHY, this
means that a second probe of the driver will happen with the control
interface directly enabled.

This will trigger a second error:

[   93.273528] fsl_dpaa2_switch dpsw.0: dpsw_ctrl_if_set_pools() failed
[   93.281966] fsl_dpaa2_switch dpsw.0: fsl_mc_driver_probe failed: -13
[   93.288323] fsl_dpaa2_switch: probe of dpsw.0 failed with error -13

Which if we investigate the /dev/dpaa2_mc_console log, we find out is
caused by:

[E, ctrl_if_set_pools:2211, DPMNG]  ctrl_if must be disabled

So make dpaa2_switch_takedown do the opposite of dpaa2_switch_init (in
reasonable limits, no reason to change STP state, re-add VLANs etc), and
rename it to something more conventional, like dpaa2_switch_teardown.

Fixes: 613c0a5810b7 ("staging: dpaa2-switch: enable the control interface")
Signed-off-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;
Reviewed-by: Ioana Ciornei &lt;ioana.ciornei@nxp.com&gt;
Link: https://lore.kernel.org/r/20210819141755.1931423-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>iavf: Fix ping is lost after untrusted VF had tried to change MAC</title>
<updated>2021-08-26T12:35:12+00:00</updated>
<author>
<name>Sylwester Dziedziuch</name>
<email>sylwesterx.dziedziuch@intel.com</email>
</author>
<published>2021-08-18T17:42:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=260b1eb312a0b0684a962ab825e91ba16ba1982d'/>
<id>urn:sha1:260b1eb312a0b0684a962ab825e91ba16ba1982d</id>
<content type='text'>
[ Upstream commit 8da80c9d50220a8e4190a4eaa0dd6aeefcbbb5bf ]

Make changes to MAC address dependent on the response of PF.
Disallow changes to HW MAC address and MAC filter from untrusted
VF, thanks to that ping is not lost if VF tries to change MAC.
Add a new field in iavf_mac_filter, to indicate whether there
was response from PF for given filter. Based on this field pass
or discard the filter.
If untrusted VF tried to change it's address, it's not changed.
Still filter was changed, because of that ping couldn't go through.

Fixes: c5c922b3e09b ("iavf: fix MAC address setting for VFs when filter is rejected")
Signed-off-by: Przemyslaw Patynowski &lt;przemyslawx.patynowski@intel.com&gt;
Signed-off-by: Sylwester Dziedziuch &lt;sylwesterx.dziedziuch@intel.com&gt;
Signed-off-by: Mateusz Palczewski &lt;mateusz.palczewski@intel.com&gt;
Tested-by: Gurucharan G &lt;Gurucharanx.g@intel.com&gt;
Signed-off-by: Tony Nguyen &lt;anthony.l.nguyen@intel.com&gt;
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>i40e: Fix ATR queue selection</title>
<updated>2021-08-26T12:35:11+00:00</updated>
<author>
<name>Arkadiusz Kubalewski</name>
<email>arkadiusz.kubalewski@intel.com</email>
</author>
<published>2021-08-18T17:42:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=ea1cf8a6d9660405e7f2f907767deb81731f4f36'/>
<id>urn:sha1:ea1cf8a6d9660405e7f2f907767deb81731f4f36</id>
<content type='text'>
[ Upstream commit a222be597e316389f9f8c26033352c124ce93056 ]

Without this patch, ATR does not work. Receive/transmit uses queue
selection based on SW DCB hashing method.

If traffic classes are not configured for PF, then use
netdev_pick_tx function for selecting queue for packet transmission.
Instead of calling i40e_swdcb_skb_tx_hash, call netdev_pick_tx,
which ensures that packet is transmitted/received from CPU that is
running the application.

Reproduction steps:
1. Load i40e driver
2. Map each MSI interrupt of i40e port for each CPU
3. Disable ntuple, enable ATR i.e.:
ethtool -K $interface ntuple off
ethtool --set-priv-flags $interface flow-director-atr
4. Run application that is generating traffic and is bound to a
single CPU, i.e.:
taskset -c 9 netperf -H 1.1.1.1 -t TCP_RR -l 10
5. Observe behavior:
Application's traffic should be restricted to the CPU provided in
taskset.

Fixes: 89ec1f0886c1 ("i40e: Fix queue-to-TC mapping on Tx")
Signed-off-by: Przemyslaw Patynowski &lt;przemyslawx.patynowski@intel.com&gt;
Signed-off-by: Arkadiusz Kubalewski &lt;arkadiusz.kubalewski@intel.com&gt;
Tested-by: Dave Switzer &lt;david.switzer@intel.com&gt;
Signed-off-by: Tony Nguyen &lt;anthony.l.nguyen@intel.com&gt;
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
</feed>
