<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/sfc, branch linux-3.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-09-16T20:33:34Z</updated>
<entry>
<title>sfc: fix addr_list_lock spinlock use before init</title>
<updated>2014-09-16T20:33:34Z</updated>
<author>
<name>Edward Cree</name>
</author>
<published>2014-09-16T16:05:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f650fb456f2079b762c131a11397c0a966e2bfe4'/>
<id>urn:sha1:f650fb456f2079b762c131a11397c0a966e2bfe4</id>
<content type='text'>
Reported by Nikolay Aleksandrov.  In efx_init_port() we call
 efx_mac_reconfigure() to work around a Falcon/A1 limitation, and this calls
 efx_{arch}_filter_sync_rx_mode(), which takes the addr_list_lock; but this
 lock is uninitialised, because we haven't called register_netdevice() yet.
So, in efx_farch_filter_sync_rx_mode(), check efx_dev_registered() before
 doing anything else.
The EF10 equivalent, efx_ef10_filter_sync_rx_mode(), already has the
 corresponding check.

Signed-off-by: Edward Cree &lt;ecree@solarflare.com&gt;
Tested-by: Nikolay Aleksandrov &lt;nikolay@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use</title>
<updated>2014-08-12T18:15:14Z</updated>
<author>
<name>Benoit Taine</name>
</author>
<published>2014-08-08T13:56:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9baa3c34ac4e27f7e062f266f50cc5dbea26a6c1'/>
<id>urn:sha1:9baa3c34ac4e27f7e062f266f50cc5dbea26a6c1</id>
<content type='text'>
We should prefer `struct pci_device_id` over `DEFINE_PCI_DEVICE_TABLE` to
meet kernel coding style guidelines.  This issue was reported by checkpatch.

