1. 15 3月, 2017 1 次提交
  2. 16 2月, 2017 1 次提交
  3. 18 1月, 2017 1 次提交
  4. 02 1月, 2017 4 次提交
  5. 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
  6. 01 11月, 2016 2 次提交
  7. 14 10月, 2016 1 次提交
  8. 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
  9. 23 8月, 2016 3 次提交
  10. 16 8月, 2016 2 次提交
  11. 31 7月, 2016 2 次提交
  12. 20 6月, 2016 3 次提交
  13. 09 6月, 2016 1 次提交
  14. 03 6月, 2016 1 次提交
    • Y
      qed: Utilize FW 8.10.3.0 · 351a4ded
      Yuval Mintz 提交于
      The New QED firmware contains several fixes, including:
        - Wrong classification of packets in 4-port devices.
        - Anti-spoof interoperability with encapsulated packets.
        - Tx-switching of encapsulated packets.
      It also slightly improves Tx performance of the device.
      
      In addition, this firmware contains the necessary logic for
      supporting iscsi & rdma, for which we plan on pushing protocol
      drivers in the imminent future.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      351a4ded
  15. 12 5月, 2016 8 次提交
    • Y
      qed*: Tx-switching configuration · 831bfb0e
      Yuval Mintz 提交于
      Device should be configured by default to VEB once VFs are active.
      This changes the configuration of both PFs' and VFs' vports into enabling
      tx-switching once sriov is enabled.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      831bfb0e
    • Y
      qed*: IOV support spoof-checking · 6ddc7608
      Yuval Mintz 提交于
      Add support in `ndo_set_vf_spoofchk' for allowing PF control over
      its VF spoof-checking configuration.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6ddc7608
    • Y
      qed*: Support forced MAC · eff16960
      Yuval Mintz 提交于
      Allows the PF to enforce the VF's mac.
      i.e., by using `ip link ... vf <x> mac <value>'.
      
      While a MAC is forced, PF would prevent the VF from configuring any other
      MAC.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      eff16960
    • Y
      qed*: Support PVID configuration · 08feecd7
      Yuval Mintz 提交于
      This adds support for PF control over the VF vlan configuration.
      I.e., `ip link ... vf <x> vlan <vid>' should now be supported.
      
       1. <vid> != 0 => VF receives [unknowingly] only traffic tagged by
          <vid> and tags all outgoing traffic sent by VF with <vid>.
       2. <vid> == 0 ==> Remove the pvid configuration, reverting to previous.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      08feecd7
    • Y
      qed: Align TLVs · 17b235c1
      Yuval Mintz 提交于
      As the VF infrastructure is supposed to offer backward/forward
      compatibility, the various types associated with VF<->PF communication
      should be aligned across all various platforms that support IOV
      on our family of adapters.
      
      This adds a couple of currently missing values, specifically aligning
      the enum for the various TLVs possible in the communication between them.
      
      It then adds the PF implementation for some of those missing VF requests.
      This support isn't really necessary for the Linux VF as those VFs aren't
      requiring it [at least today], but are required by VFs running on other
      OSes. LRO is an example of one such configuration.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      17b235c1
    • Y
      qed: IOV l2 functionality · dacd88d6
      Yuval Mintz 提交于
      This adds sufficient changes to allow VFs l2-configuration flows to work.
      
      While the fastpath of the VF and the PF are meant to be exactly the same,
      the configuration of the VF is done by the PF.
      This diverges all VF-related configuration flows that originate from a VF,
      making them pass through the VF->PF channel and adding sufficient logic
      on the PF side to support them.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dacd88d6
    • Y
      qed: IOV configure and FLR · 0b55e27d
      Yuval Mintz 提交于
      While previous patches have already added the necessary logic to probe
      VFs as well as enabling them in the HW, this patch adds the ability to
      support VF FLR & SRIOV disable.
      
      It then wraps both flows together into the first IOV callback to be
      provided to the protocol driver - `configure'. This would later to be used
      to enable and disable SRIOV in the adapter.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0b55e27d
    • Y
      qed: Introduce VFs · 1408cc1f
      Yuval Mintz 提交于
      This adds the qed VFs for the first time -
      The vfs are limited functions, with a very different PCI bar structure
      [when compared with PFs] to better impose the related security demands
      associated with them.
      
      This patch includes the logic neccesary to allow VFs to successfully probe
      [without actually adding the ability to enable iov].
      This includes diverging all the flows that would occur as part of the pci
      probe of the driver, preventing VF from accessing registers/memories it
      can't and instead utilize the VF->PF channel to query the PF for needed
      information.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1408cc1f
  16. 26 4月, 2016 1 次提交
  17. 16 4月, 2016 1 次提交
  18. 14 4月, 2016 2 次提交
  19. 08 3月, 2016 1 次提交
  20. 03 3月, 2016 1 次提交
  21. 22 2月, 2016 2 次提交