<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/net/sfc/efx.c, branch master</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2011-08-11T09:33:50+00:00</updated>
<entry>
<title>sfc: Move the Solarflare drivers</title>
<updated>2011-08-11T09:33:50+00:00</updated>
<author>
<name>Jeff Kirsher</name>
<email>jeffrey.t.kirsher@intel.com</email>
</author>
<published>2011-05-13T07:17:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=874aeea5d01cac55c160a4e503e3ddb4db030de7'/>
<id>urn:sha1:874aeea5d01cac55c160a4e503e3ddb4db030de7</id>
<content type='text'>
Moves the Solarflare drivers into drivers/net/ethernet/sfc/ and
make the necessary Kconfig and Makefile changes.

CC: Steve Hodgson &lt;shodgson@solarflare.com&gt;
CC: Ben Hutchings &lt;bhutchings@solarflare.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>sfc: Remove 'Communications' after 'Solarflare' in references to hardware</title>
<updated>2011-07-13T23:08:38+00:00</updated>
<author>
<name>Ben Hutchings</name>
<email>bhutchings@solarflare.com</email>
</author>
<published>2011-07-13T15:21:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ff79c8ac40a115adf5d94e1349f4a379ae156f55'/>
<id>urn:sha1:ff79c8ac40a115adf5d94e1349f4a379ae156f55</id>
<content type='text'>
Branding can now be abbreviated.

Signed-off-by: Ben Hutchings &lt;bhutchings@solarflare.com&gt;
</content>
</entry>
<entry>
<title>sfc: Fix mapping of reset reasons and flags to methods</title>
<updated>2011-06-24T23:43:48+00:00</updated>
<author>
<name>Ben Hutchings</name>
<email>bhutchings@solarflare.com</email>
</author>
<published>2011-06-24T19:50:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0e2a9c7cb941db993f481cdd6a99d70a302053e0'/>
<id>urn:sha1:0e2a9c7cb941db993f481cdd6a99d70a302053e0</id>
<content type='text'>
There are certain hardware bugs that may occur on Falcon during normal
operation, that require a reset to recover from.  We try to minimise
disruption by keeping the PHY running, following a reset sequence
labelled as 'invisible'.

Siena does not suffer from these hardware bugs, so we have not
implemented an 'invisible' reset sequence.  However, if a similar
error does occur (due to a hardware fault or software bug) then the
code shared with Falcon will wrongly assume that the PHY is not being
reset.

Since the mapping of reset reasons (internal) and flags (ethtool) to
methods must differ significantly between NIC types, move it into
per-NIC-type functions (replacing the insufficient reset_world_flags
field).

Signed-off-by: Ben Hutchings &lt;bhutchings@solarflare.com&gt;
</content>
</entry>
<entry>
<title>sfc: Allow resets to be upgraded; use atomic ops for safety</title>
<updated>2011-06-24T23:43:48+00:00</updated>
<author>
<name>Ben Hutchings</name>
<email>bhutchings@solarflare.com</email>
</author>
<published>2011-06-24T19:46:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a7d529ae2158b5300e4aa16c21f1828bc864449b'/>
<id>urn:sha1:a7d529ae2158b5300e4aa16c21f1828bc864449b</id>
<content type='text'>
Currently an attempt to schedule any reset is ignored if a reset
is already pending.  This ignores the relative scopes - if the
requested reset is greater in scope then the scheduled reset should
be upgraded accordingly.

There are also some race conditions which could lead to a reset
request being lost.  Deal with them by using atomic operations on a
bitmask.  This also makes tests on reset_pending easier to get right.

Signed-off-by: Ben Hutchings &lt;bhutchings@solarflare.com&gt;
</content>
</entry>
<entry>
<title>sfc: Don't use enums as a bitmask.</title>
<updated>2011-05-17T21:53:22+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-05-17T21:53:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b56269468483a0255a27126ebc2ae7e321638d7b'/>
<id>urn:sha1:b56269468483a0255a27126ebc2ae7e321638d7b</id>
<content type='text'>
This fixes:

