mbox series

[V3,for-next,0/8] Refactor control path of bnxt_re driver

Message ID 1581786665-23705-1-git-send-email-devesh.sharma@broadcom.com (mailing list archive)
Headers show
Series Refactor control path of bnxt_re driver | expand

Message

Devesh Sharma Feb. 15, 2020, 5:10 p.m. UTC
This is the first series out of few more forthcoming series to refactor
Broadcom's RoCE driver. This series contains patches to refactor control
path. Since this is first series, there may be few code section which may
look redundant or overkill but those will be taken care in future patch
series.

These patches apply clean on tip of for-next branch.
Each patch in this series is tested against user and kernel functionality.

v2->v3
  -- Rebased the series on tip of for-nxt, linux-5.6-rc1

v1->v2
patch 0001
  -- removed unwind logic when qp destroy fails.
  -- removed atomic dec out of mutex lock
patch 0003
  -- saved memset by using default initializer for hwq_attr and sginfo
patch 0004
  -- saved memset by using default initializer for rattr.
patch 0008
  -- a new patch to remove dev_err/dbg/warn/info from driver.

Devesh Sharma (8):
  RDMA/bnxt_re: Refactor queue pair creation code
  RDMA/bnxt_re: Replace chip context structure with pointer
  RDMA/bnxt_re: Refactor hardware queue memory allocation
  RDMA/bnxt_re: Refactor net ring allocation function
  RDMA/bnxt_re: Refactor command queue management code
  RDMA/bnxt_re: Refactor notification queue management code
  RDMA/bnxt_re: Refactor doorbell management functions
  RDMA/bnxt_re: use ibdev based message printing functions

 drivers/infiniband/hw/bnxt_re/bnxt_re.h    |  24 +-
 drivers/infiniband/hw/bnxt_re/ib_verbs.c   | 900 ++++++++++++++++++-----------
 drivers/infiniband/hw/bnxt_re/main.c       | 264 +++++----
 drivers/infiniband/hw/bnxt_re/qplib_fp.c   | 416 ++++++-------
 drivers/infiniband/hw/bnxt_re/qplib_fp.h   |  94 +--
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 467 +++++++++------
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.h |  85 +--
 drivers/infiniband/hw/bnxt_re/qplib_res.c  | 470 +++++++++------
 drivers/infiniband/hw/bnxt_re/qplib_res.h  | 145 ++++-
 drivers/infiniband/hw/bnxt_re/qplib_sp.c   |  48 +-
 10 files changed, 1737 insertions(+), 1176 deletions(-)

Comments

Devesh Sharma Feb. 20, 2020, 5:29 a.m. UTC | #1
On Sat, Feb 15, 2020 at 10:41 PM Devesh Sharma
<devesh.sharma@broadcom.com> wrote:
>
> This is the first series out of few more forthcoming series to refactor
> Broadcom's RoCE driver. This series contains patches to refactor control
> path. Since this is first series, there may be few code section which may
> look redundant or overkill but those will be taken care in future patch
> series.
>
> These patches apply clean on tip of for-next branch.
> Each patch in this series is tested against user and kernel functionality.
>
> v2->v3
>   -- Rebased the series on tip of for-nxt, linux-5.6-rc1
>
> v1->v2
> patch 0001
>   -- removed unwind logic when qp destroy fails.
>   -- removed atomic dec out of mutex lock
> patch 0003
>   -- saved memset by using default initializer for hwq_attr and sginfo
> patch 0004
>   -- saved memset by using default initializer for rattr.
> patch 0008
>   -- a new patch to remove dev_err/dbg/warn/info from driver.
>
> Devesh Sharma (8):
>   RDMA/bnxt_re: Refactor queue pair creation code
>   RDMA/bnxt_re: Replace chip context structure with pointer
>   RDMA/bnxt_re: Refactor hardware queue memory allocation
>   RDMA/bnxt_re: Refactor net ring allocation function
>   RDMA/bnxt_re: Refactor command queue management code
>   RDMA/bnxt_re: Refactor notification queue management code
>   RDMA/bnxt_re: Refactor doorbell management functions
>   RDMA/bnxt_re: use ibdev based message printing functions
>
>  drivers/infiniband/hw/bnxt_re/bnxt_re.h    |  24 +-
>  drivers/infiniband/hw/bnxt_re/ib_verbs.c   | 900 ++++++++++++++++++-----------
>  drivers/infiniband/hw/bnxt_re/main.c       | 264 +++++----
>  drivers/infiniband/hw/bnxt_re/qplib_fp.c   | 416 ++++++-------
>  drivers/infiniband/hw/bnxt_re/qplib_fp.h   |  94 +--
>  drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 467 +++++++++------
>  drivers/infiniband/hw/bnxt_re/qplib_rcfw.h |  85 +--
>  drivers/infiniband/hw/bnxt_re/qplib_res.c  | 470 +++++++++------
>  drivers/infiniband/hw/bnxt_re/qplib_res.h  | 145 ++++-
>  drivers/infiniband/hw/bnxt_re/qplib_sp.c   |  48 +-
>  10 files changed, 1737 insertions(+), 1176 deletions(-)
>
> --
> 1.8.3.1
Hi Jason,

Could you pull this series, this was rebase since you had faced
merge-conflict after 5.6-rc1 merge. Let me know if yet another respin
is required.
>
Jason Gunthorpe Feb. 22, 2020, 12:30 a.m. UTC | #2
On Sat, Feb 15, 2020 at 12:10:57PM -0500, Devesh Sharma wrote:
> This is the first series out of few more forthcoming series to refactor
> Broadcom's RoCE driver. This series contains patches to refactor control
> path. Since this is first series, there may be few code section which may
> look redundant or overkill but those will be taken care in future patch
> series.
> 
> These patches apply clean on tip of for-next branch.
> Each patch in this series is tested against user and kernel functionality.
> 
> v2->v3
> 
> v1->v2
> patch 0001
> patch 0003
> patch 0004
> patch 0008

Seems like something went wrong with this change log

> Devesh Sharma (8):
>   RDMA/bnxt_re: Refactor queue pair creation code
>   RDMA/bnxt_re: Replace chip context structure with pointer
>   RDMA/bnxt_re: Refactor hardware queue memory allocation
>   RDMA/bnxt_re: Refactor net ring allocation function
>   RDMA/bnxt_re: Refactor command queue management code
>   RDMA/bnxt_re: Refactor notification queue management code
>   RDMA/bnxt_re: Refactor doorbell management functions
>   RDMA/bnxt_re: use ibdev based message printing functions

Applied to for-next

Jason
Devesh Sharma Feb. 22, 2020, 4:05 a.m. UTC | #3
On Sat, Feb 22, 2020 at 6:00 AM Jason Gunthorpe <jgg@ziepe.ca> wrote:
>
> On Sat, Feb 15, 2020 at 12:10:57PM -0500, Devesh Sharma wrote:
> > This is the first series out of few more forthcoming series to refactor
> > Broadcom's RoCE driver. This series contains patches to refactor control
> > path. Since this is first series, there may be few code section which may
> > look redundant or overkill but those will be taken care in future patch
> > series.
> >
> > These patches apply clean on tip of for-next branch.
> > Each patch in this series is tested against user and kernel functionality.
> >
> > v2->v3
> >
> > v1->v2
> > patch 0001
> > patch 0003
> > patch 0004
> > patch 0008
>
> Seems like something went wrong with this change log
Did "double-minus" (--) before each line played any role here?
>
> > Devesh Sharma (8):
> >   RDMA/bnxt_re: Refactor queue pair creation code
> >   RDMA/bnxt_re: Replace chip context structure with pointer
> >   RDMA/bnxt_re: Refactor hardware queue memory allocation
> >   RDMA/bnxt_re: Refactor net ring allocation function
> >   RDMA/bnxt_re: Refactor command queue management code
> >   RDMA/bnxt_re: Refactor notification queue management code
> >   RDMA/bnxt_re: Refactor doorbell management functions
> >   RDMA/bnxt_re: use ibdev based message printing functions
>
> Applied to for-next
Thanks!
>
> Jason