<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-linux/drivers/net/ethernet/pensando/ionic/ionic_dev.h, branch jd/unified-crypt-queue</title>
<subtitle>WireGuard for the Linux kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-linux/atom/drivers/net/ethernet/pensando/ionic/ionic_dev.h?h=jd%2Funified-crypt-queue</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-linux/atom/drivers/net/ethernet/pensando/ionic/ionic_dev.h?h=jd%2Funified-crypt-queue'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/'/>
<updated>2020-03-30T18:40:50Z</updated>
<entry>
<title>ionic: remove lifs on fw reset</title>
<updated>2020-03-30T18:40:50Z</updated>
<author>
<name>Shannon Nelson</name>
<email>snelson@pensando.io</email>
</author>
<published>2020-03-28T03:14:48Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=c672412f6172d66e34f2c6583cd65d2383a75b4e'/>
<id>urn:sha1:c672412f6172d66e34f2c6583cd65d2383a75b4e</id>
<content type='text'>
When the FW RESET event comes to the driver from the firmware,
or the fw_status goes to 0 (stopped) or to 0xff (no PCI
connection), then shut down the driver activity.  This event
signals a FW upgrade where we need to quiesce all operations and
wait for the FW to restart.  The FW will continue the update
process once it sees all the LIFs are reset.  When the update
process is done it will set the fw_status back to RUNNING.
Meanwhile, the heartbeat check continues and when the fw_status
is seen as set to running we can restart the driver operations.

Signed-off-by: Shannon Nelson &lt;snelson@pensando.io&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ionic: support sr-iov operations</title>
<updated>2020-01-05T22:51:02Z</updated>
<author>
<name>Shannon Nelson</name>
<email>snelson@pensando.io</email>
</author>
<published>2020-01-03T17:55:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=fbb39807e9ae0f60e2f6a0a628aadab73554fbbe'/>
<id>urn:sha1:fbb39807e9ae0f60e2f6a0a628aadab73554fbbe</id>
<content type='text'>
Add the netdev ops for managing VFs.  Since most of the
management work happens in the NIC firmware, the driver becomes
mostly a pass-through for the network stack commands that want
to control and configure the VFs.

We also tweak ionic_station_set() a little to allow for
the VFs that start off with a zero'd mac address.

Signed-off-by: Shannon Nelson &lt;snelson@pensando.io&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ionic: implement support for rx sgl</title>
<updated>2019-10-26T03:52:36Z</updated>
<author>
<name>Shannon Nelson</name>
<email>snelson@pensando.io</email>
</author>
<published>2019-10-24T00:48:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=08f2e4b2b2008ce461dd6958caa616a2e3a30ac8'/>
<id>urn:sha1:08f2e4b2b2008ce461dd6958caa616a2e3a30ac8</id>
<content type='text'>
Even out Rx performance across MTU sizes by changing from full
skb allocations to page-based frag allocations.  The device
supports a form of scatter-gather in the Rx path, so we can
set up a number of pages for each descriptor, all of which are
easier to alloc and pass around than the standard kzalloc'd
buffer.  An skb is wrapped around the pages while processing
the received packets, and pages are recycled as needed, or
left alone if they weren't used in the Rx.

Signed-off-by: Shannon Nelson &lt;snelson@pensando.io&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ionic: add a watchdog timer to monitor heartbeat</title>
<updated>2019-10-26T03:52:36Z</updated>
<author>
<name>Shannon Nelson</name>
<email>snelson@pensando.io</email>
</author>
<published>2019-10-24T00:48:58Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=089406bc5ad639e4fcc9419f70f4d3d91d7370cb'/>
<id>urn:sha1:089406bc5ad639e4fcc9419f70f4d3d91d7370cb</id>
<content type='text'>
Add a watchdog to periodically monitor the NIC heartbeat.

