-
- Downloads
mlx5: Move pci device handling from mlx5_ib to mlx5_core
In preparation for a new mlx5 device which is VPI (i.e., ports can be either IB or ETH), move the pci device functionality from mlx5_ib to mlx5_core. This involves the following changes: 1. Move mlx5_core_dev struct out of mlx5_ib_dev. mlx5_core_dev is now an independent structure maintained by mlx5_core. mlx5_ib_dev now has a pointer to that struct. This requires changing a lot of places where the core_dev struct was accessed via mlx5_ib_dev (now, this needs to be a pointer dereference). 2. All PCI initializations are now done in mlx5_core. Thus, it is now mlx5_core which does pci_register_device (and not mlx5_ib, as was previously). 3. mlx5_ib now registers itself with mlx5_core as an "interface" driver. This is very similar to the mechanism employed for the mlx4 (ConnectX) driver. Once the HCA is initialized (by mlx5_core), it invokes the interface drivers to do their initializations. 4. There is a new event handler which the core registers: mlx5_core_event(). This event handler invokes the event handlers registered by the interfaces. Based on a patch by Eli Cohen <eli@mellanox.com> Signed-off-by:Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by:
Eli Cohen <eli@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- drivers/infiniband/hw/mlx5/cq.c 23 additions, 23 deletionsdrivers/infiniband/hw/mlx5/cq.c
- drivers/infiniband/hw/mlx5/mad.c 2 additions, 2 deletionsdrivers/infiniband/hw/mlx5/mad.c
- drivers/infiniband/hw/mlx5/main.c 91 additions, 190 deletionsdrivers/infiniband/hw/mlx5/main.c
- drivers/infiniband/hw/mlx5/mlx5_ib.h 1 addition, 11 deletionsdrivers/infiniband/hw/mlx5/mlx5_ib.h
- drivers/infiniband/hw/mlx5/mr.c 24 additions, 24 deletionsdrivers/infiniband/hw/mlx5/mr.c
- drivers/infiniband/hw/mlx5/qp.c 42 additions, 42 deletionsdrivers/infiniband/hw/mlx5/qp.c
- drivers/infiniband/hw/mlx5/srq.c 13 additions, 13 deletionsdrivers/infiniband/hw/mlx5/srq.c
- drivers/net/ethernet/mellanox/mlx5/core/main.c 287 additions, 3 deletionsdrivers/net/ethernet/mellanox/mlx5/core/main.c
- include/linux/mlx5/driver.h 15 additions, 2 deletionsinclude/linux/mlx5/driver.h
Loading
Please register or sign in to comment