mbox series

[pull,request,for-next] mlx5-next auxbus support

Message ID 20201204182952.72263-1-saeedm@nvidia.com (mailing list archive)
State Superseded
Headers show
Series [pull,request,for-next] mlx5-next auxbus support | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux.git mlx5-next

Message

Saeed Mahameed Dec. 4, 2020, 6:29 p.m. UTC
Hi Jakub, Jason

This pull request is targeting net-next and rdma-next branches.

This series provides mlx5 support for auxiliary bus devices.

It starts with a merge commit of tag 'auxbus-5.11-rc1' from
gregkh/driver-core into mlx5-next, then the mlx5 patches that will convert
mlx5 ulp devices (netdev, rdma, vdpa) to use the proper auxbus
infrastructure instead of the internal mlx5 device and interface management
implementation, which Leon is deleting at the end of this patchset.

Link: https://lore.kernel.org/alsa-devel/20201026111849.1035786-1-leon@kernel.org/

Thanks to everyone for the joint effort !

Please pull and let me know if there's any problem.

Thanks,
Saeed.

---

The following changes since commit b65054597872ce3aefbc6a666385eabdf9e288da:

  Linux 5.10-rc6 (2020-11-29 15:50:50 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux.git mlx5-next

for you to fetch changes up to 940d816e44b83c62eec0bf8a5dcd087eec6532cb:

  RDMA/mlx5: Remove IB representors dead code (2020-12-04 14:46:56 +0200)

----------------------------------------------------------------
Dave Ertman (1):
      Add auxiliary bus support

Greg Kroah-Hartman (3):
      driver core: auxiliary bus: move slab.h from include file
      driver core: auxiliary bus: make remove function return void
      driver core: auxiliary bus: minor coding style tweaks

Leon Romanovsky (11):
      Merge tag 'auxbus-5.11-rc1' of https://git.kernel.org/.../gregkh/driver-core into mlx5-next
      net/mlx5: Properly convey driver version to firmware
      net/mlx5_core: Clean driver version and name
      vdpa/mlx5: Make hardware definitions visible to all mlx5 devices
      net/mlx5: Register mlx5 devices to auxiliary virtual bus
      vdpa/mlx5: Connect mlx5_vdpa to auxiliary bus
      net/mlx5e: Connect ethernet part to auxiliary bus
      RDMA/mlx5: Convert mlx5_ib to use auxiliary bus
      net/mlx5: Delete custom device management logic
      net/mlx5: Simplify eswitch mode check
      RDMA/mlx5: Remove IB representors dead code

 Documentation/driver-api/auxiliary_bus.rst         | 234 +++++++++
 Documentation/driver-api/index.rst                 |   1 +
 drivers/base/Kconfig                               |   3 +
 drivers/base/Makefile                              |   1 +
 drivers/base/auxiliary.c                           | 274 ++++++++++
 drivers/infiniband/hw/mlx5/counters.c              |   7 -
 drivers/infiniband/hw/mlx5/ib_rep.c                | 113 ++--
 drivers/infiniband/hw/mlx5/ib_rep.h                |  45 +-
 drivers/infiniband/hw/mlx5/main.c                  | 155 ++++--
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |   4 +-
 drivers/net/ethernet/mellanox/mlx5/core/Kconfig    |   1 +
 drivers/net/ethernet/mellanox/mlx5/core/dev.c      | 567 ++++++++++++++-------
 drivers/net/ethernet/mellanox/mlx5/core/devlink.c  |   4 +-
 .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |   4 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  | 135 ++---
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |  42 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.h   |   6 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    |   8 +-
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |  21 +-
 .../ethernet/mellanox/mlx5/core/ipoib/ethtool.c    |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/lag.c      |  58 +--
 drivers/net/ethernet/mellanox/mlx5/core/main.c     |  49 +-
 .../net/ethernet/mellanox/mlx5/core/mlx5_core.h    |  33 +-
 drivers/vdpa/mlx5/Makefile                         |   2 +-
 drivers/vdpa/mlx5/net/main.c                       |  76 ---
 drivers/vdpa/mlx5/net/mlx5_vnet.c                  |  53 +-
 drivers/vdpa/mlx5/net/mlx5_vnet.h                  |  24 -
 include/linux/auxiliary_bus.h                      |  77 +++
 include/linux/mlx5/driver.h                        |  34 +-
 include/linux/mlx5/eswitch.h                       |   8 +-
 .../linux/mlx5/mlx5_ifc_vdpa.h                     |   8 +-
 include/linux/mod_devicetable.h                    |   8 +
 scripts/mod/devicetable-offsets.c                  |   3 +
 scripts/mod/file2alias.c                           |   8 +
 34 files changed, 1418 insertions(+), 650 deletions(-)
 create mode 100644 Documentation/driver-api/auxiliary_bus.rst
 create mode 100644 drivers/base/auxiliary.c
 delete mode 100644 drivers/vdpa/mlx5/net/main.c
 delete mode 100644 drivers/vdpa/mlx5/net/mlx5_vnet.h
 create mode 100644 include/linux/auxiliary_bus.h
 rename drivers/vdpa/mlx5/core/mlx5_vdpa_ifc.h => include/linux/mlx5/mlx5_ifc_vdpa.h (96%)

Comments

Jason Gunthorpe Dec. 5, 2020, 12:26 a.m. UTC | #1
On Fri, Dec 04, 2020 at 10:29:52AM -0800, Saeed Mahameed wrote:
> Hi Jakub, Jason
> 
> This pull request is targeting net-next and rdma-next branches.
> 
> This series provides mlx5 support for auxiliary bus devices.
> 
> It starts with a merge commit of tag 'auxbus-5.11-rc1' from
> gregkh/driver-core into mlx5-next, then the mlx5 patches that will convert
> mlx5 ulp devices (netdev, rdma, vdpa) to use the proper auxbus
> infrastructure instead of the internal mlx5 device and interface management
> implementation, which Leon is deleting at the end of this patchset.
> 
> Link: https://lore.kernel.org/alsa-devel/20201026111849.1035786-1-leon@kernel.org/
> 
> Thanks to everyone for the joint effort !
> 
> Please pull and let me know if there's any problem.

This all looks good, thanks.

Jakub a few notes on shared branch process here.. 

In general Linus's advice has been to avoid unnecessary merges so
Saeed/Leon have tended to send PRs to one tree or the other based on
need and that PR might have a "catch up" from the other tree. I guess
this one is special because it makes lots of changes in both trees.

Whoever pulls first means the other cannot refuse the PR, so I usually
prefer to let netdev go first. I have more BW to manage trouble on the
RDMA side..

I saw your other request related to the CI failures due to the wrong
branch basis in the build bot. This means you will need to pull every
update to the mlx5 shared branch, even if it is not immediately
relevant to netdev, or have Saeed include the 'base commit' trailer
and teach the build bots to respect it..

Also, I arrange the RDMA merge window PR to be after netdev (usually
on Thursday) so that Linus sees minor RDMA stuff in the netdev
diffstat, and almost no netdev stuff in the RDMA PR.

Cheers,
Jason
Jakub Kicinski Dec. 5, 2020, 11:35 p.m. UTC | #2
On Fri, 4 Dec 2020 10:29:52 -0800 Saeed Mahameed wrote:
> This pull request is targeting net-next and rdma-next branches.
> 
> This series provides mlx5 support for auxiliary bus devices.
> 
> It starts with a merge commit of tag 'auxbus-5.11-rc1' from
> gregkh/driver-core into mlx5-next, then the mlx5 patches that will convert
> mlx5 ulp devices (netdev, rdma, vdpa) to use the proper auxbus
> infrastructure instead of the internal mlx5 device and interface management
> implementation, which Leon is deleting at the end of this patchset.
> 
> Link: https://lore.kernel.org/alsa-devel/20201026111849.1035786-1-leon@kernel.org/
> 
> Thanks to everyone for the joint effort !

Pulled, thanks! (I'll push out after build finishes so may be an hour)
Jakub Kicinski Dec. 5, 2020, 11:36 p.m. UTC | #3
On Fri, 4 Dec 2020 20:26:42 -0400 Jason Gunthorpe wrote:
> Jakub a few notes on shared branch process here.. 
> 
> In general Linus's advice has been to avoid unnecessary merges so
> Saeed/Leon have tended to send PRs to one tree or the other based on
> need and that PR might have a "catch up" from the other tree. I guess
> this one is special because it makes lots of changes in both trees.
> 
> Whoever pulls first means the other cannot refuse the PR, so I usually
> prefer to let netdev go first. I have more BW to manage trouble on the
> RDMA side..
> 
> I saw your other request related to the CI failures due to the wrong
> branch basis in the build bot. This means you will need to pull every
> update to the mlx5 shared branch, even if it is not immediately
> relevant to netdev, or have Saeed include the 'base commit' trailer
> and teach the build bots to respect it..
> 
> Also, I arrange the RDMA merge window PR to be after netdev (usually
> on Thursday) so that Linus sees minor RDMA stuff in the netdev
> diffstat, and almost no netdev stuff in the RDMA PR.

Makes sense, thanks for the notes.
Jakub Kicinski Dec. 6, 2020, 12:19 a.m. UTC | #4
On Sat, 5 Dec 2020 15:35:45 -0800 Jakub Kicinski wrote:
> On Fri, 4 Dec 2020 10:29:52 -0800 Saeed Mahameed wrote:
> > This pull request is targeting net-next and rdma-next branches.
> > 
> > This series provides mlx5 support for auxiliary bus devices.
> > 
> > It starts with a merge commit of tag 'auxbus-5.11-rc1' from
> > gregkh/driver-core into mlx5-next, then the mlx5 patches that will convert
> > mlx5 ulp devices (netdev, rdma, vdpa) to use the proper auxbus
> > infrastructure instead of the internal mlx5 device and interface management
> > implementation, which Leon is deleting at the end of this patchset.
> > 
> > Link: https://lore.kernel.org/alsa-devel/20201026111849.1035786-1-leon@kernel.org/
> > 
> > Thanks to everyone for the joint effort !  
> 
> Pulled, thanks! (I'll push out after build finishes so may be an hour)

Or not, looks like you didn't adjust to Greg's changes:

../drivers/net/ethernet/mellanox/mlx5/core/en_main.c:5505:12: error: initialization of ‘void (*)(struct auxiliary_device *)’ from incompatible pointer type ‘int (*)(struct auxiliary_device *)’ [-Werror=incompatible-pointer-types]
 5505 |  .remove = mlx5e_remove,
      |            ^~~~~~~~~~~~
../drivers/net/ethernet/mellanox/mlx5/core/en_main.c:5505:12: note: (near initialization for ‘mlx5e_driver.remove’)
cc1: some warnings being treated as errors
make[6]: *** [../scripts/Makefile.build:283: drivers/net/ethernet/mellanox/mlx5/core/en_main.o] Error 1
make[5]: *** [../scripts/Makefile.build:500: drivers/net/ethernet/mellanox/mlx5/core] Error 2
make[4]: *** [../scripts/Makefile.build:500: drivers/net/ethernet/mellanox] Error 2
make[3]: *** [../scripts/Makefile.build:500: drivers/net/ethernet] Error 2
make[3]: *** Waiting for unfinished jobs....
Leon Romanovsky Dec. 6, 2020, 5:03 a.m. UTC | #5
On Sat, Dec 05, 2020 at 04:19:21PM -0800, Jakub Kicinski wrote:
> On Sat, 5 Dec 2020 15:35:45 -0800 Jakub Kicinski wrote:
> > On Fri, 4 Dec 2020 10:29:52 -0800 Saeed Mahameed wrote:
> > > This pull request is targeting net-next and rdma-next branches.
> > >
> > > This series provides mlx5 support for auxiliary bus devices.
> > >
> > > It starts with a merge commit of tag 'auxbus-5.11-rc1' from
> > > gregkh/driver-core into mlx5-next, then the mlx5 patches that will convert
> > > mlx5 ulp devices (netdev, rdma, vdpa) to use the proper auxbus
> > > infrastructure instead of the internal mlx5 device and interface management
> > > implementation, which Leon is deleting at the end of this patchset.
> > >
> > > Link: https://lore.kernel.org/alsa-devel/20201026111849.1035786-1-leon@kernel.org/
> > >
> > > Thanks to everyone for the joint effort !
> >
> > Pulled, thanks! (I'll push out after build finishes so may be an hour)
>
> Or not, looks like you didn't adjust to Greg's changes:

Sorry Jakub, It was my mistake.

I'm fixing, folding the changes and pushing new branch now.
Most likely that Saeed will send new pull request on Monday.

Thanks