1. 30 Nov, 2018 11 commits
    • Saeed Mahameed's avatar
      net/mlx5: Forward QP/WorkQueues resource events · 451be51c
      Saeed Mahameed authored
      Allow forwarding QP and WQ events to mlx5_core interfaces, e.g. mlx5_ib
      
      Use mlx5_notifier_register/unregister in qp.c in order to allow seamless
      transition of qp.c to infiniband subsystem.
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      451be51c
    • Saeed Mahameed's avatar
      net/mlx5: Remove all deprecated software versions of FW events · b8267cd7
      Saeed Mahameed authored
      Before the new mlx5 event notification infrastructure and API,
      mlx5_core used to process all events before forwarding them to mlx5
      interfaces (mlx5e/mlx5_ib) and used to translate the event type enum
      to a software defined enum, this is not needed anymore since it is ok
      for mlx5e and mlx5_ib to receive FW events as is, at least the few ones
      mlx5 core allows.
      
      mlx5e and mlx5_ib already moved to use the new API and they only handle FW
      events types, it is now safe to remove all equivalent software defined
      events and the logic around them.
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      b8267cd7
    • Saeed Mahameed's avatar
      IB/mlx5: Handle raw delay drop general event · 09e574fa
      Saeed Mahameed authored
      Handle FW general event rq delay drop as it was received from FW via mlx5
      notifiers API, instead of handling the processed software version of that
      event. After this patch we can safely remove all software processed FW
      events types and definitions.
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      09e574fa
    • Saeed Mahameed's avatar
      net/mlx5: Allow forwarding event type general event as is · cb6191bf
      Saeed Mahameed authored
      FW general event is used by mlx5_ib for RQ delay drop timeout event
      handling, in this patch we allow to forward FW general event type to mlx5
      notifiers chain so mlx5_ib can handle it and to deprecate the software
      version of it.
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      cb6191bf
    • Saeed Mahameed's avatar
      IB/mlx5: Handle raw port change event rather than the software version · 134e9349
      Saeed Mahameed authored
      Use the FW version of the port change event as forwarded via new mlx5
      notifiers API.
      
      After this patch, processed software version of the port change event
      will become deprecated and will be totally removed in downstream
      patches.
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      134e9349
    • Saeed Mahameed's avatar
      net/mlx5: Remove unused events callback and logic · 02039fb6
      Saeed Mahameed authored
      The mlx5_interface->event callback is not used by mlx5e/mlx5_ib anymore.
      
      We totally remove the delayed events logic work around, since with
      the dynamic notifier registration API it is not needed anymore, mlx5_ib
      can register its notifier and start receiving events exactly at the moment
      it is ready to handle them.
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      02039fb6
    • Saeed Mahameed's avatar
      IB/mlx5: Use the new mlx5 core notifier API · df097a27
      Saeed Mahameed authored
      Remove the deprecated mlx5_interface->event mlx5_ib callback and use new
      mlx5 notifier API to subscribe for mlx5 events.
      
      For native mlx5_ib devices profiles pf_profile/nic_rep_profile register
      the notifier callback mlx5_ib_handle_event which treats the notifier
      context as mlx5_ib_dev.
      
      For vport repesentors, don't register any notifier, same as before, they
      didn't receive any mlx5 events.
      
      For slave port (mlx5_ib_multiport_info) register a different notifier
      callback mlx5_ib_event_slave_port, which knows that the event is coming
      for mlx5_ib_multiport_info and prepares the event job accordingly.
      Before this on the event handler work we had to ask mlx5_core if this is
      a slave port mlx5_core_is_mp_slave(work->dev), now it is not needed
      anymore.
      mlx5_ib_multiport_info notifier registration is done on
      mlx5_ib_bind_slave_port and de-registration is done on
      mlx5_ib_unbind_slave_port.
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      df097a27
    • Saeed Mahameed's avatar
      net/mlx5: Forward all mlx5 events to mlx5 notifiers chain · 58d180b3
      Saeed Mahameed authored
      This to allow seamless migration to the new notifier chain API, and to
      eventually deprecate interfaces dev->event callback.
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      58d180b3
    • Saeed Mahameed's avatar
      net/mlx5e: Use the new mlx5 core notifier API · 7cffaddd
      Saeed Mahameed authored
      Remove the deprecated mlx5_interface->event mlx5e callback and use new
      mlx5 notifier API to subscribe for mlx5 events, handle port change event
      as received from FW rather than handling the mlx5 core processed port
      change software version event.
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      7cffaddd
    • Saeed Mahameed's avatar
      net/mlx5: Allow port change event to be forwarded to driver notifiers chain · 7a179555
      Saeed Mahameed authored
      The idea is to allow mlx5 core interfaces (mlx5e/mlx5_ib) to be able to
      receive some allowed FW events as is via the new notifier API.
      
      In this patch we allow forwarding port change event to mlx5 core interfaces
      (mlx5e/mlx5_ib) as it was received from FW.
      Once mlx5e and mlx5_ib start using this event we can safely remove the
      redundant software version of it and its translation logic.
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      7a179555
    • Saeed Mahameed's avatar
      net/mlx5: Driver events notifier API · 20902be4
      Saeed Mahameed authored
      Use atomic notifier chain to fire events to mlx5 core driver
      consumers (mlx5e/mlx5_ib) and provide mlx5 register/unregister notifier
      API.
      
      This API will replace the current mlx5_interface->event callback and all
      the logic around it, especially the delayed events logic introduced by
      commit 97834eba ("net/mlx5: Delay events till ib registration ends")
      
      Which is not needed anymore with this new API where the mlx5 interface
      can dynamically register/unregister its notifier.
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      20902be4
  2. 26 Nov, 2018 11 commits
  3. 20 Nov, 2018 12 commits
  4. 12 Nov, 2018 6 commits