<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net/ethernet/sfc/efx.h, branch linux-4.3.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.3.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.3.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2015-08-28T20:53:47Z</updated>
<entry>
<title>sfc: Allow driver to cope with a lower number of VIs than it needs for RSS</title>
<updated>2015-08-28T20:53:47Z</updated>
<author>
<name>Shradha Shah</name>
<email>sshah@solarflare.com</email>
</author>
<published>2015-08-28T09:55:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b0fbdae127a3968688ff7b474e9164dc4bf30dd5'/>
<id>urn:sha1:b0fbdae127a3968688ff7b474e9164dc4bf30dd5</id>
<content type='text'>
Previously, the driver would refuse to load if it couldn't secure
enough VIs from the MC to fulfill its RSS requirements.
This was causing probe to fail on later functions in
configurations where we'd run out of VIs, such as having many
VFs.

This change allows the driver to load with fewer VIs, down to a
minimum of 2. A warning will be printed saying that RSS
requirements were not met, possibly affecting performance.

efx-&gt;max_tx_channels needs to be set to avoid going down the
failure path in efx_probe_nic() immediately in the loop after the
probe() NIC-type function.
Also, Set rc=ENOSPC when bombing out of efx_probe_nic due to lack
of VIs.

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 ndo_set_vf_mac() function for EF10</title>
<updated>2015-05-21T22:43:54Z</updated>
<author>
<name>Shradha Shah</name>
<email>sshah@solarflare.com</email>
</author>
<published>2015-05-20T10:11:03Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e340be923012bfbc8935aa0af5638349939c82d2'/>
<id>urn:sha1:e340be923012bfbc8935aa0af5638349939c82d2</id>
<content type='text'>
Implement a response to this entrypoint.
The ndo_set_vf_mac() entrypoint is only exposed in the driver if
CONFIG_SFC_SRIOV is defined.

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: protect filter table against use-after-free</title>
<updated>2015-05-21T22:43:53Z</updated>
<author>
<name>Edward Cree</name>
<email>ecree@solarflare.com</email>
</author>
<published>2015-05-20T10:10:03Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0d322413d6cff0bd2ccafc03ab9314dc55417e9d'/>
<id>urn:sha1:0d322413d6cff0bd2ccafc03ab9314dc55417e9d</id>
<content type='text'>
If MCDI timeouts are encountered during efx_ef10_filter_table_remove(),
an FLR will be queued, but efx-&gt;filter_state will still be kfree()d.
The queued FLR will then call efx_ef10_filter_table_restore(), which
will try to use efx-&gt;filter_state. This previously caused a panic.
This patch adds an rwsem to protect the existence of efx-&gt;filter_state,
separately from the spinlock protecting its contents.  Users which can
race against efx_ef10_filter_table_remove() should down_read this rwsem.

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 use of shared RSS contexts.</title>
<updated>2015-05-09T20:16:48Z</updated>
<author>
<name>Jon Cooper</name>
<email>jcooper@solarflare.com</email>
</author>
<published>2015-05-05T23:59:38Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=267c01571bd38ea807bae1da93788d3b577661cf'/>
<id>urn:sha1:267c01571bd38ea807bae1da93788d3b577661cf</id>
<content type='text'>
Allow PFs to allocate shared RSS contexts if we exhaust our
exclusive RSS contexts. Make VFs use shared RSS contexts in
all cases.
Spruce up error handling so that the shadow copy of the RSS
table is updated after successful update, rather than in all
cases, so that we report the actual contents of the RSS table
after a failure to set it, rather than what we'd like it to be.

Populate context_size parameter when vacuously allocating RSS
context of size 1.

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: Prepare to bind the sfc driver to the VF.</title>
<updated>2015-05-09T20:16:47Z</updated>
<author>
<name>Shradha Shah</name>
<email>sshah@solarflare.com</email>
</author>
<published>2015-05-05T23:58:14Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=02246a7f966c2e66ff0453d12d9b8d1bff895cf9'/>
<id>urn:sha1:02246a7f966c2e66ff0453d12d9b8d1bff895cf9</id>
<content type='text'>
Added efx_nic_type structure for VF.
Mapped a different BAR for VF as it uses BAR 0 for memory.
Added functions sriov_init and sriov_fini.

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: Own header for nic-specific sriov functions, single instance of netdev_ops and sriov removed from Falcon code</title>
<updated>2015-05-09T20:16:46Z</updated>
<author>
<name>Shradha Shah</name>
<email>sshah@solarflare.com</email>
</author>
<published>2015-05-05T23:55:13Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7fa8d547049aae543a5f21f1fe0e14414f1e7fdc'/>
<id>urn:sha1:7fa8d547049aae543a5f21f1fe0e14414f1e7fdc</id>
<content type='text'>
By putting all the efx_{siena,ef10}_sriov_* declarations in
{siena,ef10}_sriov.h, ensure they cannot be called from nic-generic code.
Also fixes up an instance of this, where mcdi.c was calling
efx_siena_sriov_flr.

The single instance of netdev_ops should call general high level
functions that can then call something adapter specific in efx_nic_type.
We should only do adapter specialisation via efx_nic_type.

Removal of sriov functionality from the Falcon code means that tests
are needed for the presence of some callbacks.

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 support for busy polling</title>
<updated>2014-07-23T02:55:20Z</updated>
<author>
<name>Alexandre Rames</name>
<email>arames@solarflare.com</email>
</author>
<published>2014-07-22T13:03:25Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/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 extra RX drop counters for nodesc_trunc and noskb_drop</title>
<updated>2014-07-16T05:53:34Z</updated>
<author>
<name>Edward Cree</name>
<email>ecree@solarflare.com</email>
</author>
<published>2014-07-15T10:58:12Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/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: Update product naming</title>
<updated>2014-02-12T22:53:35Z</updated>
<author>
<name>Ben Hutchings</name>
<email>bhutchings@solarflare.com</email>
</author>
<published>2014-02-12T19:00:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6a350fdb609a9d8959d96858e8f9a25e3f5c017a'/>
<id>urn:sha1:6a350fdb609a9d8959d96858e8f9a25e3f5c017a</id>
<content type='text'>
We don't use 'Solarstorm' or 'Solarflare Communications' in full
any more.

Signed-off-by: Ben Hutchings &lt;bhutchings@solarflare.com&gt;
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: Use the correct maximum TX DMA ring size for SFC9100</title>
<updated>2014-01-23T21:40:51Z</updated>
<author>
<name>Ben Hutchings</name>
<email>bhutchings@solarflare.com</email>
</author>
<published>2014-01-23T14:35:48Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d9317aea16ecec7694271ef11fb7791a0f0d9cc5'/>
<id>urn:sha1:d9317aea16ecec7694271ef11fb7791a0f0d9cc5</id>
<content type='text'>
As part of a workaround for a hardware erratum in the SFC9100 family
(SF bug 35388), the TX_DESC_UPD_DWORD register address is also used
for communicating with the event block, and only descriptor pointer
values &lt; 2048 are valid.

If the TX DMA ring size is increased to 4096 descriptors (which the
firmware still allows) then we may write a descriptor pointer
value &gt;= 2048, which has entirely different and undesirable effects!

Limit the TX DMA ring size correctly when this workaround is in
effect.

Fixes: 8127d661e77f ('sfc: Add support for Solarflare SFC9100 family')
Signed-off-by: Ben Hutchings &lt;bhutchings@solarflare.com&gt;
Signed-off-by: Shradha Shah &lt;sshah@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
