<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net/ethernet/mediatek, branch linux-5.14.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.14.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.14.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2021-09-30T08:13:00Z</updated>
<entry>
<title>net: ethernet: mtk_eth_soc: avoid creating duplicate offload entries</title>
<updated>2021-09-30T08:13:00Z</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@nbd.name</email>
</author>
<published>2021-09-22T23:55:48Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6081c82c2ff8dc739dbc57c2bc2da9bd38f17ca1'/>
<id>urn:sha1:6081c82c2ff8dc739dbc57c2bc2da9bd38f17ca1</id>
<content type='text'>
[ Upstream commit e68daf61ed13832aef8892200a874139700ca754 ]

Sometimes multiple CLS_REPLACE calls are issued for the same connection.
rhashtable_insert_fast does not check for these duplicates, so multiple
hardware flow entries can be created.
Fix this by checking for an existing entry early

Fixes: 502e84e2382d ("net: ethernet: mtk_eth_soc: add flow offloading support")
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
Signed-off-by: Ilya Lipnitskiy &lt;ilya.lipnitskiy@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: ethernet: mtk_eth_soc: Fix packet statistics support for MT7628/88</title>
<updated>2021-05-23T23:13:11Z</updated>
<author>
<name>Stefan Roese</name>
<email>sr@denx.de</email>
</author>
<published>2021-05-22T07:56:30Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ad79fd2c42f7626bdf6935cd72134c2a5a59ff2d'/>
<id>urn:sha1:ad79fd2c42f7626bdf6935cd72134c2a5a59ff2d</id>
<content type='text'>
The MT7628/88 SoC(s) have other (limited) packet counter registers than
currently supported in the mtk_eth_soc driver. This patch adds support
for reading these registers, so that the packet statistics are correctly
updated.

Additionally the defines for the non-MT7628 variant packet counter
registers are added and used in this patch instead of using hard coded
values.

