Revision tags: v3.15-rc2, v3.15-rc1, v3.14, v3.14-rc8 |
|
#
4e857c58 |
| 17-Mar-2014 |
Peter Zijlstra <peterz@infradead.org> |
arch: Mass conversion of smp_mb__*()
Mostly scripted conversion of the smp_mb__* barriers.
Signed-off-by: Peter Zijlstra <peterz@infradead.org> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.co
arch: Mass conversion of smp_mb__*()
Mostly scripted conversion of the smp_mb__* barriers.
Signed-off-by: Peter Zijlstra <peterz@infradead.org> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Link: http://lkml.kernel.org/n/tip-55dhyhocezdw1dg7u19hmh1u@git.kernel.org Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: linux-arch@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
show more ...
|
#
dae98cad |
| 27-Mar-2014 |
Yuval Mintz <Yuval.Mintz@qlogic.com> |
bnx2x: Fix possible memory leak on iov error flow
Commit 2dc33bbc4 "bnx2x: Remove the sriov VFOP mechanism" introduced a possible memory leak on the error flow during multicast filters configuration
bnx2x: Fix possible memory leak on iov error flow
Commit 2dc33bbc4 "bnx2x: Remove the sriov VFOP mechanism" introduced a possible memory leak on the error flow during multicast filters configuration.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com> Signed-off-by: Ariel Elior <Ariel.Elior@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
2dc33bbc |
| 23-Mar-2014 |
Yuval Mintz <Yuval.Mintz@qlogic.com> |
bnx2x: Remove the sriov VFOP mechanism
Since we now posses a workqueue dedicated for sriov, the paradigm that sriov- related tasks cannot sleep is no longer correct.
The VFOP mechanism was the one
bnx2x: Remove the sriov VFOP mechanism
Since we now posses a workqueue dedicated for sriov, the paradigm that sriov- related tasks cannot sleep is no longer correct.
The VFOP mechanism was the one previously supporting said paradigm - the sriov related tasks were broken into segments which did not require sleep, and the mechanism re-scheduled the next segment whenever possible.
This patch remvoes the VFOP mechanism altogether - the resulting code is a much easier to follow code; The segments are gathered into straight-forward functions which sleep whenever neccessary.
Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com> Signed-off-by: Ariel Elior <Ariel.Elior@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
370d4a26 |
| 23-Mar-2014 |
Yuval Mintz <Yuval.Mintz@qlogic.com> |
bnx2x: Create workqueue for IOV related tasks
The bnx2x sriov mechanisms were done in the bnx2x slowpath workitem which runs on the bnx2x's workqueue; This workitem is also responsible for the botto
bnx2x: Create workqueue for IOV related tasks
The bnx2x sriov mechanisms were done in the bnx2x slowpath workitem which runs on the bnx2x's workqueue; This workitem is also responsible for the bottom half of interrupt handling in the driver, and specifically it also receives FW notifications of ramrod completions, allowing other flows to progress.
The original design of the sriov reltaed-flows was based on the notion such flows must not sleep, since their context is the slowpath workitem. Otherwise, we might reach timeouts - those flows may wait for ramrod completion that will never arrive as the workitem wlll not be re-scheduled until that same flow will be over.
In more recent time bnx2x started supporting features in which the VF interface can be configured by the tools accessing the PF on the hypervisor. This support created possible races on the VF-PF lock (which is taken either when the PF is handling a VF message or when the PF is doing some slowpath work on behalf of the VF) which may cause timeouts on the VF side and lags on the PF side.
This patch changes the scheme - it creates a new workqueue for sriov related tasks and moves all handling currently done in the slowpath task into the the new workqueue.
Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com> Signed-off-by: Ariel Elior <Ariel.Elior@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v3.14-rc7, v3.14-rc6, v3.14-rc5, v3.14-rc4 |
|
#
cd2b0389 |
| 20-Feb-2014 |
Joe Perches <joe@perches.com> |
bnx2x: Remove hidden flow control goto from BNX2X_ALLOC macros
BNX2X_ALLOC macros use "goto alloc_mem_err" so these labels appear unused in some functions.
Expand these macros in-place via coccinel
bnx2x: Remove hidden flow control goto from BNX2X_ALLOC macros
BNX2X_ALLOC macros use "goto alloc_mem_err" so these labels appear unused in some functions.
Expand these macros in-place via coccinelle and some typing.
Update the macros to use statement expressions and remove the BNX2X_ALLOC macro.
This adds some > 80 char lines.
$ cat bnx2x_pci_alloc.cocci @@ expression e1; expression e2; expression e3; @@ - BNX2X_PCI_ALLOC(e1, e2, e3); + e1 = BNX2X_PCI_ALLOC(e2, e3); if (!e1) goto alloc_mem_err;
@@ expression e1; expression e2; expression e3; @@ - BNX2X_PCI_FALLOC(e1, e2, e3); + e1 = BNX2X_PCI_FALLOC(e2, e3); if (!e1) goto alloc_mem_err;
@@ expression e1; expression e2; @@ - BNX2X_ALLOC(e1, e2); + e1 = kzalloc(e2, GFP_KERNEL); if (!e1) goto alloc_mem_err;
@@ expression e1; expression e2; expression e3; @@ - kzalloc(sizeof(e1) * e2, e3) + kcalloc(e2, sizeof(e1), e3)
@@ expression e1; expression e2; expression e3; @@ - kzalloc(e1 * sizeof(e2), e3) + kcalloc(e1, sizeof(e2), e3)
Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v3.14-rc3 |
|
#
230bb0f3 |
| 12-Feb-2014 |
Yuval Mintz <yuvalmin@broadcom.com> |
bnx2x: (semantic) revise scheduling of sp_rtnl
This removes the various points where the driver use bit operations in order to schedule the sp_rtnl_task from the code, adding a single utility functi
bnx2x: (semantic) revise scheduling of sp_rtnl
This removes the various points where the driver use bit operations in order to schedule the sp_rtnl_task from the code, adding a single utility function that does it instead.
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
3a3534ec |
| 12-Feb-2014 |
Yuval Mintz <yuvalmin@broadcom.com> |
bnx2x: Revise IOV vlan/mac validation
There are several places in IOV related flows where PF needs to determine whether a VF slowpath elements have already been configured (i.e., this affect its abi
bnx2x: Revise IOV vlan/mac validation
There are several places in IOV related flows where PF needs to determine whether a VF slowpath elements have already been configured (i.e., this affect its ability to configure/remove classifications for the VF).
This patch changes the conditions for the validation and performs a cleaner validation (e.g., by replacing several validations with a single one).
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
14a94ebd |
| 12-Feb-2014 |
Michal Kalderon <michals@broadcom.com> |
bnx2x: Add support in PF driver for RSC
This provides PF-side support for VFs assigned to a VM running windows 2012 with the RSC feature enabled.
Signed-off-by: Michal Kalderon <michals@broadcom.co
bnx2x: Add support in PF driver for RSC
This provides PF-side support for VFs assigned to a VM running windows 2012 with the RSC feature enabled.
Signed-off-by: Michal Kalderon <michals@broadcom.com> Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
3565b66d |
| 12-Feb-2014 |
Yuval Mintz <yuvalmin@broadcom.com> |
bnx2x: Remove unused iov code
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
76ca70fa |
| 12-Feb-2014 |
Yuval Mintz <yuvalmin@broadcom.com> |
bnx2x: [Debug] change verbosity of some prints
There are some debug prints (mostly iov/statistics related) which clobber system logs whenever their verbosity level is set for an interface. This patc
bnx2x: [Debug] change verbosity of some prints
There are some debug prints (mostly iov/statistics related) which clobber system logs whenever their verbosity level is set for an interface. This patch puts harsher verbosity requirements for such debug prints to be printed.
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v3.14-rc2 |
|
#
656493d6 |
| 05-Feb-2014 |
Yuval Mintz <yuvalmin@broadcom.com> |
bnx2x: Allow VF rss on higher PFs
bnx2x driver uses incorrect PF identifier to configure (in HW) the VF interrupt scheme; As a result, in multi-function mode the configuration for PFs with a high in
bnx2x: Allow VF rss on higher PFs
bnx2x driver uses incorrect PF identifier to configure (in HW) the VF interrupt scheme; As a result, in multi-function mode the configuration for PFs with a high index (4+) will overflow and the PF will erroneously configure a single ISR scheme for its VFs. As a result, if such a VF uses multiple queues, interrupt generation will stop after VF receives an Rx packet or sends a Tx packet on a queue other than queue[0].
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v3.14-rc1 |
|
#
076d1329 |
| 21-Jan-2014 |
Ariel Elior <ariele@broadcom.com> |
bnx2x: Fix VF flr flow
When a VF originating from a given PF is flr-ed, that PF gets an interrupt from the chip management and takes a part in the flr process.
This patch fixes several corner cases
bnx2x: Fix VF flr flow
When a VF originating from a given PF is flr-ed, that PF gets an interrupt from the chip management and takes a part in the flr process.
This patch fixes several corner cases in which the driver performs its part of the flr flow out-of-order, causing the FW to assert due to badly timed messages received from the driver.
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v3.13 |
|
#
c14db202 |
| 12-Jan-2014 |
Yuval Mintz <yuvalmin@broadcom.com> |
bnx2x: Correct default Tx switching behaviour
With this patch bnx2x will configure the PF to perform Tx switching on out-going traffic as soon as SR-IOV is dynamically enabled and de-activate it whe
bnx2x: Correct default Tx switching behaviour
With this patch bnx2x will configure the PF to perform Tx switching on out-going traffic as soon as SR-IOV is dynamically enabled and de-activate it when it is disabled. This will allow VFs to communicate with their parent PFs.
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v3.13-rc8 |
|
#
a8f47eb7 |
| 10-Jan-2014 |
stephen hemminger <stephen@networkplumber.org> |
bnx2x: namespace and dead code cleanups
Fix a bunch of whole lot of namespace issues with the Broadcom bnx2x driver found by running 'make namespacecheck'
* global variables must be prefixed with
bnx2x: namespace and dead code cleanups
Fix a bunch of whole lot of namespace issues with the Broadcom bnx2x driver found by running 'make namespacecheck'
* global variables must be prefixed with bnx2x_ naming a variable int_mode, or num_queue is invitation to disaster
* make local functions static
* move some inline's used in one file out of header (this driver has a bad case of inline-itis)
* remove resulting dead code fallout bnx2x_pfc_statistic, bnx2x_emac_get_pfc_stat bnx2x_init_vlan_mac_obj, Looks like vlan mac support in this driver was a botch from day one either never worked, or not implemented or missing support functions
Compile tested only.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
e8379c79 |
| 05-Jan-2014 |
Yuval Mintz <yuvalmin@broadcom.com> |
bnx2x: fix VLAN configuration for VFs.
If the hypervisor configures a vlan for the VF via the PF, the expected result is that only packets tagged by said vlan will be received by the VF (and that vl
bnx2x: fix VLAN configuration for VFs.
If the hypervisor configures a vlan for the VF via the PF, the expected result is that only packets tagged by said vlan will be received by the VF (and that vlan will be silently removed). Due to an incorrect manipulation of vlan filters in the driver, the VF can receive untagged traffic even if the hypervisor configured some vlan for it.
This patch corrects the behaviour.
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
89e18ae6 |
| 05-Jan-2014 |
Michal Kalderon <michals@broadcom.com> |
bnx2x: Correct number of MSI-X vectors for VFs
Number of VFs in PCIe configuration space is zero-based. Driver incorrectly sets the number of VFs to be larger by one than what actually is feasible b
bnx2x: Correct number of MSI-X vectors for VFs
Number of VFs in PCIe configuration space is zero-based. Driver incorrectly sets the number of VFs to be larger by one than what actually is feasible by HW, which might cause later VFs to fail to allocate their MSI-X interrupts.
Signed-off-by: Michal Kalderon <michals@broadcom.com> Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v3.13-rc7 |
|
#
8fd90de8 |
| 30-Dec-2013 |
dingtianhong <dingtianhong@huawei.com> |
net: bnx2x: slight optimization of addr compare
Use the possibly more efficient ether_addr_equal or ether_addr_equal_unaligned to instead of memcmp.
Cc: Ariel Elior <ariele@broadcom.com> Cc: Sergei
net: bnx2x: slight optimization of addr compare
Use the possibly more efficient ether_addr_equal or ether_addr_equal_unaligned to instead of memcmp.
Cc: Ariel Elior <ariele@broadcom.com> Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Ding Tianhong <dingtianhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v3.13-rc6 |
|
#
858f4deb |
| 26-Dec-2013 |
Yuval Mintz <yuvalmin@broadcom.com> |
bnx2x: add VF Multicast filters support
This patch adds the necessary support for configuring (and removing) multicast filters to VFs.
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-
bnx2x: add VF Multicast filters support
This patch adds the necessary support for configuring (and removing) multicast filters to VFs.
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v3.13-rc5, v3.13-rc4, v3.13-rc3 |
|
#
c8781cf4 |
| 04-Dec-2013 |
Michal Kalderon <michals@broadcom.com> |
bnx2x: avoid null pointer dereference when enabling SR-IOV
Fixed NULL pointer dereference when dynamically activating SR-IOV after vf database failed to be allocated in probe stage (for example due
bnx2x: avoid null pointer dereference when enabling SR-IOV
Fixed NULL pointer dereference when dynamically activating SR-IOV after vf database failed to be allocated in probe stage (for example due to no ARI support in pci hub).
Signed-off-by: Michal Kalderon <michals@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v3.13-rc2, v3.13-rc1, v3.12, v3.12-rc7 |
|
#
826cb7b4 |
| 27-Oct-2013 |
Ariel Elior <ariele@broadcom.com> |
bnx2x: Disable VF access on PF removal
When the bnx2x driver is rmmoded, if VFs of a given PF will be assigned to a VM then that PF will be unable to call `pci_disable_sriov()'.
If for that same PF
bnx2x: Disable VF access on PF removal
When the bnx2x driver is rmmoded, if VFs of a given PF will be assigned to a VM then that PF will be unable to call `pci_disable_sriov()'.
If for that same PF there would also exist unassigned VFs in the hypervisor, the result will be that after the removal there will still be virtual PCI functions on the hypervisor. If the bnx2x module were to be re-inserted, the result will be that the VFs on the hypervisor will be re-probed directly following the PF's probe, even though that in regular loading flow sriov is only enabled once PF is loaded. The probed VF will then try to access its bar, causing a PCI error as the HW is not in a state enabling such a request.
This patch adds a missing disablement procedure to the PF's removal, one that sets registers viewable to the VF to indicate that the VFs have no permission to access the bar, thus resulting in probe errors instead of PCI errors.
Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
6b991c37 |
| 20-Oct-2013 |
Yuval Mintz <yuvalmin@broadcom.com> |
bnx2x: Prevent null pointer dereference on error flow
If debug message is open and bnx2x_vfop_qdtor_cmd() were to fail, the resulting print would have caused a null pointer dereference.
Signed-off-
bnx2x: Prevent null pointer dereference on error flow
If debug message is open and bnx2x_vfop_qdtor_cmd() were to fail, the resulting print would have caused a null pointer dereference.
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
31329afd |
| 20-Oct-2013 |
Ariel Elior <ariele@broadcom.com> |
bnx2x: Unlock VF-PF channel on MAC/VLAN config error
Current code returns upon failure, leaving the VF-PF in an unusable state; This patch adds the missing release so further commands could pass bet
bnx2x: Unlock VF-PF channel on MAC/VLAN config error
Current code returns upon failure, leaving the VF-PF in an unusable state; This patch adds the missing release so further commands could pass between PF and VF.
Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v3.12-rc6, v3.12-rc5, v3.12-rc4, v3.12-rc3 |
|
#
9a8130bc |
| 28-Sep-2013 |
Ariel Elior <ariele@broadcom.com> |
bnx2x: Don't disable/enable SR-IOV when loading
Current bnx2x implementation controls the number of VFs only by standard sysfs support, and will reject setting the number of VFs when the PF is not l
bnx2x: Don't disable/enable SR-IOV when loading
Current bnx2x implementation controls the number of VFs only by standard sysfs support, and will reject setting the number of VFs when the PF is not loaded. As a result, there is no need to schedule a delayed work to enable SR-IOV when PF is loaded, as the number of VFs at that point must be 0.
Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v3.12-rc2 |
|
#
717fa2b9 |
| 23-Sep-2013 |
Ariel Elior <ariele@broadcom.com> |
bnx2x: add missing VF resource allocation during init
bnx2x_iov_static_resc() should be called after IGU was read for information on the number of available VFs, so that resources will be correctly
bnx2x: add missing VF resource allocation during init
bnx2x_iov_static_resc() should be called after IGU was read for information on the number of available VFs, so that resources will be correctly set.
Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
9ea75ded |
| 23-Sep-2013 |
Ariel Elior <ariele@broadcom.com> |
bnx2x: Fix support for VFs on some PFs
Due to incorrect usage of PF macros when reading information relating to interrupts, some PFs were erroneously unable to support VFs.
Signed-off-by: Ariel Eli
bnx2x: Fix support for VFs on some PFs
Due to incorrect usage of PF macros when reading information relating to interrupts, some PFs were erroneously unable to support VFs.
Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|