<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net/ethernet/intel/i40e/i40e_adminq.c, 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-10-07T11:13:50Z</updated>
<entry>
<title>i40e/i40evf: set AQ count after memory allocation</title>
<updated>2015-10-07T11:13:50Z</updated>
<author>
<name>Mitch Williams</name>
<email>mitch.a.williams@intel.com</email>
</author>
<published>2015-10-04T00:13:05Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=90d2c056bd85bbb47104c52e08eecf8408163a54'/>
<id>urn:sha1:90d2c056bd85bbb47104c52e08eecf8408163a54</id>
<content type='text'>
The standard way to check if the AQ is enabled is to look at the
count field. So we should only set this field after we have
successfully allocated memory. To do otherwise is to incite
panic among the populace.

Signed-off-by: Mitch Williams &lt;mitch.a.williams@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>i40e/i40evf: check for stopped admin queue</title>
<updated>2015-09-29T03:57:14Z</updated>
<author>
<name>Mitch Williams</name>
<email>mitch.a.williams@intel.com</email>
</author>
<published>2015-09-29T00:31:26Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=43ae93a93e8c95c5e6389dc8e11704712b1ab2e9'/>
<id>urn:sha1:43ae93a93e8c95c5e6389dc8e11704712b1ab2e9</id>
<content type='text'>
It's possible that while we are waiting for the spinlock, another
entity (that owns the spinlock) has shut down the admin queue.
If we then attempt to use the queue, we will panic.

Add a check for this condition on the receive side. This matches
an existing check on the send queue side.

Signed-off-by: Mitch Williams &lt;mitch.a.williams@intel.com&gt;
Acked-by: Jesse Brandeburg &lt;jesse.brandeburg@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>i40e/i40evf: grab NVM devstarter version not image version</title>
<updated>2015-03-05T11:04:33Z</updated>
<author>
<name>Shannon Nelson</name>
<email>shannon.nelson@intel.com</email>
</author>
<published>2015-02-26T16:12:26Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4f651a5b0aa561962c97b76bb67ceb57491efabc'/>
<id>urn:sha1:4f651a5b0aa561962c97b76bb67ceb57491efabc</id>
<content type='text'>
0x2A is the NVM version so it has useful data but it is per image
version every image can have a different one. 0x18 is the dev starter
version which all the images for release will have the same version.
Of the two 0x18 is more useful and is what should be displayed.

Change-ID: Idf493da13a42ab211e2de0bef287f5de51033cca
Signed-off-by: Shannon Nelson &lt;shannon.nelson@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>i40e/i40evf: print FW build number in version string</title>
<updated>2015-03-03T09:07:24Z</updated>
<author>
<name>Shannon Nelson</name>
<email>shannon.nelson@intel.com</email>
</author>
<published>2015-02-24T06:58:41Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7edf810c61ce054afc8798178d829d2f139bb976'/>
<id>urn:sha1:7edf810c61ce054afc8798178d829d2f139bb976</id>
<content type='text'>
Include the FW build number in the formatted FW version string.  In order
to fit within ethtool's 32 character limit, the etrack's unused high order
bits are trimmed as is the leading 0 for the NVM version.  This leaves
us with 2 character left for if/when the etrack id goes to 5 hex chars
and the NVM major number goes to 2 chars.

Change-ID: Icb004c4b9b14a2f54dd200b467fcc1d7b9297308
Signed-off-by: Shannon Nelson &lt;shannon.nelson@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>i40e: init NVM update state on adminq init</title>
<updated>2014-12-09T20:57:03Z</updated>
<author>
<name>Shannon Nelson</name>
<email>shannon.nelson@intel.com</email>
</author>
<published>2014-11-13T08:23:17Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0f52958b2cbdb45ec9993cb4a40fb9e02dfbd2f1'/>
<id>urn:sha1:0f52958b2cbdb45ec9993cb4a40fb9e02dfbd2f1</id>
<content type='text'>
The adminq init is run after the EMPR that is triggered by the
NVM update.  The final write command will cause the reset and
will want to wait for the ARQ event that signals the end of the
update, but the reset precludes the event being sent.  The state
is probably already at INIT, but we set it so here anyway, and
clear the release_on_done flag as well.

Change-ID: Ie9d724a39e71f988741abc3d51b4cb198c7e0272
Signed-off-by: Shannon Nelson &lt;shannon.nelson@intel.com&gt;
Acked-by: Michal Kosiarz &lt;michal.kosiarz@intel.com&gt;
Acked-by: Kamil Krawczyk &lt;kamil.krawczyk@intel.com&gt;
Tested-by: Jim Young &lt;jamesx.m.young@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>i40e: let firmware catch the NVM busy error</title>
<updated>2014-12-09T20:57:02Z</updated>
<author>
<name>Shannon Nelson</name>
<email>shannon.nelson@intel.com</email>
</author>
<published>2014-11-13T08:23:14Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=bf06f7a9bafde62fa77e3fce4040355dfbceb894'/>
<id>urn:sha1:bf06f7a9bafde62fa77e3fce4040355dfbceb894</id>
<content type='text'>
The NVM update operations take time finish asynchronously, and follow-on
update requests need to wait for the current one to finish.  Early
firmware didn't handle this well, so the code had to track the busy state.
The released firmware handles the busy state correctly, returning
I40E_AQ_RC_EBUSY if an update is still in progress, so the code no longer
needs to track this.

Change-ID: I6e6b4adc26d6dcc5fd7adfee5763423858a7d921
Signed-off-by: Shannon Nelson &lt;shannon.nelson@intel.com&gt;
Acked-by: Greg Rose &lt;gregory.v.rose@intel.com&gt;
Tested-by: Jim Young &lt;jamesx.m.young@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>i40e: Define and use i40e_is_vf macro</title>
<updated>2014-12-06T12:00:24Z</updated>
<author>
<name>Anjali Singhai Jain</name>
<email>anjali.singhai@intel.com</email>
</author>
<published>2014-11-11T20:06:58Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e7f2e4b94ce31d212f0fb3d688961af591ac7d53'/>
<id>urn:sha1:e7f2e4b94ce31d212f0fb3d688961af591ac7d53</id>
<content type='text'>
This patch is useful for future expansion when new VF MAC types get
added. It helps with cleaning up VF driver flow.

Change-ID: Ibe1eeb71262a3a40f24a1c5409436bdc3411da7f
Signed-off-by: Anjali Singhai Jain &lt;anjali.singhai@intel.com&gt;
Acked-by: Shannon Nelson &lt;shannon.nelson@intel.com&gt;
Acked-by: Greg Rose &lt;gregory.v.rose@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>i40e: remove useless debug noise</title>
<updated>2014-12-06T11:27:16Z</updated>
<author>
<name>Shannon Nelson</name>
<email>shannon.nelson@intel.com</email>
</author>
<published>2014-11-11T20:05:00Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=038861b21b9d01aa70d00a4f0d2edf8ba1112b5b'/>
<id>urn:sha1:038861b21b9d01aa70d00a4f0d2edf8ba1112b5b</id>
<content type='text'>
This message really doesn't give any useful information and ends up
getting printed every service_task loop in the Linux driver, filling the
logfile with noise when AQ tracing is enabled.  This patch simply removes
the noise.

Change-ID: I30ad51e6b03c7ad12a7d9c102def0087db622df3
Signed-off-by: Shannon Nelson &lt;shannon.nelson@intel.com&gt;
Acked-by: Mitch Williams &lt;mitch.a.williams@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>i40e: don't overload fields</title>
<updated>2014-11-20T22:56:42Z</updated>
<author>
<name>Mitch Williams</name>
<email>mitch.a.williams@intel.com</email>
</author>
<published>2014-11-11T20:02:19Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=1001dc3739a9b29946ff595eb4b02a1082ad4e7b'/>
<id>urn:sha1:1001dc3739a9b29946ff595eb4b02a1082ad4e7b</id>
<content type='text'>
Overloading the msg_size field in the arq_event_info struct is just a
bad idea. It leads to repeated bugs when the structure is used in a
loop, since the input value (buffer size) is overwritten by the output
value (actual message length).

Fix this by splitting the field into two and renaming to indicate the
actual function of each field.

Since the arq_event struct has now changed, we need to change the drivers
to support this. Note that we no longer need to initialize the buffer size
each time we go through a loop as this value is no longer destroyed by
arq processing.

In the process, we also fix a bug in i40evf_verify_api_ver where the
buffer size was not correctly reinitialized each time through the loop.

Change-ID: Ic7f9633cdd6f871f93e698dfb095e29c696f5581
Signed-off-by: Mitch Williams &lt;mitch.a.williams@intel.com&gt;
Acked-by: Shannon Nelson &lt;shannon.nelson@intel.com&gt;
Acked-by: Ashish Shah &lt;ashish.n.shah@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>i40e: poll firmware slower</title>
<updated>2014-11-11T13:44:16Z</updated>
<author>
<name>Kamil Krawczyk</name>
<email>kamil.krawczyk@intel.com</email>
</author>
<published>2014-10-25T03:24:30Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0db4e162e6617ed0d0cb34756b86ab3dc6ad4fbf'/>
<id>urn:sha1:0db4e162e6617ed0d0cb34756b86ab3dc6ad4fbf</id>
<content type='text'>
The code was polling the firmware tail register for completion every
10 microseconds, which is way faster than the firmware can respond.
This changes the poll interval to 1ms, which reduces polling CPU
utilization, and the number of times we loop.

The maximum delay is still 100ms.

Change-ID: I4bbfa6b66d802890baf8b4154061e55942b90958
Signed-off-by: Kamil Krawczyk &lt;kamil.krawczyk@intel.com&gt;
Acked-by: Shannon Nelson &lt;shannon.nelson@intel.com&gt;
Tested-by: Jim Young &lt;jamesx.m.young@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
</feed>
