1. 03 7月, 2017 2 次提交
  2. 15 6月, 2017 1 次提交
  3. 05 6月, 2017 8 次提交
  4. 25 5月, 2017 1 次提交
  5. 19 5月, 2017 1 次提交
  6. 25 4月, 2017 3 次提交
  7. 18 4月, 2017 1 次提交
  8. 07 4月, 2017 1 次提交
    • R
      qed: Don't use main-ptt in unrelated flows · 15582962
      Rahul Verma 提交于
      In order to access HW registers driver needs to acquire a PTT entry
      [mapping between bar memory and internal chip address].
      Since acquiring PTT entries could fail [at least in theory] as their
      number is finite and other flows can hold them, we reserve special PTT
      entries for 'important' enough flows - ones we want to guarantee that
      would not be susceptible to such issues.
      
      One such special entry is the 'main' PTT which is meant to be used in
      flows such as chip initialization and de-initialization.
      However, there are other flows that are also using that same entry
      for their own purpose, and might run concurrently with the original
      flows [notice that for most cases using the main-ptt by mistake, such
      a race is still impossible, at least today].
      
      This patch re-organizes the various functions that currently use the
      main_ptt in one of two ways:
      
        - If a function shouldn't use the main_ptt it starts acquiring and
          releasing it's own PTT entry and use it instead. Notice if those
          functions previously couldn't fail, they now can [as acquisition
          might fail].
      
        - Change the prototypes so that the main_ptt would be received as
          a parameter [instead of explicitly accessing it].
          This prevents the future risk of adding codes that introduces new
          use-cases for flows using the main_ptt, ones that might be in race
          with the actual 'main' flows.
      Signed-off-by: NRahul Verma <Rahul.Verma@cavium.com>
      Signed-off-by: NYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      15582962
  9. 04 4月, 2017 1 次提交
  10. 15 3月, 2017 1 次提交
  11. 16 2月, 2017 1 次提交
  12. 18 1月, 2017 1 次提交
  13. 02 1月, 2017 4 次提交
  14. 01 12月, 2016 1 次提交
    • M
      qed*: Handle-based L2-queues. · 3da7a37a
      Mintz, Yuval 提交于
      The driver needs to maintain several FW/HW-indices for each one of
      its queues. Currently, that mapping is done by the QED where it uses
      an rx/tx array of so-called hw-cids, populating them whenever a new
      queue is opened and clearing them upon destruction of said queues.
      
      This maintenance is far from ideal - there's no real reason why
      QED needs to maintain such a data-structure. It becomes even worse
      when considering the fact that the PF's queues and its child VFs' queues
      are all mapped into the same data-structure.
      As a by-product, the set of parameters an interface needs to supply for
      queue APIs is non-trivial, and some of the variables in the API
      structures have different meaning depending on their exact place
      in the configuration flow.
      
      This patch re-organizes the way L2 queues are configured and maintained.
      In short:
        - Required parameters for queue init are now well-defined.
        - Qed would allocate a queue-cid based on parameters.
          Upon initialization success, it would return a handle to caller.
        - Queue-handle would be maintained by entity requesting queue-init,
          not necessarily qed.
        - All further queue-APIs [update, destroy] would use the opaque
          handle as reference for the queue instead of various indices.
      
      The possible owners of such handles:
        - PF queues [qede] - complete handles based on provided configuration.
        - VF queues [qede] - fw-context-less handles, containing only relative
          information; Only the PF-side would need the absolute indices
          for configuration, so they're omitted here.
        - VF queues [qed, PF-side] - complete handles based on VF initialization.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3da7a37a
  15. 01 11月, 2016 2 次提交
  16. 14 10月, 2016 1 次提交
  17. 10 9月, 2016 1 次提交
    • B
      qed: mark symbols static where possible · ba56947a
      Baoyou Xie 提交于
      We get a few warnings when building kernel with W=1:
      drivers/net/ethernet/qlogic/qed/qed_l2.c:112:5: warning: no previous prototype for 'qed_sp_vport_start' [-Wmissing-prototypes]
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:110:6: warning: no previous prototype for 'qed_iov_is_valid_vfid' [-Wmissing-prototypes]
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:188:5: warning: no previous prototype for 'qed_iov_post_vf_bulletin' [-Wmissing-prototypes]
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:578:6: warning: no previous prototype for 'qed_iov_set_vfs_to_disable' [-Wmissing-prototypes]
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:1135:28: warning: no previous prototype for 'qed_iov_get_public_vf_info' [-Wmissing-prototypes]
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:1148:6: warning: no previous prototype for 'qed_iov_clean_vf' [-Wmissing-prototypes]
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:2444:5: warning: no previous prototype for 'qed_iov_chk_ucast' [-Wmissing-prototypes]
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:2762:5: warning: no previous prototype for 'qed_iov_vf_flr_cleanup' [-Wmissing-prototypes]
      ....
      
      In fact, these functions are only used in the file in which they are
      declared and don't need a declaration, but can be made static.
      so this patch marks these functions with 'static'.
      Signed-off-by: NBaoyou Xie <baoyou.xie@linaro.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ba56947a
  18. 23 8月, 2016 3 次提交
  19. 16 8月, 2016 2 次提交
  20. 31 7月, 2016 2 次提交
  21. 20 6月, 2016 2 次提交