Message ID | 20230108030208.26390-1-ajit.khaparde@broadcom.com (mailing list archive) |
---|---|
Headers | show |
Series | Add Auxiliary driver support | expand |
On Sat, Jan 07, 2023 at 07:02:00PM -0800, Ajit Khaparde wrote: > > Ajit Khaparde <ajit.khaparde@broadcom.com> > Dec 7, 2022, 9:53 AM > to me, andrew.gospodarek, davem, edumazet, jgg, kuba, leon, linux-kernel, linux-rdma, michael.chan, netdev, pabeni, selvin.xavier > > Add auxiliary device driver for Broadcom devices. > The bnxt_en driver will register and initialize an aux device > if RDMA is enabled in the underlying device. > The bnxt_re driver will then probe and initialize the > RoCE interfaces with the infiniband stack. > > We got rid of the bnxt_en_ops which the bnxt_re driver used to > communicate with bnxt_en. > Similarly We have tried to clean up most of the bnxt_ulp_ops. > In most of the cases we used the functions and entry points provided > by the auxiliary bus driver framework. > And now these are the minimal functions needed to support the functionality. > > We will try to work on getting rid of the remaining if we find any > other viable option in future. > > v1->v2: > - Incorporated review comments including usage of ulp_id & > complex function indirections. > - Used function calls provided by the auxiliary bus interface > instead of proprietary calls. > - Refactor code to remove ROCE driver's access to bnxt structure. > > v2->v3: > - Addressed review comments including cleanup of some unnecessary wrappers > - Fixed warnings seen during cross compilation > > v3->v4: > - Cleaned up bnxt_ulp.c and bnxt_ulp.h further > - Removed some more dead code > - Sending the patchset as a standalone series > > v4->v5: > - Removed the SRIOV config callback which bnxt_en driver was calling into > bnxt_re driver. > - Removed excessive checks for rdev and other pointers. > > v5->v6: > - Removed excessive checks for dev and other pointers > - Remove runtime interrupt vector allocation. bnxt_en preallocates > interrupt vectors for bnxt_re to use. > > Please apply. Thanks. > > Ajit Khaparde (7): > bnxt_en: Add auxiliary driver support > RDMA/bnxt_re: Use auxiliary driver interface > bnxt_en: Remove usage of ulp_id > bnxt_en: Use direct API instead of indirection > bnxt_en: Use auxiliary bus calls over proprietary calls > RDMA/bnxt_re: Remove the sriov config callback > bnxt_en: Remove runtime interrupt vector allocation > > Hongguang Gao (1): > bnxt_en: Remove struct bnxt access from RoCE driver > Thanks a lot for pursuing it, Reviewed-by: Leon Romanovsky <leonro@nvidia.com>