Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bnxt_re/lib: driver fixes in resize_cq path #1495

Merged
merged 3 commits into from
Sep 23, 2024

Conversation

selvintxavier
Copy link
Contributor

Couple of fixes in resize_cq path.. Also, report the vendor error status.

chandramohan-akula and others added 3 commits September 3, 2024 11:10
Library currently waits indefinitely for the resize CQ
completion notification from the hardware. Due to hardware
failure in handling the operation, there is a possible
application hang.

Add a loop count with a busy wait of definite time to avoid
the application hang.

Fixes: ae8b278 ("bnxt_re/lib: Resize CQ support")
Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
During CQ resize, it is expected that the CQ doorbell 'epoch' needs to
be maintained when switching from the old CQ to the new resized CQ.

On the first CQ doorbell excecuted on the new CQ, we need to check if
the index we are writing is less than the last index written for the
old CQ. If that is the case, we need to flip the 'epoch' so the ASIC
does not get confused and thinks the CQ doorbell is out of order and
therefore drops the doorbell. Note the logic in the ASIC that checks CQ
doorbell ordering is not aware of the CQ resize.

Fixes: 4a85843 ("bnxt_re/lib: Fix the toggle bit changes in resize cq path")
Signed-off-by: Ray Jui <ray.jui@broadcom.com>
Reviewed-by: Chandramohan Akula <chandramohan.akula@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
In case of error completion, it is observed that vendor error
code is always set to zero. Update to populate vendor error along
with IB completions. Also, modified the log to display vendor error.

Fixes: f158e23 ("libbnxt_re: Allow apps to poll for flushed completions")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
@rleon rleon merged commit 01a4380 into linux-rdma:master Sep 23, 2024
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants