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

Bluetooth: Controller: Add LL_ASSERT_OVERHEAD define #59801

Merged

Conversation

cvinayak
Copy link
Contributor

Add LL_ASSERT_OVERHEAD define to reuse the assertion check
related to increase in actual EVENT_OVERHEAD_START_US value.

Introduce Kconfig option to permit radio event be skipped
when increased prepare callback latencies are measured,
instead of assertion.

Signed-off-by: Vinayak Kariappa Chettimada [email protected]

Add -ECANCELED on return from lll_preempt_calc so that
assert check can be placed in the prepare callbacks of the
state/role implementations.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
subsys/bluetooth/controller/ll_sw/nordic/lll/lll_adv.c Outdated Show resolved Hide resolved
Comment on lines +416 to +423
/* FIXME: When Flush Timeout is implemented */
if (cis_lll->tx.bn_curr <= cis_lll->tx.bn) {
lll_flush_tx(cis_lll);
}

/* Adjust nesn when flushing Rx */
/* FIXME: When Flush Timeout is implemented */
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These two FIXME does not contain enough/any information for anyone else to know how to fix.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The fix is quite complicated, and best left to have this "When Flush Timeout is implemented" and is replaced in the implemention in this commit: e92d72d

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess that's OK. Generally it would be nice if they could refer to an existing PR or GH Issue so that someone looking at the code don't end up scratching their heads too much :D

Move the EVENT_OVERHEAD_START_US verbose assertion to each
state/role LLL implementation so that correct state/role
that is delayed is conveyed in the assertion message.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Fix Connected ISO implementation to correctly handle SN,
NESN and payload_count when prepare callback is aborted due
to CPU overhead related latencies.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Add LL_ASSERT_OVERHEAD define to reuse the assertion check
related to increase in actual EVENT_OVERHEAD_START_US value.

Introduce Kconfig option to permit radio event be skipped
when increased prepare callback latencies are measured,
instead of assertion.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Comment on lines +416 to +423
/* FIXME: When Flush Timeout is implemented */
if (cis_lll->tx.bn_curr <= cis_lll->tx.bn) {
lll_flush_tx(cis_lll);
}

/* Adjust nesn when flushing Rx */
/* FIXME: When Flush Timeout is implemented */
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess that's OK. Generally it would be nice if they could refer to an existing PR or GH Issue so that someone looking at the code don't end up scratching their heads too much :D

@carlescufi carlescufi merged commit 96c076b into zephyrproject-rtos:main Jun 29, 2023
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants