<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net/ethernet/sfc/tx_common.c, 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>2020-09-12T00:15:22Z</updated>
<entry>
<title>sfc: de-indirect TSO handling</title>
<updated>2020-09-12T00:15:22Z</updated>
<author>
<name>Edward Cree</name>
<email>ecree@solarflare.com</email>
</author>
<published>2020-09-11T22:40:03Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=1679c72cf48552e75a624b9c9230e2c7c18cfffc'/>
<id>urn:sha1:1679c72cf48552e75a624b9c9230e2c7c18cfffc</id>
<content type='text'>
Remove the tx_queue-&gt;handle_tso function pointer, and just use
 tx_queue-&gt;tso_version to decide which function to call, thus removing
 an indirect call from the fast path.
Instead of passing a tso_v2 flag to efx_mcdi_tx_init(), set the desired
 tx_queue-&gt;tso_version before calling it.
In efx_mcdi_tx_init(), report back failure to obtain a TSOv2 context by
 setting tx_queue-&gt;tso_version to 0, which will cause the TX path to
 use the GSO-based fallback.

Signed-off-by: Edward Cree &lt;ecree@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sfc: decouple TXQ type from label</title>
<updated>2020-09-12T00:15:22Z</updated>
<author>
<name>Edward Cree</name>
<email>ecree@solarflare.com</email>
</author>
<published>2020-09-11T22:39:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=12804793b17c0e19115a90d98f2f3df0cb79e233'/>
<id>urn:sha1:12804793b17c0e19115a90d98f2f3df0cb79e233</id>
<content type='text'>
Make it possible to have an arbitrary mapping from types to labels,
 because when we add inner-csum-offload TXQs there will no longer be a
 convenient nesting hierarchy of NIC types (EF10 will have inner-csum
 TXQs, while Siena will have HIGHPRI).
Correct a misleading comment on efx_hard_start_xmit().

Signed-off-by: Edward Cree &lt;ecree@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sfc: use efx_channel_tx_[old_]fill_level() in Siena/EF10 TX datapath</title>
<updated>2020-09-05T19:21:40Z</updated>
<author>
<name>Edward Cree</name>
<email>ecree@solarflare.com</email>
</author>
<published>2020-09-03T21:35:13Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0d8c122907d96448495700fa2c6229ab519f3252'/>
<id>urn:sha1:0d8c122907d96448495700fa2c6229ab519f3252</id>
<content type='text'>
Instead of open-coding the calculation with efx_tx_queue_partner(), use
 the functions that iterate over numbers of queues other than 2 with
 efx_for_each_channel_tx_queue().

Signed-off-by: Edward Cree &lt;ecree@solarflare.com&gt;
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>sfc: add and use efx_tx_send_pending in tx.c</title>
<updated>2020-09-05T19:21:39Z</updated>
<author>
<name>Edward Cree</name>
<email>ecree@solarflare.com</email>
</author>
<published>2020-09-03T21:34:15Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=1c0544d24927e4fad04f858216b8ea767a3bd123'/>
<id>urn:sha1:1c0544d24927e4fad04f858216b8ea767a3bd123</id>
<content type='text'>
Instead of using efx_tx_queue_partner(), which relies on the assumption
 that tx_queues_per_channel is 2, efx_tx_send_pending() iterates over
 txqs with efx_for_each_channel_tx_queue().
We unconditionally set tx_queue-&gt;xmit_pending (renamed from
 xmit_more_available), then condition on xmit_more for the call to
 efx_tx_send_pending(), which will clear xmit_pending.  Thus, after an
 xmit_more TX, the doorbell is un-rung and xmit_pending is true.

