Message ID | 20250106095349.2880446-1-kalesh-anakkur.purayil@broadcom.com (mailing list archive) |
---|---|
Headers | show |
Series | RDMA/bnxt_re: Support for FW async event handling | expand |
Hi Leon, I missed to copy netdev maintainers and ML. One of the patches in the series is for Broadcom bnxt driver. I will resend the series. On Mon, Jan 6, 2025 at 3:31 PM Kalesh AP <kalesh-anakkur.purayil@broadcom.com> wrote: > > This patch series adds support for FW async event handling > in the bnxt_re driver. > > V1->V2: > 1. Rebased on top of the latest "for-next" tree. > 2. Split Patch#1 into 2 - one for Ethernet driver changes and > another one for RDMA driver changes. > 3. Addressed Leon's comments on Patch#1 and Patch #3. > V1: https://lore.kernel.org/linux-rdma/1725363051-19268-1-git-send-email-selvin.xavier@broadcom.com/T/#t > > Patch #1: > 1. Removed BNXT_EN_FLAG_ULP_STOPPED state check from bnxt_ulp_async_events(). > The ulp_ops are protected by RCU. This means that during bnxt_unregister_dev(), > Ethernet driver set the ulp_ops pointer to NULL and do RCU sync before return > to the RDMA driver. > So ulp_ops and the pointers in ulp_ops are always valid or NULL when the > Ethernet driver references ulp_ops. ULP_STOPPED is a state and should be > unrelated to async events. It should not affect whether async events should > or should not be passed to the RDMA driver. > 2. Changed Author of Ethernet driver changes to Michael Chan. > 3. Removed unnecessary export of function bnxt_ulp_async_events. > > Patch #3: > 1. Removed unnecessary flush_workqueue() before destroy_workqueue() > 2. Removed unnecessary NULL assignment after free. > 3. Changed to use "ibdev_xxx" and reduce level of couple of logs to debug. > > Please review and apply. > > Regards, > Kalesh > > Kalesh AP (3): > RDMA/bnxt_re: Add Async event handling support > RDMA/bnxt_re: Query firmware defaults of CC params during probe > RDMA/bnxt_re: Add support to handle DCB_CONFIG_CHANGE event > > Michael Chan (1): > bnxt_en: Add ULP call to notify async events > > drivers/infiniband/hw/bnxt_re/bnxt_re.h | 3 + > drivers/infiniband/hw/bnxt_re/main.c | 156 ++++++++++++++++++ > drivers/infiniband/hw/bnxt_re/qplib_fp.h | 2 + > drivers/infiniband/hw/bnxt_re/qplib_sp.c | 113 +++++++++++++ > drivers/infiniband/hw/bnxt_re/qplib_sp.h | 3 + > drivers/net/ethernet/broadcom/bnxt/bnxt.c | 1 + > drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 28 ++++ > drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h | 1 + > 8 files changed, 307 insertions(+) > > -- > 2.43.5 >
On Mon, Jan 06, 2025 at 03:43:47PM +0530, Kalesh Anakkur Purayil wrote: > Hi Leon, > > I missed to copy netdev maintainers and ML. One of the patches in the > series is for Broadcom bnxt driver. > > I will resend the series. Great, thanks > > On Mon, Jan 6, 2025 at 3:31 PM Kalesh AP > <kalesh-anakkur.purayil@broadcom.com> wrote: > > > > This patch series adds support for FW async event handling > > in the bnxt_re driver. > > > > V1->V2: > > 1. Rebased on top of the latest "for-next" tree. > > 2. Split Patch#1 into 2 - one for Ethernet driver changes and > > another one for RDMA driver changes. > > 3. Addressed Leon's comments on Patch#1 and Patch #3. > > V1: https://lore.kernel.org/linux-rdma/1725363051-19268-1-git-send-email-selvin.xavier@broadcom.com/T/#t > > > > Patch #1: > > 1. Removed BNXT_EN_FLAG_ULP_STOPPED state check from bnxt_ulp_async_events(). > > The ulp_ops are protected by RCU. This means that during bnxt_unregister_dev(), > > Ethernet driver set the ulp_ops pointer to NULL and do RCU sync before return > > to the RDMA driver. > > So ulp_ops and the pointers in ulp_ops are always valid or NULL when the > > Ethernet driver references ulp_ops. ULP_STOPPED is a state and should be > > unrelated to async events. It should not affect whether async events should > > or should not be passed to the RDMA driver. > > 2. Changed Author of Ethernet driver changes to Michael Chan. > > 3. Removed unnecessary export of function bnxt_ulp_async_events. > > > > Patch #3: > > 1. Removed unnecessary flush_workqueue() before destroy_workqueue() > > 2. Removed unnecessary NULL assignment after free. > > 3. Changed to use "ibdev_xxx" and reduce level of couple of logs to debug. > > > > Please review and apply. > > > > Regards, > > Kalesh > > > > Kalesh AP (3): > > RDMA/bnxt_re: Add Async event handling support > > RDMA/bnxt_re: Query firmware defaults of CC params during probe > > RDMA/bnxt_re: Add support to handle DCB_CONFIG_CHANGE event > > > > Michael Chan (1): > > bnxt_en: Add ULP call to notify async events > > > > drivers/infiniband/hw/bnxt_re/bnxt_re.h | 3 + > > drivers/infiniband/hw/bnxt_re/main.c | 156 ++++++++++++++++++ > > drivers/infiniband/hw/bnxt_re/qplib_fp.h | 2 + > > drivers/infiniband/hw/bnxt_re/qplib_sp.c | 113 +++++++++++++ > > drivers/infiniband/hw/bnxt_re/qplib_sp.h | 3 + > > drivers/net/ethernet/broadcom/bnxt/bnxt.c | 1 + > > drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 28 ++++ > > drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h | 1 + > > 8 files changed, 307 insertions(+) > > > > -- > > 2.43.5 > > > > > -- > Regards, > Kalesh AP