Bluetooth: Controller: Use ceiling_fraction function

Use ceiling_fraction function instead of repeated explicit
code to ceil calculations.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
Vinayak Kariappa Chettimada 2021-11-17 10:55:13 +05:30 committed by Carles Cufí
commit 61eb655ab6
10 changed files with 24 additions and 26 deletions

View file

@ -83,9 +83,9 @@ static inline bool isr_rx_ci_adva_check(uint8_t tx_addr, uint8_t *addr,
struct pdu_adv *ci); struct pdu_adv *ci);
#if defined(CONFIG_BT_CTLR_ADV_EXT) #if defined(CONFIG_BT_CTLR_ADV_EXT)
#define PAYLOAD_BASED_FRAG_COUNT ((CONFIG_BT_CTLR_ADV_DATA_LEN_MAX + \ #define PAYLOAD_BASED_FRAG_COUNT \
PDU_AC_PAYLOAD_SIZE_MAX - 1) / \ ceiling_fraction(CONFIG_BT_CTLR_ADV_DATA_LEN_MAX, \
PDU_AC_PAYLOAD_SIZE_MAX) PDU_AC_PAYLOAD_SIZE_MAX)
#define PAYLOAD_FRAG_COUNT MAX(PAYLOAD_BASED_FRAG_COUNT, BT_CTLR_DF_PER_ADV_CTE_NUM_MAX) #define PAYLOAD_FRAG_COUNT MAX(PAYLOAD_BASED_FRAG_COUNT, BT_CTLR_DF_PER_ADV_CTE_NUM_MAX)
#define BT_CTLR_ADV_AUX_SET CONFIG_BT_CTLR_ADV_AUX_SET #define BT_CTLR_ADV_AUX_SET CONFIG_BT_CTLR_ADV_AUX_SET
#if defined(CONFIG_BT_CTLR_ADV_PERIODIC) #if defined(CONFIG_BT_CTLR_ADV_PERIODIC)

View file

@ -106,8 +106,7 @@ static void isr_tx(void *param)
/* LE Test Packet Interval */ /* LE Test Packet Interval */
l = radio_tmr_end_get() - radio_tmr_ready_get(); l = radio_tmr_end_get() - radio_tmr_ready_get();
i = ((l + 249 + (SCAN_INT_UNIT_US - 1)) / SCAN_INT_UNIT_US) * i = ceiling_fraction((l + 249), SCAN_INT_UNIT_US) * SCAN_INT_UNIT_US;
SCAN_INT_UNIT_US;
t = radio_tmr_end_get() - l + i; t = radio_tmr_end_get() - l + i;
t -= radio_tx_ready_delay_get(test_phy, test_phy_flags); t -= radio_tx_ready_delay_get(test_phy, test_phy_flags);

View file

@ -79,9 +79,9 @@ static inline bool isr_rx_ci_adva_check(struct pdu_adv *adv,
struct pdu_adv *ci); struct pdu_adv *ci);
#if defined(CONFIG_BT_CTLR_ADV_EXT) #if defined(CONFIG_BT_CTLR_ADV_EXT)
#define PAYLOAD_FRAG_COUNT ((CONFIG_BT_CTLR_ADV_DATA_LEN_MAX + \ #define PAYLOAD_BASED_FRAG_COUNT \
PDU_AC_PAYLOAD_SIZE_MAX - 1) / \ ceiling_fraction(CONFIG_BT_CTLR_ADV_DATA_LEN_MAX, \
PDU_AC_PAYLOAD_SIZE_MAX) PDU_AC_PAYLOAD_SIZE_MAX)
#define BT_CTLR_ADV_AUX_SET CONFIG_BT_CTLR_ADV_AUX_SET #define BT_CTLR_ADV_AUX_SET CONFIG_BT_CTLR_ADV_AUX_SET
#if defined(CONFIG_BT_CTLR_ADV_PERIODIC) #if defined(CONFIG_BT_CTLR_ADV_PERIODIC)
#define BT_CTLR_ADV_SYNC_SET CONFIG_BT_CTLR_ADV_SYNC_SET #define BT_CTLR_ADV_SYNC_SET CONFIG_BT_CTLR_ADV_SYNC_SET

View file

@ -102,8 +102,7 @@ static void isr_tx(void *param)
/* LE Test Packet Interval */ /* LE Test Packet Interval */
l = radio_tmr_end_get() - radio_tmr_ready_get(); l = radio_tmr_end_get() - radio_tmr_ready_get();
i = ((l + 249 + (SCAN_INT_UNIT_US - 1)) / SCAN_INT_UNIT_US) * i = ceiling_fraction((l + 249), SCAN_INT_UNIT_US) * SCAN_INT_UNIT_US;
SCAN_INT_UNIT_US;
t = radio_tmr_end_get() - l + i; t = radio_tmr_end_get() - l + i;
t -= radio_tx_ready_delay_get(test_phy, test_phy_flags); t -= radio_tx_ready_delay_get(test_phy, test_phy_flags);

View file

@ -1221,9 +1221,8 @@ uint8_t ll_adv_enable(uint8_t enable)
interval_min_us = time_us + interval_min_us = time_us +
(scan_delay + scan_window) * USEC_PER_MSEC; (scan_delay + scan_window) * USEC_PER_MSEC;
if ((interval * SCAN_INT_UNIT_US) < interval_min_us) { if ((interval * SCAN_INT_UNIT_US) < interval_min_us) {
interval = (interval_min_us + interval = ceiling_fraction(interval_min_us,
(SCAN_INT_UNIT_US - 1)) / SCAN_INT_UNIT_US);
SCAN_INT_UNIT_US;
} }
/* passive scanning */ /* passive scanning */

