| 3e5c3d58 | 03-Nov-2017 |
Bruce Richardson <[email protected]> |
build: build as both static and shared libs
This patch changes the build process to group all .o files for a driver or library into a static archive first, and then link the .o files together into a
build: build as both static and shared libs
This patch changes the build process to group all .o files for a driver or library into a static archive first, and then link the .o files together into a shared library. This eliminates the need for separate static or shared object builds when packaging, for instance.
The "default_library" configuration option now only affects the apps and examples, which are either linked against the static or shared library versions depending on the value of the option.
Signed-off-by: Bruce Richardson <[email protected]> Acked-by: Luca Boccassi <[email protected]>
show more ...
|
| 756101d4 | 08-Mar-2017 |
Qi Zhang <[email protected]> |
net/fm10k/base: request reset on mailbox state change
Multiple IES API resets can cause a race condition where the mailbox interrupt request bits can be cleared before being handled. This can leave
net/fm10k/base: request reset on mailbox state change
Multiple IES API resets can cause a race condition where the mailbox interrupt request bits can be cleared before being handled. This can leave certain mailbox messages from the PF to be untreated and the PF will enter in some inactive state. If this situation occurs, the IES API will initiate a mailbox version reset which, then, trigger a mailbox state change. Once this mailbox transition occurs (from OPEN to CONNECT state), a request for reset will be returned.
Signed-off-by: Qi Zhang <[email protected]>
show more ...
|
| ab0fa545 | 08-Mar-2017 |
Qi Zhang <[email protected]> |
net/fm10k/base: replace macros
Other shared code bases are planning on using IS_MULTICAST_ETHER_ADDR and friends without leaving the driver name in the macro. Remove reference to FM10K here so that
net/fm10k/base: replace macros
Other shared code bases are planning on using IS_MULTICAST_ETHER_ADDR and friends without leaving the driver name in the macro. Remove reference to FM10K here so that we can re-use the specific compat flags from Linux.
Signed-off-by: Qi Zhang <[email protected]>
show more ...
|
| a94bceb1 | 08-Mar-2017 |
Qi Zhang <[email protected]> |
net/fm10k/base: improve re-map queues handle
Avoid potential FUM fault errors on a VF when updating MAC address and VLAN information. Only use the register flow when the mailbox is disconnected, by
net/fm10k/base: improve re-map queues handle
Avoid potential FUM fault errors on a VF when updating MAC address and VLAN information. Only use the register flow when the mailbox is disconnected, by checking if the enqueue_tx returns FM10K_MBX_ERR_NO_MBX. If the mailbox message can be sent, there is no reason to bother with the register writes which are only intended to be used during VF driver initialization.
Signed-off-by: Qi Zhang <[email protected]>
show more ...
|
| 52f96214 | 08-Mar-2017 |
Qi Zhang <[email protected]> |
net/fm10k/base: do not stop reset
Don't report FM10K_ERR_REQUESTS_PENDING when we fail to disable queues within the timeout. This can occur due to a hardware Tx hang, or when the switch ethernet fab
net/fm10k/base: do not stop reset
Don't report FM10K_ERR_REQUESTS_PENDING when we fail to disable queues within the timeout. This can occur due to a hardware Tx hang, or when the switch ethernet fabric is resetting while we are transmitting traffic. It can sometimes take up to 500ms before the Tx DMA engine gives up. Instead, just skip the DMA engine check and perform a data-path reset anyways. Add a statistic counter to keep track of the number of resets occurring while we have pending DMA on the rings.
In order to prevent having to assign err = FM10K_SUCCESS, re-order the last few items of the reset_hw_pf function so that we don't perform "return err" at the end.
Signed-off-by: Qi Zhang <[email protected]>
show more ...
|
| 60028b4b | 08-Mar-2017 |
Qi Zhang <[email protected]> |
net/fm10k/base: enable lport map request
If the fm10k interface is brought up, but the switch manager software is not running, the driver will continuously request the lport map every few seconds in
net/fm10k/base: enable lport map request
If the fm10k interface is brought up, but the switch manager software is not running, the driver will continuously request the lport map every few seconds in the base driver watchdog routine. Eventually after several minutes the switch mailbox Tx fifo will fill up and the mailbox will timeout, resulting in a reset. This reset will appear as if for no reason, and occurs regularly every few minutes until the switch manager software is loaded.
Signed-off-by: Qi Zhang <[email protected]>
show more ...
|
| a5db0e80 | 08-Mar-2017 |
Qi Zhang <[email protected]> |
net/fm10k/base: improve VF multi-bit VLAN update requests
The VF uses a multi-bit update request to clear unused VLANs whenever it resets. However, an accident in a previous refactor broke multi-bit
net/fm10k/base: improve VF multi-bit VLAN update requests
The VF uses a multi-bit update request to clear unused VLANs whenever it resets. However, an accident in a previous refactor broke multi-bit updates for VFs, due to misreading a comment in fm10k_vf.c and attempting to reduce code duplication. The problem occurs because a multi-bit request has a non-zero length, and the PF would simply drop any request with the upper 16 bits set. In addition, a multi-bit vlan update does not have a concept for "VLAN 0" as the single bit update does.
A previous revision of this patch resolved the issue by simply removing the upper 16 bit check and the iov_select_vid checks. However, this would remove the checks for default VID and for ensuring no other VLANs can be enabled except pf_vid when it has been set. To resolve that issue, this revision uses the iov_select_vid when we have a single-bit update, and denies any multi-bit update when the VLAN was administratively set by the PF. This should be ok since the PF properly updates VLAN_TABLE when it assigns the PF vid. This ensures that requests to add or "remove" the PF vid work as expected, but a rogue VF could not use the multi-bit update as a loophole to attempt receiving traffic on other VLANs.
Signed-off-by: Qi Zhang <[email protected]>
show more ...
|
| c631e948 | 08-Mar-2017 |
Qi Zhang <[email protected]> |
net/fm10k/base: update comment regarding reserved bits check
The original comment may be read incorrectly as referring to checking the *entire* length is zero. However, it merely checks only the res
net/fm10k/base: update comment regarding reserved bits check
The original comment may be read incorrectly as referring to checking the *entire* length is zero. However, it merely checks only the reserved bits of both length and reserved in a small amount of code. Update the comment to indicate this is a clever trick and clearly spell out that it only checks the reserve bits.
Signed-off-by: Qi Zhang <[email protected]>
show more ...
|
| 99cb088c | 08-Mar-2017 |
Qi Zhang <[email protected]> |
net/fm10k/base: use different name for override bit
Use a new #define FM10K_VLAN_OVERRIDE even though we're using the exact same bit. The reason for this is clarity in the code, otherwise you can re
net/fm10k/base: use different name for override bit
Use a new #define FM10K_VLAN_OVERRIDE even though we're using the exact same bit. The reason for this is clarity in the code, otherwise you can read FM10K_VLAN_CLEAR and think it should be removed. Also add a comment explaining why the FM10K_VLAN_OVERRIDE bit is set.
Signed-off-by: Qi Zhang <[email protected]>
show more ...
|