1. 26 3月, 2014 2 次提交
    • Y
      bnx2x: Create workqueue for IOV related tasks · 370d4a26
      Yuval Mintz 提交于
      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: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NAriel Elior <Ariel.Elior@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      370d4a26
    • Y
      bnx2x: Support mng. request for driver version · 42f8277f
      Yuval Mintz 提交于
      This adds support in a new management feature which needs the driver versions
      (bnx2x, bnx2fc and bnx2i) loaded for each interface.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NAriel Elior <Ariel.Elior@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      42f8277f
  2. 22 3月, 2014 1 次提交
  3. 21 3月, 2014 4 次提交
  4. 19 3月, 2014 3 次提交
  5. 15 3月, 2014 2 次提交
  6. 14 3月, 2014 2 次提交
  7. 13 3月, 2014 2 次提交
  8. 10 3月, 2014 1 次提交
    • M
      bnx2: Fix shutdown sequence · a8d9bc2e
      Michael Chan 提交于
      The pci shutdown handler added in:
      
          bnx2: Add pci shutdown handler
          commit 25bfb1dd
      
      created a shutdown down sequence without chip reset if the device was
      never brought up.  This can cause the firmware to shutdown the PHY
      prematurely and cause MMIO read cycles to be unresponsive.  On some
      systems, it may generate NMI in the bnx2's pci shutdown handler.
      
      The fix is to tell the firmware not to shutdown the PHY if there was
      no prior chip reset.
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a8d9bc2e
  9. 03 3月, 2014 2 次提交
  10. 01 3月, 2014 1 次提交
  11. 28 2月, 2014 1 次提交
  12. 27 2月, 2014 3 次提交
  13. 26 2月, 2014 1 次提交
    • J
      bnx2x: Remove hidden flow control goto from BNX2X_ALLOC macros · cd2b0389
      Joe Perches 提交于
      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: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cd2b0389
  14. 25 2月, 2014 5 次提交
  15. 19 2月, 2014 3 次提交
  16. 17 2月, 2014 1 次提交
  17. 14 2月, 2014 4 次提交
  18. 13 2月, 2014 2 次提交