Signed-off-by: Stefan Roese &lt;sr@denx.de&gt;
Fixes: 296c9120752b ("net: ethernet: mediatek: Add MT7628/88 SoC support")
Cc: Felix Fietkau &lt;nbd@nbd.name&gt;
Cc: John Crispin &lt;john@phrozen.org&gt;
Cc: Ilya Lipnitskiy &lt;ilya.lipnitskiy@gmail.com&gt;
Cc: Reto Schneider &lt;code@reto-schneider.ch&gt;
Cc: Reto Schneider &lt;reto.schneider@husqvarnagroup.com&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ethernet: mtk_eth_soc: Fix DIM support for MT7628/88</title>
<updated>2021-05-21T20:18:05Z</updated>
<author>
<name>Stefan Roese</name>
<email>sr@denx.de</email>
</author>
<published>2021-05-20T08:43:18Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=430bfe0576120b52cf7f62116bc7549180da4706'/>
<id>urn:sha1:430bfe0576120b52cf7f62116bc7549180da4706</id>
<content type='text'>
When updating to latest mainline for some testing on the GARDENA smart
gateway based on the MT7628, I noticed that ethernet does not work any
more. Commit e9229ffd550b ("net: ethernet: mtk_eth_soc: implement
dynamic interrupt moderation") introduced this problem, as it missed the
RX_DIM &amp; TX_DIM configuration for this SoC variant. This patch fixes
this by calling mtk_dim_rx() &amp; mtk_dim_tx() in this case as well.

Signed-off-by: Stefan Roese &lt;sr@denx.de&gt;
Fixes: e9229ffd550b ("net: ethernet: mtk_eth_soc: implement dynamic interrupt moderation")
Cc: Felix Fietkau &lt;nbd@nbd.name&gt;
Cc: John Crispin &lt;john@phrozen.org&gt;
Cc: Ilya Lipnitskiy &lt;ilya.lipnitskiy@gmail.com&gt;
Cc: Reto Schneider &lt;code@reto-schneider.ch&gt;
Cc: Reto Schneider &lt;reto.schneider@husqvarnagroup.com&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ethernet: mtk_eth_soc: use iopoll.h macro for DMA init</title>
<updated>2021-04-23T20:31:58Z</updated>
<author>
<name>Ilya Lipnitskiy</name>
<email>ilya.lipnitskiy@gmail.com</email>
</author>
<published>2021-04-23T05:21:08Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=3bc8e0aff23be0526af0dbc7973a8866a08d73f1'/>
<id>urn:sha1:3bc8e0aff23be0526af0dbc7973a8866a08d73f1</id>
<content type='text'>
Replace a tight busy-wait loop without a pause with a standard
readx_poll_timeout_atomic routine with a 5 us poll period.

Tested by booting a MT7621 device to ensure the driver initializes
properly.

Signed-off-by: Ilya Lipnitskiy &lt;ilya.lipnitskiy@gmail.com&gt;
Reviewed-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ethernet: mtk_eth_soc: set PPE flow hash as skb hash if present</title>
<updated>2021-04-23T20:31:58Z</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@nbd.name</email>
</author>
<published>2021-04-23T05:21:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=fa817272c37ef78e25dc14e4760ac78a7043a18a'/>
<id>urn:sha1:fa817272c37ef78e25dc14e4760ac78a7043a18a</id>
<content type='text'>
This improves GRO performance

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
[Ilya: Use MTK_RXD4_FOE_ENTRY instead of GENMASK(13, 0)]
Signed-off-by: Ilya Lipnitskiy &lt;ilya.lipnitskiy@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ethernet: mtk_eth_soc: rework NAPI callbacks</title>
<updated>2021-04-23T20:31:58Z</updated>
<author>
<name>Ilya Lipnitskiy</name>
<email>ilya.lipnitskiy@gmail.com</email>
</author>
<published>2021-04-23T05:21:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=db2c7b353db3b3f71b55f9ff4627d8a786446fbe'/>
<id>urn:sha1:db2c7b353db3b3f71b55f9ff4627d8a786446fbe</id>
<content type='text'>
Use napi_complete_done to communicate total TX and RX work done to NAPI.
Count total RX work up instead of remaining work down for clarity.
Remove unneeded local variables for clarity. Use do {} while instead of
goto for clarity.

Suggested-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
Signed-off-by: Ilya Lipnitskiy &lt;ilya.lipnitskiy@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ethernet: mtk_eth_soc: reduce unnecessary interrupts</title>
<updated>2021-04-23T20:31:58Z</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@nbd.name</email>
</author>
<published>2021-04-23T05:21:05Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=16769a8923fad5a5377253bcd76b0e0d64976c73'/>
<id>urn:sha1:16769a8923fad5a5377253bcd76b0e0d64976c73</id>
<content type='text'>
Avoid rearming interrupt if napi_complete returns false

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
Signed-off-by: Ilya Lipnitskiy &lt;ilya.lipnitskiy@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ethernet: mtk_eth_soc: only read the full RX descriptor if DMA is done</title>
<updated>2021-04-23T20:31:58Z</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@nbd.name</email>
</author>
<published>2021-04-23T05:21:04Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=816ac3e6e67bdd78d86226c6eb53619780750e92'/>
<id>urn:sha1:816ac3e6e67bdd78d86226c6eb53619780750e92</id>
<content type='text'>
Uncached memory access is expensive, and there is no need to access all
descriptor words if we can't process them anyway

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
Signed-off-by: Ilya Lipnitskiy &lt;ilya.lipnitskiy@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ethernet: mtk_eth_soc: cache HW pointer of last freed TX descriptor</title>
<updated>2021-04-23T20:31:58Z</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@nbd.name</email>
</author>
<published>2021-04-23T05:21:03Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4e6bf609569c59b6bd6acf4a607c096cbd820d79'/>
<id>urn:sha1:4e6bf609569c59b6bd6acf4a607c096cbd820d79</id>
<content type='text'>
The value is only updated by the CPU, so it is cheaper to access from the
ring data structure than from a hardware register.

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
Signed-off-by: Ilya Lipnitskiy &lt;ilya.lipnitskiy@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ethernet: mtk_eth_soc: implement dynamic interrupt moderation</title>
<updated>2021-04-23T20:31:58Z</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@nbd.name</email>
</author>
<published>2021-04-23T05:21:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e9229ffd550b2d8c4997c67a501dbc3919fd4e26'/>
<id>urn:sha1:e9229ffd550b2d8c4997c67a501dbc3919fd4e26</id>
<content type='text'>
Reduces the number of interrupts under load

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
[Ilya: add documentation for new struct fields]
Signed-off-by: Ilya Lipnitskiy &lt;ilya.lipnitskiy@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
