#
e99981af |
| 12-Aug-2024 |
David Marchand <david.marchand@redhat.com> |
drivers: replace logging helpers
Prepare for the conversion to RTE_LOG_LINE. Some drivers currently add no \n in the logging macro and have the callers do it.
Let's invert this logic but again, thi
drivers: replace logging helpers
Prepare for the conversion to RTE_LOG_LINE. Some drivers currently add no \n in the logging macro and have the callers do it.
Let's invert this logic but again, thinking about backports, introduce the change in new macros.
Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
627c5855 |
| 08-Feb-2024 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: update consumer index of NQ regularly
Update the consumer index of the default CQ/NQ at regular intervals. Since the size of the queue can vary, ring the queue at 1/8th the queue depth.
A
net/bnxt: update consumer index of NQ regularly
Update the consumer index of the default CQ/NQ at regular intervals. Since the size of the queue can vary, ring the queue at 1/8th the queue depth.
Also skip NQ doorbell update if done already.
If the NQ is rearmed already or if there was no valid entry, which is indicated by cnt being 0, skip ringing the doorbell for the NQ.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Damodharam Ammepalli <damodharam.ammepalli@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
show more ...
|
#
e6e8f03e |
| 21-Apr-2023 |
Randy Schacher <stuart.schacher@broadcom.com> |
net/bnxt: update copyright date and cleanup whitespace
Update the Copyright to 2023 Clean up extra blank lines Clean up other whitespace issues
Signed-off-by: Randy Schacher <stuart.schacher@broadc
net/bnxt: update copyright date and cleanup whitespace
Update the Copyright to 2023 Clean up extra blank lines Clean up other whitespace issues
Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com> Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
d61138d4 |
| 22-Oct-2021 |
Harman Kalra <hkalra@marvell.com> |
drivers: remove direct access to interrupt handle
Removing direct access to interrupt handle structure fields, rather use respective get set APIs for the same. Making changes to all the drivers acce
drivers: remove direct access to interrupt handle
Removing direct access to interrupt handle structure fields, rather use respective get set APIs for the same. Making changes to all the drivers access the interrupt handle fields.
Signed-off-by: Harman Kalra <hkalra@marvell.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com> Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Raslan Darawsheh <rasland@nvidia.com>
show more ...
|
#
3f44ec48 |
| 20-Jul-2021 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix null dereference in interrupt handler
Coverity reports that pointer "cpr->cp_ring_struct" may be dereferenced with null value. This patch fixes this.
Coverity issue: 372063 Fixes: 5ed
net/bnxt: fix null dereference in interrupt handler
Coverity reports that pointer "cpr->cp_ring_struct" may be dereferenced with null value. This patch fixes this.
Coverity issue: 372063 Fixes: 5ed30db87fa8 ("net/bnxt: fix missing barriers in completion handling") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
show more ...
|
#
5ed30db8 |
| 09-Jul-2021 |
Lance Richardson <lance.richardson@broadcom.com> |
net/bnxt: fix missing barriers in completion handling
Ensure that Rx/Tx/Async completion entry fields are accessed only after the completion's valid flag has been loaded and verified. This is needed
net/bnxt: fix missing barriers in completion handling
Ensure that Rx/Tx/Async completion entry fields are accessed only after the completion's valid flag has been loaded and verified. This is needed for correct operation on systems that use relaxed memory consistency models.
Fixes: 2eb53b134aae ("net/bnxt: add initial Rx code") Fixes: 6eb3cc2294fd ("net/bnxt: add initial Tx code") Cc: stable@dpdk.org
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
show more ...
|
#
dc59260f |
| 24-May-2021 |
Thierry Herbelot <thierry.herbelot@6wind.com> |
net/bnxt: check access to possible null pointer
Check that pointers are valid before using them.
Fixes: 7bc8e9a227ccb ("net/bnxt: support async link notification") Cc: stable@dpdk.org
Signed-off-b
net/bnxt: check access to possible null pointer
Check that pointers are valid before using them.
Fixes: 7bc8e9a227ccb ("net/bnxt: support async link notification") Cc: stable@dpdk.org
Signed-off-by: Thierry Herbelot <thierry.herbelot@6wind.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
87a8fa12 |
| 11-Mar-2021 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: rename a member to avoid conflict
Address build issues with Clang and without glibc on ppc64le. Vector can be a keyword and should not be used in code. Renaming it to avoid conflict.
Repo
net/bnxt: rename a member to avoid conflict
Address build issues with Clang and without glibc on ppc64le. Vector can be a keyword and should not be used in code. Renaming it to avoid conflict.
Reported-by: Piotr Kubaj <pkubaj@freebsd.org> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
2addc463 |
| 27-Jan-2021 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: update copyright year
Update copyright year in various files.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by
net/bnxt: update copyright year
Update copyright year in various files.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
show more ...
|
#
d9fc6a0d |
| 16-Jan-2020 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
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 p
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: 6de4c538b393 ("net/bnxt: fix error handling in port start") Fixes: 43f78b380f89 ("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>
show more ...
|
#
bfbfe4aa |
| 24-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: add more checks during firmware reset
Added check for fw reset or fw errors in few more routines. While processing the events, if it is fw fatal or non-fatal event, there is no need to pro
net/bnxt: add more checks during firmware reset
Added check for fw reset or fw errors in few more routines. While processing the events, if it is fw fatal or non-fatal event, there is no need to process the remaining events as driver triggers recovery mechanism.
Also added a check for fw reset or fatal error in bnxt_disable_int() to avoid bar access in case of fatal error.
Fixes: be14720def9c ("net/bnxt: support FW reset")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Rahul Gupta <rahul.gupta@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
5526c802 |
| 11-Oct-2019 |
Somnath Kotur <somnath.kotur@broadcom.com> |
net/bnxt: fix race between interrupt handler and dev config
Fix a possible that while interrupt handler is in the middle of processing, dev_configure_op() might come in and try to destroy/realloc th
net/bnxt: fix race between interrupt handler and dev config
Fix a possible that while interrupt handler is in the middle of processing, dev_configure_op() might come in and try to destroy/realloc the default completion ring on which interrupt completions arrive. Synchronize the two so they don't race each other
Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification") Cc: stable@dpdk.org
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
f7b1b6b1 |
| 10-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: remove redundant header file inclusion
bnxt.h header includes bnxt_cpr.h and bnxt_util.h. There is no need to include these headers file explicitly.
This commit does not cause any functio
net/bnxt: remove redundant header file inclusion
bnxt.h header includes bnxt_cpr.h and bnxt_util.h. There is no need to include these headers file explicitly.
This commit does not cause any functional change.
Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
c023cd5b |
| 02-Oct-2019 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: fix async link handling and update
When updating the link because of an async link notification there is no need to set wait_for_completion. At this point the link related information shou
net/bnxt: fix async link handling and update
When updating the link because of an async link notification there is no need to set wait_for_completion. At this point the link related information should be available without need to poll. Use rte_eth_linkstatus_set instead of memcpy to ensure atomicity while updating the link status. We force the physical link down as a part of device stop. But we are not waiting there enough and handling the async notification before exiting. It just sits in the default CQ till we do a device start. Fix it by calling the CQ handler in device stop.
Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification") Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
show more ...
|
#
bd0a14c9 |
| 24-Jul-2019 |
Lance Richardson <lance.richardson@broadcom.com> |
net/bnxt: use dedicated CPR for async events
This commit enables the creation of a dedicated completion ring for asynchronous event handling instead of handling these events on a receive completion
net/bnxt: use dedicated CPR for async events
This commit enables the creation of a dedicated completion ring for asynchronous event handling instead of handling these events on a receive completion ring.
For the stingray platform and other platforms needing tighter control of resource utilization, we retain the ability to process async events on a receive completion ring.
For Thor-based adapters, we use a dedicated NQ (notification queue) ring for async events (async events can't currently be received on a completion ring due to a firmware limitation).
Rename "def_cp_ring" to "async_cp_ring" to better reflect its purpose (async event notifications) and to avoid confusion with VNIC default receive completion rings.
Allow rxq 0 to be stopped when not being used for async events.
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> 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>
show more ...
|
#
43f78b38 |
| 18-Jul-2019 |
Lance Richardson <lance.richardson@broadcom.com> |
net/bnxt: retry IRQ callback deregistration
rte_intr_callback_unregister() can fail if the handler happens to be active at the time of the call. Add logic to retry a reasonable number of times to he
net/bnxt: retry IRQ callback deregistration
rte_intr_callback_unregister() can fail if the handler happens to be active at the time of the call. Add logic to retry a reasonable number of times to help ensure that the callback is unregistered on uninit.
Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification") Cc: stable@dpdk.org
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
ae2d19da |
| 17-Jul-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix enabling/disabling interrupts
1. Disable interrupts in dev_stop_op() 2. Enable interrupts in dev_start_op() 3. Clean queue intr-vector mapping in dev_stop_op() and thus fix a possib
net/bnxt: fix enabling/disabling interrupts
1. Disable interrupts in dev_stop_op() 2. Enable interrupts in dev_start_op() 3. Clean queue intr-vector mapping in dev_stop_op() and thus fix a possible memory leak.
Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update operations") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
2c43b439 |
| 17-Jul-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix crash on probe failure
Fixed couple of possible segfaults due to NULL pointer dereference in case of probe failure.
Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update operatio
net/bnxt: fix crash on probe failure
Fixed couple of possible segfaults due to NULL pointer dereference in case of probe failure.
Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update operations") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
2807c586 |
| 08-Jun-2019 |
Somnath Kotur <somnath.kotur@broadcom.com> |
net/bnxt: check for null completion ring doorbell
It is observed that sometimes during init, the bnxt_int_handler() gets invoked while the cpr->cp_db.doorbell is not yet initialized. Check for the s
net/bnxt: check for null completion ring doorbell
It is observed that sometimes during init, the bnxt_int_handler() gets invoked while the cpr->cp_db.doorbell is not yet initialized. Check for the same and return.
Fixes: f7ecea911ec5 ("net/bnxt: fix interrupt handler") Cc: stable@dpdk.org
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
bb0546ed |
| 02-Jun-2019 |
Lance Richardson <lance.richardson@broadcom.com> |
net/bnxt: refactor doorbell handling
Reduce code duplication and prepare for newer controllers that use different doorbell protocols by refactoring doorbell handling code.
Signed-off-by: Lance Rich
net/bnxt: refactor doorbell handling
Reduce code duplication and prepare for newer controllers that use different doorbell protocols by refactoring doorbell handling code.
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
78466c95 |
| 29-May-2019 |
Stephen Hemminger <stephen@networkplumber.org> |
net/bnxt: remove unnecessary cast
The device private pointer (dev_private) is of type void * therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@netw
net/bnxt: remove unnecessary cast
The device private pointer (dev_private) is of type void * therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Lance Richardson <lance.richardson@broadcom.com>
show more ...
|
#
2b947bd2 |
| 22-May-2018 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: use first completion ring for fwd and async event
In order to save completion resource, use the first completion ring from PF or VF as the default completion ring for async event & HWRM fo
net/bnxt: use first completion ring for fwd and async event
In order to save completion resource, use the first completion ring from PF or VF as the default completion ring for async event & HWRM forward response handling. Add bnxt_hwrm_set_async_event_cr() to set async_event_cr for either PF or VF.
Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification")
Signed-off-by: Qingmin Liu <qingmin.liu@broadcom.com> Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
fd710bb1 |
| 02-Apr-2018 |
Scott Branden <scott.branden@broadcom.com> |
net/bnxt: convert to SPDX license tag
Update the license header on bnxt files to be the standard BSD-3-Clause license used for the rest of DPDK, bring the files in compliance with the DPDK licensing
net/bnxt: convert to SPDX license tag
Update the license header on bnxt files to be the standard BSD-3-Clause license used for the rest of DPDK, bring the files in compliance with the DPDK licensing policy.
Signed-off-by: Scott Branden <scott.branden@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
3e92fd4e |
| 26-Jan-2018 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: use dynamic log type
This patch implements driver specific log type doing away with usage of RTE_LOG() for logging.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
|
#
8ec40353 |
| 24-Oct-2017 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: fix a potential null pointer dereference
Coverity issue: 195046 Fixes: f7ecea911ec5 ("net/bnxt: fix interrupt handler") Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@bro
net/bnxt: fix a potential null pointer dereference
Coverity issue: 195046 Fixes: f7ecea911ec5 ("net/bnxt: fix interrupt handler") Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|