<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/amazon, branch linux-4.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-06-23T18:15:11Z</updated>
<entry>
<title>net: ena: update ena driver to version 1.2.0</title>
<updated>2017-06-23T18:15:11Z</updated>
<author>
<name>Netanel Belgazal</name>
</author>
<published>2017-06-23T08:22:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8523899912b6958ef471d2393c016f87dc4f0354'/>
<id>urn:sha1:8523899912b6958ef471d2393c016f87dc4f0354</id>
<content type='text'>
Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: update driver's rx drop statistics</title>
<updated>2017-06-23T18:15:11Z</updated>
<author>
<name>Netanel Belgazal</name>
</author>
<published>2017-06-23T08:21:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=11a9a460199f35f6cbd9d65516a262060cba4fec'/>
<id>urn:sha1:11a9a460199f35f6cbd9d65516a262060cba4fec</id>
<content type='text'>
rx drop counter is reported by the device in the keep-alive
event.
update the driver's counter with the device counter.

Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: use lower_32_bits()/upper_32_bits() to split dma address</title>
<updated>2017-06-23T18:15:10Z</updated>
<author>
<name>Netanel Belgazal</name>
</author>
<published>2017-06-23T08:21:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3ae5907c61587ed8327484bfdda87de0257ea73f'/>
<id>urn:sha1:3ae5907c61587ed8327484bfdda87de0257ea73f</id>
<content type='text'>
In ena_com_mem_addr_set(), use the above functions to split dma address
to the lower 32 bits and the higher 16 bits.

Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: separate skb allocation to dedicated function</title>
<updated>2017-06-23T18:15:10Z</updated>
<author>
<name>Netanel Belgazal</name>
</author>
<published>2017-06-23T08:21:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4265114d5391ed92d7860472c7c8dfe866707106'/>
<id>urn:sha1:4265114d5391ed92d7860472c7c8dfe866707106</id>
<content type='text'>
Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: use napi_schedule_irqoff when possible</title>
<updated>2017-06-23T18:15:10Z</updated>
<author>
<name>Netanel Belgazal</name>
</author>
<published>2017-06-23T08:21:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e745dafab0340edaa522b43fd36b38e646c2963d'/>
<id>urn:sha1:e745dafab0340edaa522b43fd36b38e646c2963d</id>
<content type='text'>
Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: allow the driver to work with small number of msix vectors</title>
<updated>2017-06-23T18:15:10Z</updated>
<author>
<name>Netanel Belgazal</name>
</author>
<published>2017-06-23T08:21:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=06443684daede6ded1fab8f8729249436fb0cd8e'/>
<id>urn:sha1:06443684daede6ded1fab8f8729249436fb0cd8e</id>
<content type='text'>
Current driver tries to allocate msix vectors as the number of the
negotiated io queues. (with another msix vector for management).
If pci_alloc_irq_vectors() fails, the driver aborts the probe
and the ENA network device is never brought up.

With this patch, the driver's logic will reduce the number of IO
queues to the number of allocated msix vectors (minus one for management)
instead of failing probe().

Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: add support for out of order rx buffers refill</title>
<updated>2017-06-23T18:15:09Z</updated>
<author>
<name>Netanel Belgazal</name>
</author>
<published>2017-06-23T08:21:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ad974baef2a17a170fe837ad19f10dcab63e9470'/>
<id>urn:sha1:ad974baef2a17a170fe837ad19f10dcab63e9470</id>
<content type='text'>
ENA driver post Rx buffers through the Rx submission queue
for the ENA device to fill them with receive packets.
Each Rx buffer is marked with req_id in the Rx descriptor.

Newer ENA devices could consume the posted Rx buffer in out of order,
and as result the corresponding Rx completion queue will have Rx
completion descriptors with non contiguous req_id(s)

In this change the driver holds two rings.
The first ring (called free_rx_ids) is a mapping ring.
It holds all the unused request ids.
The values in this ring are from 0 to ring_size -1.

When the driver wants to allocate a new Rx buffer it uses the head of
free_rx_ids and uses it's value as the index for rx_buffer_info ring.
The req_id is also written to the Rx descriptor

Upon Rx completion,
The driver took the req_id from the completion descriptor and uses it
as index in rx_buffer_info.
The req_id is then return to the free_rx_ids ring.

This patch also adds statistics to inform when the driver receive out
of range or unused req_id.

Note:
free_rx_ids is only accessible from the napi handler, so no locking is
required

Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: add reset reason for each device FLR</title>
<updated>2017-06-23T18:15:09Z</updated>
<author>
<name>Netanel Belgazal</name>
</author>
<published>2017-06-23T08:21:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e2eed0e307f671e37f3829dfec5dbb1fba826a15'/>
<id>urn:sha1:e2eed0e307f671e37f3829dfec5dbb1fba826a15</id>
<content type='text'>
For each device reset, log to the device what is the cause
the reset occur.

Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: change sizeof() argument to be the type pointer</title>
<updated>2017-06-23T18:15:09Z</updated>
<author>
<name>Netanel Belgazal</name>
</author>
<published>2017-06-23T08:21:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=917501109cf4ea4c47991f593111338811369bf5'/>
<id>urn:sha1:917501109cf4ea4c47991f593111338811369bf5</id>
<content type='text'>
Instead of using:
memset(ptr, 0x0, sizeof(struct ...))
use:
memset(ptr, 0x0, sizeor(*ptr))

Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: add hardware hints capability to the driver</title>
<updated>2017-06-23T18:15:08Z</updated>
<author>
<name>Netanel Belgazal</name>
</author>
<published>2017-06-23T08:21:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=82ef30f13be0b4fea70a9c6215f7cff40bb3be63'/>
<id>urn:sha1:82ef30f13be0b4fea70a9c6215f7cff40bb3be63</id>
<content type='text'>
With this patch, ENA device can update the ena driver about
the desired timeout values:
These values are part of the "hardware hints" which are transmitted
to the driver as Asynchronous event through ENA async
event notification queue.

In case the ENA device does not support this capability,
the driver will use its own default values.

Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
