1. 26 6月, 2016 1 次提交
    • H
      cxgb4vf: Synchronize access to mailbox · b38066da
      Hariprasad Shenai 提交于
      The issue comes when there are multiple threads attempting to use the
      mailbox facility at the same time. The issue is the for the Virtual
      Function Driver, the only way to get the Virtual Interface statistics
      is to issue mailbox commands to ask the firmware for the VI Stats.
      And, because the VI Stats command can only retrieve a smallish number of
      stats per mailbox command, we have to issue three mailbox commands in quick
      succession. When ethtool or netstat command to get interface stats and
      interface up/down is run in a loop for every 0.1 sec, we observed
      mailbox collisions. And out of the two commands one would fail with
      the present code, since we don't queue the second command.
      
      To overcome the above issue, added a queue to access the mailbox.
      Whenever a mailbox command is issued add it to the queue. If its at the
      head issue the mailbox command, else wait for the existing command to
      complete. Usually command takes less than a milli-second to complete.
      Also timeout from the loop, if the command under execution takes
      long time to run.
      
      In reality, the number of mailbox access collisions is going to be very
      rare since no one runs such abusive script.
      Signed-off-by: NHariprasad Shenai <hariprasad@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b38066da
  2. 30 4月, 2016 1 次提交
  3. 03 3月, 2016 1 次提交
  4. 19 2月, 2016 1 次提交
  5. 24 12月, 2015 1 次提交
  6. 04 8月, 2015 1 次提交
  7. 02 6月, 2015 1 次提交
  8. 28 5月, 2015 1 次提交
    • H
      cxgb4/cxgb4vf: function and argument name cleanup · b2612722
      Hariprasad Shenai 提交于
      This patch changes variable name 'fn' to 'pf' of structure adapter.
      A 'fn' usually stands for PCI function which could be a PF or a VF.
      However, the use of this particular variable is explicitly limited to PF
      only. So, be specific about it in the variable name.
      
      Also corrects arguments passed for fn t4_ofld_eq_free, t4_ctrl_eq_free,
      t4_eth_eq_free, t4_iq_free, t4_alloc_vi, t4_fw_hello, t4_wr_mbox and
      t4_cfg_pfvf function.
      
      Also renames cxgb4_t4_bar2_sge_qregs to t4_bar2_sge_qregs and renames
      the latter function name in cxgb4vf driver to t4vf_bar2_sge_qregs to
      avoid conflicts. Also fixes alignment for these function.
      Signed-off-by: NHariprasad Shenai <hariprasad@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b2612722
  9. 30 3月, 2015 1 次提交
  10. 09 3月, 2015 1 次提交
  11. 14 1月, 2015 1 次提交
  12. 06 1月, 2015 4 次提交
  13. 23 12月, 2014 1 次提交
  14. 10 12月, 2014 2 次提交
  15. 23 11月, 2014 4 次提交
  16. 11 11月, 2014 3 次提交
  17. 10 10月, 2014 1 次提交
  18. 23 12月, 2013 1 次提交
  19. 04 12月, 2013 1 次提交
  20. 14 3月, 2013 1 次提交
  21. 08 12月, 2012 1 次提交
  22. 04 12月, 2012 1 次提交
  23. 11 8月, 2011 1 次提交
  24. 24 6月, 2011 1 次提交
  25. 15 2月, 2011 1 次提交
  26. 11 1月, 2011 1 次提交
    • C
      cxgb4vf: fix mailbox data/control coherency domain race · 80ce3f67
      Casey Leedom 提交于
      For the VFs, the Mailbox Data "registers" are actually backed by
      T4's "MA" interface rather than PL Registers (as is the case for
      the PFs).  Because these are in different coherency domains, the
      write to the VF's PL-register-backed Mailbox Control can race in
      front of the writes to the MA-backed VF Mailbox Data "registers".
      So we need to do a read-back on at least one byte of the VF Mailbox
      Data registers before doing the write to the VF Mailbox Control
      register.
      Signed-off-by: NCasey Leedom <leedom@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      80ce3f67
  27. 21 12月, 2010 1 次提交
  28. 29 11月, 2010 1 次提交
  29. 16 11月, 2010 1 次提交
  30. 13 11月, 2010 1 次提交
  31. 21 7月, 2010 1 次提交