net/bnxt: fix probe in FreeBSD
In FreeBSD environment, nic_uio driver does not support interrupts and rte_intr_callback_register() will fail to register interrupts which in turn causes bnxt driver probe failure. Fixed driver to ignore interrupt callback failures in FreeBSD. Also fixed to not use a dedicated completion ring for async events from FW and process these events on RXQ0 in FreeBSD. Fixes:6de4c538b3
("net/bnxt: fix error handling in port start") Fixes:43f78b380f
("net/bnxt: retry IRQ callback deregistration") Cc: stable@dpdk.org Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Santoshkumar Karanappa Rastapur <santosh.rastapur@broadcom.com>
This commit is contained in:
parent
9356d01d5f
commit
d9fc6a0d07
@ -117,6 +117,14 @@
|
||||
#define BNXT_NUM_ASYNC_CPR(bp) 1
|
||||
#endif
|
||||
|
||||
/* In FreeBSD OS, nic_uio driver does not support interrupts */
|
||||
#ifdef RTE_EXEC_ENV_FREEBSD
|
||||
#ifdef BNXT_NUM_ASYNC_CPR
|
||||
#undef BNXT_NUM_ASYNC_CPR
|
||||
#endif
|
||||
#define BNXT_NUM_ASYNC_CPR(bp) 0
|
||||
#endif
|
||||
|
||||
#define BNXT_MISC_VEC_ID RTE_INTR_VEC_ZERO_OFFSET
|
||||
#define BNXT_RX_VEC_START RTE_INTR_VEC_RXTX_OFFSET
|
||||
|
||||
|
@ -439,8 +439,11 @@ static int bnxt_init_chip(struct bnxt *bp)
|
||||
|
||||
/* enable uio/vfio intr/eventfd mapping */
|
||||
rc = rte_intr_enable(intr_handle);
|
||||
#ifndef RTE_EXEC_ENV_FREEBSD
|
||||
/* In FreeBSD OS, nic_uio driver does not support interrupts */
|
||||
if (rc)
|
||||
goto err_free;
|
||||
#endif
|
||||
|
||||
rc = bnxt_get_hwrm_link_config(bp, &new);
|
||||
if (rc) {
|
||||
|
@ -181,5 +181,13 @@ int bnxt_request_int(struct bnxt *bp)
|
||||
irq->requested = 1;
|
||||
}
|
||||
|
||||
#ifdef RTE_EXEC_ENV_FREEBSD
|
||||
/**
|
||||
* In FreeBSD OS, nic_uio does not support interrupts and
|
||||
* interrupt register callback will fail.
|
||||
*/
|
||||
rc = 0;
|
||||
#endif
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user