Signed-off-by: Shannon Nelson &lt;snelson@pensando.io&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ionic: add heartbeat check</title>
<updated>2019-10-26T03:52:36Z</updated>
<author>
<name>Shannon Nelson</name>
<email>snelson@pensando.io</email>
</author>
<published>2019-10-24T00:48:57Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=97ca486592c0e940a85a06b3ca37dcb6962b2a04'/>
<id>urn:sha1:97ca486592c0e940a85a06b3ca37dcb6962b2a04</id>
<content type='text'>
Most of our firmware has a heartbeat feature that the driver
can watch for to see if the FW is still alive and likely to
answer a dev_cmd or AdminQ request.

Signed-off-by: Shannon Nelson &lt;snelson@pensando.io&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ionic: Add coalesce and other features</title>
<updated>2019-09-05T07:24:44Z</updated>
<author>
<name>Shannon Nelson</name>
<email>snelson@pensando.io</email>
</author>
<published>2019-09-03T22:28:21Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=8c15440bce31afd5eea8c696f31a774bef4e5208'/>
<id>urn:sha1:8c15440bce31afd5eea8c696f31a774bef4e5208</id>
<content type='text'>
Interrupt coalescing, tunable copybreak value, and
tx timeout.

Signed-off-by: Shannon Nelson &lt;snelson@pensando.io&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ionic: Add initial ethtool support</title>
<updated>2019-09-05T07:24:44Z</updated>
<author>
<name>Shannon Nelson</name>
<email>snelson@pensando.io</email>
</author>
<published>2019-09-03T22:28:16Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=4d03e00a21409f63668349ae4123f5707d9a28cf'/>
<id>urn:sha1:4d03e00a21409f63668349ae4123f5707d9a28cf</id>
<content type='text'>
Add in the basic ethtool callbacks for device information
and control.

Signed-off-by: Shannon Nelson &lt;snelson@pensando.io&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ionic: Add the basic NDO callbacks for netdev support</title>
<updated>2019-09-05T07:24:43Z</updated>
<author>
<name>Shannon Nelson</name>
<email>snelson@pensando.io</email>
</author>
<published>2019-09-03T22:28:12Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=beead698b1736dfa4061dd2e3fe3efef6d0c49b4'/>
<id>urn:sha1:beead698b1736dfa4061dd2e3fe3efef6d0c49b4</id>
<content type='text'>
Set up the initial NDO structure and callbacks for netdev
to use, and register the netdev.  This will allow us to do
a few basic operations on the device, but no traffic yet.

Signed-off-by: Shannon Nelson &lt;snelson@pensando.io&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ionic: Add basic adminq support</title>
<updated>2019-09-05T07:24:43Z</updated>
<author>
<name>Shannon Nelson</name>
<email>snelson@pensando.io</email>
</author>
<published>2019-09-03T22:28:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=1d062b7b6f6408fd43f447f90338cfade4168170'/>
<id>urn:sha1:1d062b7b6f6408fd43f447f90338cfade4168170</id>
<content type='text'>
Most of the NIC configuration happens through the AdminQ message
queue.  NAPI is used for basic interrupt handling and message
queue management.  These routines are set up to be shared among
different types of queues when used in slow-path handling.

Signed-off-by: Shannon Nelson &lt;snelson@pensando.io&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ionic: Add interrupts and doorbells</title>
<updated>2019-09-05T07:24:43Z</updated>
<author>
<name>Shannon Nelson</name>
<email>snelson@pensando.io</email>
</author>
<published>2019-09-03T22:28:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=6461b446f2a0f40c038f1d09c69d1e5565a84a43'/>
<id>urn:sha1:6461b446f2a0f40c038f1d09c69d1e5565a84a43</id>
<content type='text'>
The ionic interrupt model is based on interrupt control blocks
accessed through the PCI BAR.  Doorbell registers are used by
the driver to signal to the NIC that requests are waiting on
the message queues.  Interrupts are used by the NIC to signal
to the driver that answers are waiting on the completion queues.

Signed-off-by: Shannon Nelson &lt;snelson@pensando.io&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