A simplified version of the semantic patch that makes this change is as
follows (http://coccinelle.lip6.fr/):

// &lt;smpl&gt;

@@
identifier i;
declarer name DEFINE_PCI_DEVICE_TABLE;
initializer z;
@@

- DEFINE_PCI_DEVICE_TABLE(i)
+ const struct pci_device_id i[]
= z;

// &lt;/smpl&gt;

[bhelgaas: add semantic patch]
Signed-off-by: Benoit Taine &lt;benoit.taine@lip6.fr&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;</content>
</entry>
<entry>
<title>sfc: Use __iowrite64_copy instead of a slightly different local function</title>
<updated>2014-07-29T22:30:29Z</updated>
<author>
<name>Ben Hutchings</name>
</author>
<published>2014-07-27T02:14:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4984c23735132790e8f2dfdd35849dba3bd7264f'/>
<id>urn:sha1:4984c23735132790e8f2dfdd35849dba3bd7264f</id>
<content type='text'>
__iowrite64_copy() isn't quite the same as efx_memcpy_64(), but
it looks close enough:

- The length is in units of qwords not bytes
- It never byte-swaps, but that doesn't make a difference now as PIO
  is only enabled for x86_64
- It doesn't include any memory barriers, but that's OK as there is a
  barrier just before pushing the doorbell
- mlx4_en uses it for the same purpose

Compile-tested only.

Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Acked-by: Edward Cree &lt;ecree@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sfc: Add support for busy polling</title>
<updated>2014-07-23T02:55:20Z</updated>
<author>
<name>Alexandre Rames</name>
</author>
<published>2014-07-22T13:03:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=36763266bbe8a2e93a7639b99bac2fee2c42bc5b'/>
<id>urn:sha1:36763266bbe8a2e93a7639b99bac2fee2c42bc5b</id>
<content type='text'>
This patch adds the sfc driver code for implementing busy polling.
It adds ndo_busy_poll method and locking between it and napi poll.
It also adds each napi to the napi_hash right after netif_napi_add().

Uses efx_start_eventq and efx_stop_eventq in the self tests.

Signed-off-by: Shradha Shah &lt;sshah@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sfc: Add per-queue statistics in ethtool</title>
<updated>2014-07-17T23:48:36Z</updated>
<author>
<name>Andrew Rybchenko</name>
</author>
<published>2014-07-17T11:10:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8ccf3800dbdeaf26bcdefa471c9c8e0da7e6ec7a'/>
<id>urn:sha1:8ccf3800dbdeaf26bcdefa471c9c8e0da7e6ec7a</id>
<content type='text'>
Implement per channel software TX and RX packet counters
accessed as ethtool statistics.

This allows confirmation with MAC statistics.

Signed-off-by: Shradha Shah &lt;sshah@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sfc: add extra RX drop counters for nodesc_trunc and noskb_drop</title>
<updated>2014-07-16T05:53:34Z</updated>
<author>
<name>Edward Cree</name>
</author>
<published>2014-07-15T10:58:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e4d112e4f9502083fd27f9ac1a4cd690e3f01421'/>
<id>urn:sha1:e4d112e4f9502083fd27f9ac1a4cd690e3f01421</id>
<content type='text'>
Added a counter rx_noskb_drop for failure to allocate an skb.
Summed the per-channel rx_nodesc_trunc counters earlier so that they can
 be included in rx_dropped.

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: Add 40G link capability decoding</title>
<updated>2014-07-15T02:11:48Z</updated>
<author>
<name>Edward Cree</name>
</author>
<published>2014-07-14T07:39:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ac331e948346f2706cd82b2d259800621b9db04f'/>
<id>urn:sha1:ac331e948346f2706cd82b2d259800621b9db04f</id>
<content type='text'>
Needed to select 40G mode on a 10G/40G capable card.

Signed-off-by: Shradha Shah &lt;sshah@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sfc: Adding PCI ID for Solarflare 7000 series 40G network adapter.</title>
<updated>2014-07-15T02:11:48Z</updated>
<author>
<name>Mateusz Wrzesinski</name>
</author>
<published>2014-07-14T07:38:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3b06a00e65fbb5c526371143beaaa2221d39d577'/>
<id>urn:sha1:3b06a00e65fbb5c526371143beaaa2221d39d577</id>
<content type='text'>
Signed-off-by: Shradha Shah &lt;sshah@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2014-06-11T23:02:55Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2014-06-11T23:02:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=902455e00720018d1dbd38327c3fd5bda6d844ee'/>
<id>urn:sha1:902455e00720018d1dbd38327c3fd5bda6d844ee</id>
<content type='text'>
Conflicts:
	net/core/rtnetlink.c
	net/core/skbuff.c

Both conflicts were very simple overlapping changes.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sfc: PIO:Restrict to 64bit arch and use 64-bit writes.</title>
<updated>2014-06-11T22:36:21Z</updated>
<author>
<name>Jon Cooper</name>
</author>
<published>2014-06-11T13:33:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=daf37b556e437ec1ea1a597dcfeff338068380e1'/>
<id>urn:sha1:daf37b556e437ec1ea1a597dcfeff338068380e1</id>
<content type='text'>
Fixes:ee45fd92c739
("sfc: Use TX PIO for sufficiently small packets")

The linux net driver uses memcpy_toio() in order to copy into
the PIO buffers.
Even on a 64bit machine this causes 32bit accesses to a write-
combined memory region.
There are hardware limitations that mean that only 64bit
naturally aligned accesses are safe in all cases.
Due to being write-combined memory region two 32bit accesses
may be coalesced to form a 64bit non 64bit aligned access.
Solution was to open-code the memory copy routines using pointers
and to only enable PIO for x86_64 machines.

Not tested on platforms other than x86_64 because this patch
disables the PIO feature on other platforms.
Compile-tested on x86 to ensure that works.

The WARN_ON_ONCE() code in the previous version of this patch
has been moved into the internal sfc debug driver as the
assertion was unnecessary in the upstream kernel code.

This bug fix applies to v3.13 and v3.14 stable branches.

Signed-off-by: Shradha Shah &lt;sshah@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