Signed-off-by: Edward Cree &lt;ecree@solarflare.com&gt;
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>sfc_ef100: TX path for EF100 NICs</title>
<updated>2020-08-04T01:22:54Z</updated>
<author>
<name>Edward Cree</name>
<email>ecree@solarflare.com</email>
</author>
<published>2020-08-03T20:34:00Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d19a5372186336df8a90391c1ae2011e03310dca'/>
<id>urn:sha1:d19a5372186336df8a90391c1ae2011e03310dca</id>
<content type='text'>
Includes checksum offload and TSO, so declare those in our netdev features.

Signed-off-by: Edward Cree &lt;ecree@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sfc: don't call tx_limit_len if NIC type doesn't have one</title>
<updated>2020-07-02T21:47:40Z</updated>
<author>
<name>Edward Cree</name>
<email>ecree@solarflare.com</email>
</author>
<published>2020-07-02T16:30:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=79de6e7cb8ac9bd0c98be663d414f85ef90c1196'/>
<id>urn:sha1:79de6e7cb8ac9bd0c98be663d414f85ef90c1196</id>
<content type='text'>
EF100 doesn't need to split up large DMAs.

Signed-off-by: Edward Cree &lt;ecree@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sfc: factor out efx_tx_tso_header_length() and understand encapsulation</title>
<updated>2020-06-30T20:09:09Z</updated>
<author>
<name>Edward Cree</name>
<email>ecree@solarflare.com</email>
</author>
<published>2020-06-30T12:13:15Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e7a256858f5fb58949c6f03c52e70cc98a4ad542'/>
<id>urn:sha1:e7a256858f5fb58949c6f03c52e70cc98a4ad542</id>
<content type='text'>
ef100 will need to check this against NIC limits.

Signed-off-by: Edward Cree &lt;ecree@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sfc: remove duplicate declaration of efx_enqueue_skb_tso()</title>
<updated>2020-06-30T20:09:09Z</updated>
<author>
<name>Edward Cree</name>
<email>ecree@solarflare.com</email>
</author>
<published>2020-06-30T12:12:49Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=93841000ed9fc86dd9615a1048abb31c07792e0b'/>
<id>urn:sha1:93841000ed9fc86dd9615a1048abb31c07792e0b</id>
<content type='text'>
Define it in nic_common.h, even though the ef100 driver will have a
 different implementation backing it (actually a WARN_ON_ONCE as it
 should never get called by ef100.  But it needs to still exist because
 common TX path code references it).

Signed-off-by: Edward Cree &lt;ecree@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sfc: commonise TSO fallback code</title>
<updated>2020-06-30T20:09:09Z</updated>
<author>
<name>Edward Cree</name>
<email>ecree@solarflare.com</email>
</author>
<published>2020-06-30T12:12:17Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=740acc15c8a52c959111a9fbad974e9b0e5b4eb7'/>
<id>urn:sha1:740acc15c8a52c959111a9fbad974e9b0e5b4eb7</id>
<content type='text'>
ef100 will need this if it gets GSO skbs it can't handle (e.g. too long
 header length).

Signed-off-by: Edward Cree &lt;ecree@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sfc: complete the next packet when we receive a timestamp</title>
<updated>2020-03-05T22:56:57Z</updated>
<author>
<name>Tom Zhao</name>
<email>tzhao@solarflare.com</email>
</author>
<published>2020-03-05T11:38:45Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=3b4f06c715d0d3ecd6497275e3c85fe91462d0ee'/>
<id>urn:sha1:3b4f06c715d0d3ecd6497275e3c85fe91462d0ee</id>
<content type='text'>
We now ignore the "completion" event when using tx queue timestamping,
and only pay attention to the two (high and low) timestamp events. The
NIC will send a pair of timestamp events for every packet transmitted.
The current firmware may merge the completion events, and it is possible
that future versions may reorder the completion and timestamp events.
As such the completion event is not useful.

Without this patch in place a merged completion event on a queue with
timestamping will cause a "spurious TX completion" error. This affects
SFN8000-series adapters.

Signed-off-by: Tom Zhao &lt;tzhao@solarflare.com&gt;
Acked-by: Martin Habets &lt;mhabets@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
