- 13 Jan, 2015 1 commit
-
-
Mitch A Williams authored
These messages may be triggered during normal init of the driver if the PF or FW take a long time to respond. There's nothing really wrong, so don't freak people out logging messages. If the communication channel really is dead, then we'll retry a few times and give up. This will log a different more scary message that should cause consternation. This allows the user to more easily detect a genuine failure. Change-ID: I6e2b758d4234a3a09c1015c82c8f2442a697cbdb Signed-off-by:
Mitch Williams <mitch.a.williams@intel.com> Acked-by:
Shannon Nelson <shannon.nelson@intel.com> Tested-by:
Jim Young <james.m.young@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
- 06 Dec, 2014 1 commit
-
-
Mitch Williams authored
When multiple VFs attempt to initialize simultaneously, the firmware may delay or drop messages. Make the init code more adept at handling these situations by a) reinitializing the admin queue if the firmware fails to process a request, and b) resending a request if the PF doesn't answer. Once the request has been sent again, the PF might end up getting both requests and send the configuration information to the driver twice. This will cause the VF to complain about receiving an unexpected message from the PF. Since this is not fatal, reduce the warning level of the log messages that are generated in response to this event. Change-ID: I9370a1a2fde2ad3934fa25ccfd0545edfbbb4805 Signed-off-by:
Mitch Williams <mitch.a.williams@intel.com> Tested-by:
Jim Young <jamesx.m.young@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
- 20 Nov, 2014 2 commits
-
-
Mitch Williams authored
This patch is the result of running checkpatch on the i40evf driver with the --strict option. The vast majority of changes are adding/removing blank lines, aligning function parameters, and correcting over-long lines. The only possible functional change is changing the flags member of the adapter structure to be non-volatile. However, according to the kernel documentation, this is not necessary and the volatile should be removed. Change-ID: Ie8c6414800924f529bef831e8845292b970fe2ed Signed-off-by:
Mitch Williams <mitch.a.williams@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
Mitch Williams authored
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 <mitch.a.williams@intel.com> Acked-by:
Shannon Nelson <shannon.nelson@intel.com> Acked-by:
Ashish Shah <ashish.n.shah@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
- 11 Nov, 2014 2 commits
-
-
Mitch Williams authored
It's kind of silly to configure and attempt to use a bunch of queue pairs when you're running on a single (virtual) CPU. Instead of unconditionally configuring all of the queues that the PF gives us, clamp the number of queue pairs to the number of CPUs. Change-ID: I321714c9e15072ee76de8f95ab9a81f86ed347d1 Signed-off-by:
Mitch Williams <mitch.a.williams@intel.com> Signed-off-by:
Patrick Lu <patrick.lu@intel.com> Tested-by:
Jim Young <jamesx.m.young@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
Mitch Williams authored
In early init, if we get an unexpected message from the PF (such as link status), we just kick an error back to the init task, causing it to restart its state machine and delaying initialization. Make the early init AQ message receive code more robust by handling messages in a loop, and ignoring those that we aren't interested in. This also gets rid of some scary log messages that really didn't indicate a problem. Change-ID: I620e8c72e49c49c665ef33eeab2425dd10e721cf Signed-off-by:
Mitch Williams <mitch.a.williams@intel.com> Signed-off-by:
Patrick Lu <patrick.lu@intel.com> Tested-by:
Jim Young <jamesx.m.young@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
- 01 Jul, 2014 1 commit
-
-
Mitch Williams authored
In some circumstances, the firmware could beat us to the punch, and the reply from the PF would come back before we were able to properly modify the aq_pending and aq_required flags. This would mess up the flags and put the driver in an indeterminate state, much like Schrödinger's cat. However, unlike the cat, the driver is definitely dead. To fix this, simply set the flags before sending the request to the AQ. This way, it won't matter if the interrupt comes back too soon. Change-ID: I9784655e475675ebcb3140cc7f36f4a96aaadce5 Signed-off-by:
Mitch Williams <mitch.a.williams@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
- 26 Jun, 2014 1 commit
-
-
Mitch Williams authored
When verifying the API version (which is the first time the driver communicates with the firmware and thus the PF driver), there are many ways in which a failure can occur. There may be an error from the firmware, there may be unresponsive firmware, there may be an error from the PF driver, etc, etc. Make this function return more useful information, instead of just -EIO. Propagate FW errors back to the caller, and log a message if the PF sends an invalid reply. Change-ID: I3e9135a2b80f7acdb855f62f12b2b2668c9a8951 Signed-off-by:
Mitch Williams <mitch.a.williams@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
- 11 Jun, 2014 2 commits
-
-
Greg Rose authored
Linux gives us a function to copy Ethernet MAC addresses, let's use it. Change-ID: I0c861900029ca5ea65a53ca39565852fb633f6fd Signed-off-by:
Greg Rose <gregory.v.rose@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
Ashish Shah authored
Set appropriate fields in Tx queue configuration virtchnl message to pf to enable headwb and setup headwb addr. Then use that info from the VF to set headwb and headwb_addr instead of always enabling them. Change-ID: I7d393d1b2b07f0f3355b3a4f7c2d3c6ee3b0d622 Signed-off-by:
Ashish Shah <ashish.n.shah@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
- 08 Jun, 2014 2 commits
-
-
Mitch Williams authored
Clean up inconsistent log messages, mostly related to punctuation. Based on the dogma that "kernel messages are not sentences", remove all trailing periods. Reword a few of the messages to make them less sentence-like. Change-ID: Ibd849aa7623a77549b0709988c66ab05d1311472 Signed-off-by:
Mitch Williams <mitch.a.williams@intel.com> Tested-by:
Sibai Li <sibai.li@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
Mitch Williams authored
We don't need to print log messages when we encounter an out-of-memory condition, as the allocator will do this for us. Also, remove a Tx hang message that duplicates the one emitted by the netdev layer, and a duplicate message in the watchdog. Change-ID: If2056e6135fe248f66ea939778f9895660f4d189 Signed-off-by:
Mitch Williams <mitch.a.williams@intel.com> Tested-by:
Sibai Li <sibai.li@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
- 05 Jun, 2014 1 commit
-
-
Shannon Nelson authored
The rx_errors (GLV_REPC) and rx_missed (GLV_RMPC) were removed from the chip design. Change-ID: Ifdeb69c90feac64ec95c36d3d32c75e3a06de3b7 Signed-off-by:
Shannon Nelson <shannon.nelson@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
- 21 May, 2014 1 commit
-
-
Jesse Brandeburg authored
Adding the appropriate GNU General Public License header and update copyright year to 2014. Change-ID: I769dd2d37d70350afd0c8727ae2859c0fd340361 Signed-off-by:
Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by:
Catherine Sullivan <catherine.sullivan@intel.com> Tested-by:
Sibai Li <sibai.li@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
- 21 Feb, 2014 1 commit
-
-
Mitch Williams authored
If the kernel watchdog bites us, ask the PF to reset us and attempt to reinit the driver. Change-ID: Ic97665aeeed71ce712b9c4f057e78ff8372522b9 Signed-off-by:
Mitch Williams <mitch.a.williams@intel.com> Signed-off-by:
Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by:
Sibai Li <sibai.li@intel.com> Signed-off-by:
Aaron Brown <aaron.f.brown@intel.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 13 Feb, 2014 1 commit
-
-
Mitch Williams authored
Respond better to a VF reset event. When a reset is signaled by the PF, or detected by the watchdog task, prevent the watchdog from processing admin queue requests, and schedule the reset task. In the reset task, wait first for the reset to start, then for it to complete, then reinit the driver. If the reset never appears to complete after a long, long time (>10 seconds is possible depending on what's going on with the PF driver), then set a flag to indicate that PF communications have failed. If this flag is set, check for the reset to complete in the watchdog, and attempt to do a full reinitialization of the driver from scratch. With these changes the VF driver correctly handles a PF reset event while running on bare metal, or in a VM. Also update copyrights. Change-ID: I93513efd0b50523a8345e7f6a33a5e4f8a2a5996 Signed-off-by:
Mitch Williams <mitch.a.williams@intel.com> Signed-off-by:
Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by:
Sibai Li <sibai.li@intel.com> Signed-off-by:
Aaron Brown <aaron.f.brown@intel.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 31 Dec, 2013 1 commit
-
-
Greg Rose authored
This PCI-E SR-IOV virtual function (VF) driver is dependant upon the physical function (PF) driver (i40e) for nearly all of its hardware configuration. Requests from the VF driver are passed to the PF using the hardware's Admin Queue. This patch contains the functionality for communicating with the PF driver. Because of the delay inherent in this communications channel, most of the replies from the PF driver are handled asynchronously. The exceptions are the "send API version" and "get VF config" messages, which busy-wait because they are done so early during init that interrupts are not yet configured. Signed-off-by:
Mitch Williams <mitch.a.williams@intel.com> Signed-off-by:
Greg Rose <gregory.v.rose@intel.com> Tested-by:
Sibai Li <sibai.li@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-