drivers/net/sfc/mcdi_mac.c: In function ‘efx_mcdi_set_mac’:
drivers/net/sfc/mcdi_mac.c:36:2: warning: case value ‘3’ not in enumerated type ‘enum efx_fc_type’

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sfc: Use netif_device_{detach,attach}() around reset and self-test</title>
<updated>2011-05-16T22:34:28+00:00</updated>
<author>
<name>Ben Hutchings</name>
<email>bhutchings@solarflare.com</email>
</author>
<published>2011-05-16T17:51:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e4abce8538496ba90cb89909894ea42e00f96a7d'/>
<id>urn:sha1:e4abce8538496ba90cb89909894ea42e00f96a7d</id>
<content type='text'>
We need to keep the TX queues stopped throughout a reset, without
triggering the TX watchdog and regardless of the link state.  The
proper way to do this is to use netif_device_{detach,attach}() just as
we do around suspend/resume, rather than the current bodge of faking
link-down.

Since we also need to do this during an offline self-test and we
perform a reset during that, add these function calls outside of
efx_reset_down() and efx_reset_up().

Signed-off-by: Ben Hutchings &lt;bhutchings@solarflare.com&gt;
</content>
</entry>
<entry>
<title>sfc: Fix TX queue numbering when separate_tx_channels=1</title>
<updated>2011-05-16T16:35:19+00:00</updated>
<author>
<name>Ben Hutchings</name>
<email>bhutchings@solarflare.com</email>
</author>
<published>2011-05-16T16:32:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=602a5322a7a1b6b005cb50d423939bb7a8782838'/>
<id>urn:sha1:602a5322a7a1b6b005cb50d423939bb7a8782838</id>
<content type='text'>
This option appears to have been broken by commit
8313aca38b3937947fffebca6e34bac8e24300c8 ('sfc: Allocate each channel
separately, along with its RX and TX queues').

Signed-off-by: Ben Hutchings &lt;bhutchings@solarflare.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2011-04-19T07:21:33+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-04-19T07:21:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e1943424e43974f85b82bb31eaf832823bf49ce7'/>
<id>urn:sha1:e1943424e43974f85b82bb31eaf832823bf49ce7</id>
<content type='text'>
Conflicts:
	drivers/net/bnx2x/bnx2x_ethtool.c
</content>
</entry>
<entry>
<title>sfc: make function tables const</title>
<updated>2011-04-15T04:53:42+00:00</updated>
<author>
<name>stephen hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2011-04-14T05:50:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6c8c2513c86c589a819c161c9abbdea2a3d56f5e'/>
<id>urn:sha1:6c8c2513c86c589a819c161c9abbdea2a3d56f5e</id>
<content type='text'>
The phy, mac, and board information structures should be const.
Since tables contain function pointer this improves security
(at least theoretically).

Compile tested only.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Acked-by: Ben Hutchings &lt;bhutchings@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sfc: Do not use efx_process_channel_now() in online self-test</title>
<updated>2011-04-12T15:37:54+00:00</updated>
<author>
<name>Ben Hutchings</name>
<email>bhutchings@solarflare.com</email>
</author>
<published>2011-04-04T13:22:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d4fabcc8e8ecac21262b1a5b9684fe415b128bd2'/>
<id>urn:sha1:d4fabcc8e8ecac21262b1a5b9684fe415b128bd2</id>
<content type='text'>
During self-tests we use efx_process_channel_now() to handle
completion and other events synchronously.  This disables interrupts
and NAPI processing for the channel in question, but it may still be
interrupted by another channel.  A single socket may receive packets
from multiple net devices or even multiple channels of the same net
device, so this can result in deadlock on a socket lock.

Receiving packets in process context will also result in incorrect
classification by the network cgroup classifier.

Therefore, we must only use efx_process_channel_now() in the offline
loopback tests (which never deliver packets up the stack) and not for
the online interrupt and event tests.

For the interrupt test, there is no reason to process events.  We
only care that an interrupt is raised.

For the event test, we want to know whether events have been received,
and there may be many events ahead of the one we inject.  Therefore
remove efx_channel::magic_count and instead test whether
efx_channel::eventq_read_ptr advances.  This is currently an event
queue index and might wrap around to exactly the same value, resulting
in a false negative.  Therefore move the masking to efx_event() and
efx_nic_eventq_read_ack() so that it cannot wrap within the time of
the test.

The event test also tries to diagnose failures by checking whether an
event was delivered without causing an interrupt.  Add and use a
helper function that only does this.

Signed-off-by: Ben Hutchings &lt;bhutchings@solarflare.com&gt;
</content>
</entry>
</feed>