View file

@ -183,11 +183,10 @@ uint8_t ll_big_create(uint8_t big_handle, uint8_t adv_handle, uint8_t num_bis,
lll_adv_iso->num_bis = num_bis; lll_adv_iso->num_bis = num_bis;
/* BN (Burst Count), Mandatory BN = 1 */ /* BN (Burst Count), Mandatory BN = 1 */
bn = (max_sdu + (lll_adv_iso->max_pdu - 1U)) / lll_adv_iso->max_pdu; bn = ceiling_fraction(max_sdu, lll_adv_iso->max_pdu);
if (bn > PDU_BIG_BN_MAX) { if (bn > PDU_BIG_BN_MAX) {
lll_adv_iso->bn = PDU_BIG_BN_MAX; lll_adv_iso->bn = PDU_BIG_BN_MAX;
bn = ((bn + (PDU_BIG_BN_MAX - 1)) / PDU_BIG_BN_MAX) * bn = ceiling_fraction(bn, PDU_BIG_BN_MAX) * PDU_BIG_BN_MAX;
PDU_BIG_BN_MAX;
} else { } else {
lll_adv_iso->bn = bn; lll_adv_iso->bn = bn;
} }

View file

@ -3126,9 +3126,9 @@ static inline int event_conn_upd_prep(struct ll_conn *conn, uint16_t lazy,
instant_latency; instant_latency;
lll->periph.window_widening_periodic_us = lll->periph.window_widening_periodic_us =
(((lll_clock_ppm_local_get() + ceiling_fraction(((lll_clock_ppm_local_get() +
lll_clock_ppm_get(conn->periph.sca)) * lll_clock_ppm_get(conn->periph.sca)) *
conn_interval_us) + (1000000 - 1)) / 1000000U; conn_interval_us), USEC_PER_SEC);
lll->periph.window_widening_max_us = lll->periph.window_widening_max_us =
(conn_interval_us >> 1) - EVENT_IFS_US; (conn_interval_us >> 1) - EVENT_IFS_US;
lll->periph.window_size_prepare_us = lll->periph.window_size_prepare_us =

View file

@ -190,9 +190,9 @@ void ull_periph_setup(struct node_rx_hdr *rx, struct node_rx_ftr *ftr,
/* calculate the window widening */ /* calculate the window widening */
conn->periph.sca = pdu_adv->connect_ind.sca; conn->periph.sca = pdu_adv->connect_ind.sca;
lll->periph.window_widening_periodic_us = lll->periph.window_widening_periodic_us =
(((lll_clock_ppm_local_get() + ceiling_fraction(((lll_clock_ppm_local_get() +
lll_clock_ppm_get(conn->periph.sca)) * lll_clock_ppm_get(conn->periph.sca)) *
conn_interval_us) + (1000000 - 1)) / 1000000U; conn_interval_us), USEC_PER_SEC);
lll->periph.window_widening_max_us = (conn_interval_us >> 1) - lll->periph.window_widening_max_us = (conn_interval_us >> 1) -
EVENT_IFS_US; EVENT_IFS_US;
lll->periph.window_size_event_us = pdu_adv->connect_ind.win_size * lll->periph.window_size_event_us = pdu_adv->connect_ind.win_size *

View file

@ -579,8 +579,9 @@ void ull_sync_setup(struct ll_scan_set *scan, struct ll_scan_aux_set *aux,
#endif /* CONFIG_BT_CTLR_SYNC_ISO */ #endif /* CONFIG_BT_CTLR_SYNC_ISO */
lll->window_widening_periodic_us = lll->window_widening_periodic_us =
(((lll_clock_ppm_local_get() + lll_clock_ppm_get(sca)) * ceiling_fraction(((lll_clock_ppm_local_get() +
interval_us) + (1000000 - 1)) / 1000000U; lll_clock_ppm_get(sca)) *
interval_us), USEC_PER_SEC);
lll->window_widening_max_us = (interval_us >> 1) - EVENT_IFS_US; lll->window_widening_max_us = (interval_us >> 1) - EVENT_IFS_US;
if (si->offs_units) { if (si->offs_units) {
lll->window_size_event_us = OFFS_UNIT_300_US; lll->window_size_event_us = OFFS_UNIT_300_US;

View file

@ -335,8 +335,9 @@ void ull_sync_iso_setup(struct ll_sync_iso_set *sync_iso,
sca = sync_iso->sync->lll.sca; sca = sync_iso->sync->lll.sca;
lll->window_widening_periodic_us = lll->window_widening_periodic_us =
(((lll_clock_ppm_local_get() + lll_clock_ppm_get(sca)) * ceiling_fraction(((lll_clock_ppm_local_get() +
interval_us) + (1000000 - 1)) / 1000000U; lll_clock_ppm_get(sca)) *
interval_us), USEC_PER_SEC);
lll->window_widening_max_us = (interval_us >> 1) - EVENT_IFS_US; lll->window_widening_max_us = (interval_us >> 1) - EVENT_IFS_US;
if (bi->offs_units) { if (bi->offs_units) {
lll->window_size_event_us = 300U; lll->window_size_event_us = 300U;