<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net/ethernet/intel/i40evf/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>i40evf: Remove PF specific register definitions from the VF</title>
<updated>2015-08-26T22:05:17Z</updated>
<author>
<name>Anjali Singhai Jain</name>
<email>anjali.singhai@intel.com</email>
</author>
<published>2015-07-10T23:36:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e02a7f83d84d0580a62df8d4c4e95cd8791c6645'/>
<id>urn:sha1:e02a7f83d84d0580a62df8d4c4e95cd8791c6645</id>
<content type='text'>
There were quite a few issues when the wrong defines were getting used
in the VF driver. This patch fixes the code where PF driver registers
were getting used for VF driver, and also removes the registers that are
not being used from the VF register file.

Change-ID: If116a9730112950d006eb8ec763998fc914cc839
Signed-off-by: Anjali Singhai Jain &lt;anjali.singhai@intel.com&gt;
Acked-by: Mitch Williams &lt;mitch.a.williams@intel.com&gt;
Tested-by: Andrew Bowers &lt;andrewx.bowers@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>
<entry>
<title>i40e/i40evf: add max buf len to aq debug print helper</title>
<updated>2014-08-27T07:40:14Z</updated>
<author>
<name>Shannon Nelson</name>
<email>shannon.nelson@intel.com</email>
</author>
<published>2014-07-10T07:58:20Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f905dd62be8853644357044a455f83e63e8c68ef'/>
<id>urn:sha1:f905dd62be8853644357044a455f83e63e8c68ef</id>
<content type='text'>
There is at least one case in the Firmware API where the response to a
command changes the buffer size field in the AQ descriptor to a larger
number than what the request's buffer size started as.  This is in addition
to setting an error flag and is in order to tell the requester how much
larger a buffer is required for the answer.  We need to be sure not to
use that number when dumping the contents of the data buffer because it
can send us into the weeds and generate an invalid pointer exception.

This patch adds a max buffer size parameter to the print helper to be
sure the code knows when to stop.

Change-ID: Ib84f7ed72140fe9d600086d8f2002fc5d8753092
Signed-off-by: Shannon Nelson &lt;shannon.nelson@intel.com&gt;
Tested-by: Jim Young &lt;jamesx.m.young@intel.com&gt;
Tested-by: Sibai Li &lt;sibai.li@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>i40e: always print aqtx answer</title>
<updated>2014-07-24T12:06:10Z</updated>
<author>
<name>Shannon Nelson</name>
<email>shannon.nelson@intel.com</email>
</author>
<published>2014-07-09T07:46:19Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e3effd736a72a3df0e00f002c4dbf1da7641d115'/>
<id>urn:sha1:e3effd736a72a3df0e00f002c4dbf1da7641d115</id>
<content type='text'>
Sometimes the AQTX answer comes back with no data, but we still want to print
the descriptor that got written back.

Change-ID: I5f734d99b4c95510987413893f0a34626571d474
Signed-off-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>
