Bluetooth: Controller: Fix repeated skip in ticker resolve collision
Enforce next_is_older only when current has equal force as
with the next ticker.
Added Kconfig to disable priority feature in ticker that is
currently not used by Zephyr Bluetooth Low Energy
Controller.
The priority feature if enabled then a custom ULL is needed
by vendors to avoid repeated skipping of overlapping events
as next_has_priority check uses lazy value that would be
always lazy_next > lazy_current as currently skipped event
becomes the next event with lazy value incremented by 1.
Regression in commit 3a9173afe1
("bluetooth: controller:
Revised ticker for improved conflict resolution") due to
Zephyr Controller does not implement any vendor specific
priority logic.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
parent
24f989cd90
commit
87b39c5975
2 changed files with 60 additions and 10 deletions
|
@ -808,6 +808,21 @@ config BT_TICKER_EXT_SLOT_WINDOW_YIELD
|
|||
This options forces tickers with slot window extensions to yield to
|
||||
normal tickers and be placed at the end of their slot window.
|
||||
|
||||
config BT_TICKER_PRIORITY_SET
|
||||
bool "Tickers with priority based collision resolution"
|
||||
depends on BT_TICKER_EXT
|
||||
help
|
||||
This option provide tickers with persistent priority value that will
|
||||
be used in resolving collisions.
|
||||
|
||||
The priority feature if enabled then a custom ULL is needed by vendors
|
||||
to avoid repeated skipping of overlapping events as next_has_priority
|
||||
check uses lazy value that would be always lazy_next > lazy_current as
|
||||
currently skipped event becomes the next event with lazy value
|
||||
incremented by 1. This repeated skip happens when all the time
|
||||
between the event intervals are occupied continuously by overlapping
|
||||
tickers.
|
||||
|
||||
config BT_TICKER_SLOT_AGNOSTIC
|
||||
bool "Slot agnostic ticker mode"
|
||||
help
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue