1. 27 6月, 2017 1 次提交
  2. 16 6月, 2017 4 次提交
  3. 23 5月, 2017 1 次提交
    • M
      net/mlx5: Avoid using pending command interface slots · 73dd3a48
      Mohamad Haj Yahia 提交于
      Currently when firmware command gets stuck or it takes long time to
      complete, the driver command will get timeout and the command slot is
      freed and can be used for new commands, and if the firmware receive new
      command on the old busy slot its behavior is unexpected and this could
      be harmful.
      To fix this when the driver command gets timeout we return failure,
      but we don't free the command slot and we wait for the firmware to
      explicitly respond to that command.
      Once all the entries are busy we will stop processing new firmware
      commands.
      
      Fixes: 9cba4ebc ('net/mlx5: Fix potential deadlock in command mode change')
      Signed-off-by: NMohamad Haj Yahia <mohamad@mellanox.com>
      Cc: kernel-team@fb.com
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      73dd3a48
  4. 28 3月, 2017 2 次提交
  5. 23 3月, 2017 1 次提交
  6. 30 1月, 2017 1 次提交
  7. 07 12月, 2016 1 次提交
    • K
      net/mlx5: Fix query ISSI flow · f9c14e46
      Kamal Heib 提交于
      In old FWs query ISSI command is not supported and for some of those FWs
      it might fail with status other than "MLX5_CMD_STAT_BAD_OP_ERR".
      
      In such case instead of failing the driver load, we will treat any FW
      status other than 0 for Query ISSI FW command as ISSI not supported and
      assume ISSI=0 (most basic driver/FW interface).
      
      In case of driver syndrom (query ISSI failure by driver) we will fail
      driver load.
      
      Fixes: f62b8bb8 ('net/mlx5: Extend mlx5_core to support ConnectX-4
      Ethernet functionality')
      Signed-off-by: NKamal Heib <kamalh@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f9c14e46
  8. 01 12月, 2016 1 次提交
  9. 19 11月, 2016 1 次提交
  10. 30 10月, 2016 1 次提交
    • M
      net/mlx5: Introduce TSAR manipulation firmware commands · 813f8540
      Mohamad Haj Yahia 提交于
      TSAR (stands for Transmit Scheduling ARbiter) is a hardware component
      that is responsible for selecting the next entity to serve on the
      transmit path.
      The arbitration defines the QoS policy between the agents connected to
      the TSAR.
      The TSAR is a consist two main features:
      1) BW Allocation between agents:
      The TSAR implements a defecit weighted round robin between the agents.
      Each agent attached to the TSAR is assigned with a weight and it is
      awarded transmission tokens according to this weight.
      2) Rate limer per agent:
      Each agent attached to the TSAR is (optionally) assigned with a rate
      limit.
      TSAR will not allow scheduling for an agent exceeding its defined rate
      limit.
      
      In this patch we implement the API of manipulating the TSAR.
      Signed-off-by: NMohamad Haj Yahia <mohamad@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NLeon Romanovsky <leon@kernel.org>
      813f8540
  11. 23 8月, 2016 1 次提交
  12. 20 8月, 2016 1 次提交
  13. 18 8月, 2016 1 次提交
    • A
      net/mlx5: Add HW interfaces used by LAG · 84df61eb
      Aviv Heller 提交于
      Exposed LAG commands enum and layouts:
      - CREATE_LAG
        HW enters LAG mode:
        RoCE traffic from port two is received on PF0 core dev.
        Allows to set tx_affinity (tx port) for QPs and TISes.
        Allows to port remap QPs and TISes, overriding their
        tx_affinity behavior.
      
      - MODIFY_LAG
        Remap QPs and TISes to another port.
      
      - QUERY_LAG
        Query whether LAG mode is active.
      
      - DESTROY_LAG
        HW exits LAG mode, returning to non-LAG behavior.
      
      - CREATE_VPORT_LAG
        Merge Ethernet flow steering, such that traffic received on port
        two jumps to PF0 root flow table.
      
        Available only in LAG mode.
      
      - DESTROY_VPORT_LAG
        Ethernet flow steering returns to non-LAG behavior.
      
      Caps added:
      - lag_master
        Driver is in charge of managing the LAG.
        This is currently the only option.
      
      - num_lag_ports
        LAG is supported only if this field's value is 2.
      
      Other fields:
      - QP/TIS tx port affinity
        During LAG, this field controls on which port a QP or TIS resides.
      
      - TIS strict tx affinity
        When this field is set, the TIS will not be subject to port remap by
        CREATE_LAG/MODIFY_LAG.
      
      - LAG demux flow table
        Flow table used for redirecting non user-space traffic back to
        PF1 root flow table, if the packet was received on port two.
      Signed-off-by: NAviv Heller <avivh@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NLeon Romanovsky <leon@kernel.org>
      84df61eb
  14. 17 8月, 2016 2 次提交
  15. 14 8月, 2016 2 次提交
  16. 01 7月, 2016 3 次提交
  17. 29 6月, 2016 1 次提交
  18. 17 5月, 2016 2 次提交
  19. 22 3月, 2016 1 次提交
  20. 25 2月, 2016 2 次提交
  21. 15 10月, 2015 2 次提交
  22. 09 10月, 2015 1 次提交
  23. 29 9月, 2015 2 次提交
  24. 31 5月, 2015 2 次提交
  25. 03 4月, 2015 3 次提交