Bluetooth: controller: Rename downstream API calls

Rename all LL downstream API calls from radio_ to ll_ so that they
reflect the layer they are actually targeting. Additionally they have
been moved to ll.h so as to expose a proper interface.

Change-Id: I4fb3946597920c9fafaacb6d87d34d83d75e8f27
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
This commit is contained in:
Carles Cufi 2017-03-13 15:32:37 +01:00 committed by Johan Hedberg
commit be060208e9
4 changed files with 82 additions and 79 deletions

View file

@ -99,7 +99,7 @@ static void disconnect(struct net_buf *buf, struct net_buf **evt)
uint32_t status;
handle = sys_le16_to_cpu(cmd->handle);
status = radio_terminate_ind_send(handle, cmd->reason);
status = ll_terminate_ind_send(handle, cmd->reason);
*evt = cmd_status((!status) ? 0x00 : BT_HCI_ERR_CMD_DISALLOWED);
}
@ -111,7 +111,7 @@ static void read_remote_ver_info(struct net_buf *buf, struct net_buf **evt)
uint32_t status;
handle = sys_le16_to_cpu(cmd->handle);
status = radio_version_ind_send(handle);
status = ll_version_ind_send(handle);
*evt = cmd_status((!status) ? 0x00 : BT_HCI_ERR_CMD_DISALLOWED);
}
@ -147,7 +147,7 @@ static void reset(struct net_buf *buf, struct net_buf **evt)
{
struct bt_hci_evt_cc_status *ccst;
ctrl_reset();
ll_reset();
ccst = cmd_complete(evt, sizeof(*ccst));
ccst->status = 0x00;
@ -454,7 +454,7 @@ static void le_create_conn_cancel(struct net_buf *buf, struct net_buf **evt)
struct bt_hci_evt_cc_status *ccst;
uint32_t status;
status = radio_connect_disable();
status = ll_connect_disable();
ccst = cmd_complete(evt, sizeof(*ccst));
ccst->status = (!status) ? 0x00 : BT_HCI_ERR_CMD_DISALLOWED;
@ -474,7 +474,7 @@ static void le_clear_wl(struct net_buf *buf, struct net_buf **evt)
{
struct bt_hci_evt_cc_status *ccst;
radio_filter_clear();
ll_filter_clear();
ccst = cmd_complete(evt, sizeof(*ccst));
ccst->status = 0x00;
@ -486,7 +486,7 @@ static void le_add_dev_to_wl(struct net_buf *buf, struct net_buf **evt)
struct bt_hci_evt_cc_status *ccst;
uint32_t status;
status = radio_filter_add(cmd->addr.type, &cmd->addr.a.val[0]);
status = ll_filter_add(cmd->addr.type, &cmd->addr.a.val[0]);
ccst = cmd_complete(evt, sizeof(*ccst));
ccst->status = (!status) ? 0x00 : BT_HCI_ERR_MEM_CAPACITY_EXCEEDED;
@ -498,7 +498,7 @@ static void le_rem_dev_from_wl(struct net_buf *buf, struct net_buf **evt)
struct bt_hci_evt_cc_status *ccst;
uint32_t status;
status = radio_filter_remove(cmd->addr.type, &cmd->addr.a.val[0]);
status = ll_filter_remove(cmd->addr.type, &cmd->addr.a.val[0]);
ccst = cmd_complete(evt, sizeof(*ccst));
ccst->status = (!status) ? 0x00 : BT_HCI_ERR_CMD_DISALLOWED;
@ -521,8 +521,8 @@ static void le_conn_update(struct net_buf *buf, struct net_buf **evt)
/** @todo if peer supports LE Conn Param Req,
* use Req cmd (1) instead of Initiate cmd (0).
*/
status = radio_conn_update(handle, 0, 0, conn_interval_max,
conn_latency, supervision_timeout);
status = ll_conn_update(handle, 0, 0, conn_interval_max,
conn_latency, supervision_timeout);
*evt = cmd_status((!status) ? 0x00 : BT_HCI_ERR_CMD_DISALLOWED);
}
@ -533,7 +533,7 @@ static void le_set_host_ch_classif(struct net_buf *buf, struct net_buf **evt)
struct bt_hci_evt_cc_status *ccst;
uint32_t status;
status = radio_chm_update(&cmd->ch_map[0]);
status = ll_chm_update(&cmd->ch_map[0]);
ccst = cmd_complete(evt, sizeof(*ccst));
ccst->status = (!status) ? 0x00 : BT_HCI_ERR_CMD_DISALLOWED;
@ -546,7 +546,7 @@ static void le_read_remote_features(struct net_buf *buf, struct net_buf **evt)
uint16_t handle;
handle = sys_le16_to_cpu(cmd->handle);
status = radio_feature_req_send(handle);
status = ll_feature_req_send(handle);
*evt = cmd_status((!status) ? 0x00 : BT_HCI_ERR_CMD_DISALLOWED);
}
@ -583,10 +583,10 @@ static void le_start_encryption(struct net_buf *buf, struct net_buf **evt)
uint16_t handle;
handle = sys_le16_to_cpu(cmd->handle);
status = radio_enc_req_send(handle,
(uint8_t *)&cmd->rand,
(uint8_t *)&cmd->ediv,
&cmd->ltk[0]);
status = ll_enc_req_send(handle,
(uint8_t *)&cmd->rand,
(uint8_t *)&cmd->ediv,
&cmd->ltk[0]);
*evt = cmd_status((!status) ? 0x00 : BT_HCI_ERR_CMD_DISALLOWED);
}
@ -599,7 +599,7 @@ static void le_ltk_req_reply(struct net_buf *buf, struct net_buf **evt)
uint16_t handle;
handle = sys_le16_to_cpu(cmd->handle);
status = radio_start_enc_req_send(handle, 0x00, &cmd->ltk[0]);
status = ll_start_enc_req_send(handle, 0x00, &cmd->ltk[0]);
rp = cmd_complete(evt, sizeof(*rp));
rp->status = (!status) ? 0x00 : BT_HCI_ERR_CMD_DISALLOWED;
@ -614,8 +614,8 @@ static void le_ltk_req_neg_reply(struct net_buf *buf, struct net_buf **evt)
uint16_t handle;
handle = sys_le16_to_cpu(cmd->handle);
status = radio_start_enc_req_send(handle, BT_HCI_ERR_PIN_OR_KEY_MISSING,
NULL);
status = ll_start_enc_req_send(handle, BT_HCI_ERR_PIN_OR_KEY_MISSING,
NULL);
rp = cmd_complete(evt, sizeof(*rp));
rp->status = (!status) ? 0x00 : BT_HCI_ERR_CMD_DISALLOWED;
@ -647,8 +647,8 @@ static void le_conn_param_req_reply(struct net_buf *buf, struct net_buf **evt)
latency = sys_le16_to_cpu(cmd->latency);
timeout = sys_le16_to_cpu(cmd->timeout);
status = radio_conn_update(handle, 2, 0, interval_max, latency,
timeout);
status = ll_conn_update(handle, 2, 0, interval_max, latency,
timeout);
rp = cmd_complete(evt, sizeof(*rp));
rp->status = (!status) ? 0x00 : BT_HCI_ERR_CMD_DISALLOWED;
@ -664,7 +664,7 @@ static void le_conn_param_req_neg_reply(struct net_buf *buf,
uint16_t handle;
handle = sys_le16_to_cpu(cmd->handle);
status = radio_conn_update(handle, 2, cmd->reason, 0, 0, 0);
status = ll_conn_update(handle, 2, cmd->reason, 0, 0, 0);
rp = cmd_complete(evt, sizeof(*rp));
rp->status = (!status) ? 0x00 : BT_HCI_ERR_CMD_DISALLOWED;
@ -683,7 +683,7 @@ static void le_set_data_len(struct net_buf *buf, struct net_buf **evt)
handle = sys_le16_to_cpu(cmd->handle);
tx_octets = sys_le16_to_cpu(cmd->tx_octets);
/** @todo add reject_ext_ind support in ctrl.c */
status = radio_length_req_send(handle, tx_octets);
status = ll_length_req_send(handle, tx_octets);
rp = cmd_complete(evt, sizeof(*rp));
rp->status = (!status) ? 0x00 : BT_HCI_ERR_CMD_DISALLOWED;
@ -696,7 +696,7 @@ static void le_read_default_data_len(struct net_buf *buf, struct net_buf **evt)
rp = cmd_complete(evt, sizeof(*rp));
radio_length_default_get(&rp->max_tx_octets, &rp->max_tx_time);
ll_length_default_get(&rp->max_tx_octets, &rp->max_tx_time);
rp->status = 0x00;
}
@ -707,7 +707,7 @@ static void le_write_default_data_len(struct net_buf *buf,
struct bt_hci_evt_cc_status *ccst;
uint32_t status;
status = radio_length_default_set(cmd->max_tx_octets, cmd->max_tx_time);
status = ll_length_default_set(cmd->max_tx_octets, cmd->max_tx_time);
ccst = cmd_complete(evt, sizeof(*ccst));
ccst->status = (!status) ? 0x00 : BT_HCI_ERR_INVALID_LL_PARAMS;
@ -719,8 +719,8 @@ static void le_read_max_data_len(struct net_buf *buf, struct net_buf **evt)
rp = cmd_complete(evt, sizeof(*rp));
radio_length_max_get(&rp->max_tx_octets, &rp->max_tx_time,
&rp->max_rx_octets, &rp->max_rx_time);
ll_length_max_get(&rp->max_tx_octets, &rp->max_tx_time,
&rp->max_rx_octets, &rp->max_rx_time);
rp->status = 0x00;
}
#endif /* CONFIG_BLUETOOTH_CONTROLLER_DATA_LENGTH */

View file

@ -410,7 +410,7 @@ uint32_t radio_init(void *hf_clock, uint8_t sca, uint8_t connection_count_max,
return retcode;
}
void ctrl_reset(void)
void ll_reset(void)
{
uint16_t conn_handle;
@ -6761,13 +6761,13 @@ struct radio_adv_data *radio_scan_data_get(void)
return &_radio.advertiser.scan_data;
}
void radio_filter_clear(void)
void ll_filter_clear(void)
{
_radio.filter_enable_bitmask = 0;
_radio.filter_addr_type_bitmask = 0;
}
uint32_t radio_filter_add(uint8_t addr_type, uint8_t *addr)
uint32_t ll_filter_add(uint8_t addr_type, uint8_t *addr)
{
if (_radio.filter_enable_bitmask != 0xFF) {
uint8_t index;
@ -6787,7 +6787,7 @@ uint32_t radio_filter_add(uint8_t addr_type, uint8_t *addr)
return 1;
}
uint32_t radio_filter_remove(uint8_t addr_type, uint8_t *addr)
uint32_t ll_filter_remove(uint8_t addr_type, uint8_t *addr)
{
uint8_t index;
@ -6811,12 +6811,12 @@ uint32_t radio_filter_remove(uint8_t addr_type, uint8_t *addr)
return 1;
}
void radio_irk_clear(void)
void ll_irk_clear(void)
{
_radio.nirk = 0;
}
uint32_t radio_irk_add(uint8_t *irk)
uint32_t ll_irk_add(uint8_t *irk)
{
if (_radio.nirk >= RADIO_IRK_COUNT_MAX) {
return 1;
@ -7518,7 +7518,7 @@ uint32_t radio_connect_enable(uint8_t adv_addr_type, uint8_t *adv_addr,
return 0;
}
uint32_t radio_connect_disable(void)
uint32_t ll_connect_disable(void)
{
uint32_t status;
@ -7531,9 +7531,9 @@ uint32_t radio_connect_disable(void)
return status;
}
uint32_t radio_conn_update(uint16_t handle, uint8_t cmd, uint8_t status,
uint16_t interval, uint16_t latency,
uint16_t timeout)
uint32_t ll_conn_update(uint16_t handle, uint8_t cmd, uint8_t status,
uint16_t interval, uint16_t latency,
uint16_t timeout)
{
struct connection *conn;
@ -7568,7 +7568,7 @@ uint32_t radio_conn_update(uint16_t handle, uint8_t cmd, uint8_t status,
return 0;
}
uint32_t radio_chm_update(uint8_t *chm)
uint32_t ll_chm_update(uint8_t *chm)
{
uint8_t instance;
@ -7603,7 +7603,7 @@ uint32_t radio_chm_update(uint8_t *chm)
return 0;
}
uint32_t radio_chm_get(uint16_t handle, uint8_t *chm)
uint32_t ll_chm_get(uint16_t handle, uint8_t *chm)
{
struct connection *conn;
@ -7618,8 +7618,8 @@ uint32_t radio_chm_get(uint16_t handle, uint8_t *chm)
return 0;
}
uint32_t radio_enc_req_send(uint16_t handle, uint8_t *rand, uint8_t *ediv,
uint8_t *ltk)
uint32_t ll_enc_req_send(uint16_t handle, uint8_t *rand, uint8_t *ediv,
uint8_t *ltk)
{
struct connection *conn;
struct radio_pdu_node_tx *node_tx;
@ -7693,8 +7693,8 @@ uint32_t radio_enc_req_send(uint16_t handle, uint8_t *rand, uint8_t *ediv,
return 1;
}
uint32_t radio_start_enc_req_send(uint16_t handle, uint8_t error_code,
uint8_t const *const ltk)
uint32_t ll_start_enc_req_send(uint16_t handle, uint8_t error_code,
uint8_t const *const ltk)
{
struct connection *conn;
@ -7740,7 +7740,7 @@ uint32_t radio_start_enc_req_send(uint16_t handle, uint8_t error_code,
return 0;
}
uint32_t radio_feature_req_send(uint16_t handle)
uint32_t ll_feature_req_send(uint16_t handle)
{
struct connection *conn;
@ -7755,7 +7755,7 @@ uint32_t radio_feature_req_send(uint16_t handle)
return 0;
}
uint32_t radio_version_ind_send(uint16_t handle)
uint32_t ll_version_ind_send(uint16_t handle)
{
struct connection *conn;
@ -7770,7 +7770,7 @@ uint32_t radio_version_ind_send(uint16_t handle)
return 0;
}
uint32_t radio_terminate_ind_send(uint16_t handle, uint8_t reason)
uint32_t ll_terminate_ind_send(uint16_t handle, uint8_t reason)
{
struct connection *conn;
@ -7787,7 +7787,7 @@ uint32_t radio_terminate_ind_send(uint16_t handle, uint8_t reason)
}
#if defined(CONFIG_BLUETOOTH_CONTROLLER_DATA_LENGTH)
uint32_t radio_length_req_send(uint16_t handle, uint16_t tx_octets)
uint32_t ll_length_req_send(uint16_t handle, uint16_t tx_octets)
{
struct connection *conn;
@ -7806,13 +7806,13 @@ uint32_t radio_length_req_send(uint16_t handle, uint16_t tx_octets)
return 0;
}
void radio_length_default_get(uint16_t *max_tx_octets, uint16_t *max_tx_time)
void ll_length_default_get(uint16_t *max_tx_octets, uint16_t *max_tx_time)
{
*max_tx_octets = _radio.default_tx_octets;
*max_tx_time = _radio.default_tx_time;
}
uint32_t radio_length_default_set(uint16_t max_tx_octets, uint16_t max_tx_time)
uint32_t ll_length_default_set(uint16_t max_tx_octets, uint16_t max_tx_time)
{
/* TODO: parameter check (for BT 5.0 compliance) */
@ -7822,8 +7822,8 @@ uint32_t radio_length_default_set(uint16_t max_tx_octets, uint16_t max_tx_time)
return 0;
}
void radio_length_max_get(uint16_t *max_tx_octets, uint16_t *max_tx_time,
uint16_t *max_rx_octets, uint16_t *max_rx_time)
void ll_length_max_get(uint16_t *max_tx_octets, uint16_t *max_tx_time,
uint16_t *max_rx_octets, uint16_t *max_rx_time)
{
*max_tx_octets = RADIO_LL_LENGTH_OCTETS_RX_MAX;
*max_tx_time = RADIO_LL_LENGTH_TIME_RX_MAX;

View file

@ -243,20 +243,15 @@ struct radio_pdu_node_rx {
/*****************************************************************************
* Controller Interface Functions
****************************************************************************/
/* Downstream */
uint32_t radio_init(void *hf_clock, uint8_t sca, uint8_t connection_count_max,
uint8_t rx_count_max, uint8_t tx_count_max,
uint16_t packet_data_octets_max,
uint16_t packet_tx_data_size, uint8_t *mem_radio,
uint16_t mem_size);
void ctrl_reset(void);
void radio_ticks_active_to_start_set(uint32_t ticks_active_to_start);
struct radio_adv_data *radio_adv_data_get(void);
struct radio_adv_data *radio_scan_data_get(void);
void radio_filter_clear(void);
uint32_t radio_filter_add(uint8_t addr_type, uint8_t *addr);
uint32_t radio_filter_remove(uint8_t addr_type, uint8_t *addr);
void radio_irk_clear(void);
uint32_t radio_irk_add(uint8_t *irk);
uint32_t radio_adv_enable(uint16_t interval, uint8_t chl_map,
uint8_t filter_policy);
uint32_t radio_adv_disable(void);
@ -264,31 +259,11 @@ uint32_t radio_scan_enable(uint8_t scan_type, uint8_t init_addr_type,
uint8_t *init_addr, uint16_t interval,
uint16_t window, uint8_t filter_policy);
uint32_t radio_scan_disable(void);
uint32_t radio_connect_enable(uint8_t adv_addr_type, uint8_t *adv_addr,
uint16_t interval, uint16_t latency,
uint16_t timeout);
uint32_t radio_connect_disable(void);
uint32_t radio_conn_update(uint16_t handle, uint8_t cmd, uint8_t status,
uint16_t interval, uint16_t latency,
uint16_t timeout);
uint32_t radio_chm_update(uint8_t *chm);
uint32_t radio_chm_get(uint16_t handle, uint8_t *chm);
uint32_t radio_enc_req_send(uint16_t handle, uint8_t *rand, uint8_t *ediv,
uint8_t *ltk);
uint32_t radio_start_enc_req_send(uint16_t handle, uint8_t err_code,
uint8_t const *const ltk);
uint32_t radio_feature_req_send(uint16_t handle);
uint32_t radio_version_ind_send(uint16_t handle);
uint32_t radio_terminate_ind_send(uint16_t handle, uint8_t reason);
#if defined(CONFIG_BLUETOOTH_CONTROLLER_DATA_LENGTH)
uint32_t radio_length_req_send(uint16_t handle, uint16_t tx_octets);
void radio_length_default_get(uint16_t *max_tx_octets, uint16_t *max_tx_time);
uint32_t radio_length_default_set(uint16_t max_tx_octets, uint16_t max_tx_time);
void radio_length_max_get(uint16_t *max_tx_octets, uint16_t *max_tx_time,
uint16_t *max_rx_octets, uint16_t *max_rx_time);
#endif /* CONFIG_BLUETOOTH_CONTROLLER_DATA_LENGTH */
/* Upstream */
uint8_t radio_rx_get(struct radio_pdu_node_rx **radio_pdu_node_rx,
uint16_t *handle);
void radio_rx_dequeue(void);
@ -299,7 +274,7 @@ struct radio_pdu_node_tx *radio_tx_mem_acquire(void);
void radio_tx_mem_release(struct radio_pdu_node_tx *pdu_data_node_tx);
uint32_t radio_tx_mem_enqueue(uint16_t handle,
struct radio_pdu_node_tx *pdu_data_node_tx);
/* Callbacks */
extern void radio_active_callback(uint8_t active);
extern void radio_event_callback(void);

View file

@ -8,6 +8,7 @@
#ifndef _LL_H_
#define _LL_H_
void ll_reset(void);
void ll_address_get(uint8_t addr_type, uint8_t *p_bdaddr);
void ll_address_set(uint8_t addr_type, uint8_t const *const p_bdaddr);
void ll_adv_params_set(uint16_t interval, uint8_t adv_type,
@ -20,10 +21,37 @@ uint32_t ll_adv_enable(uint8_t enable);
void ll_scan_params_set(uint8_t scan_type, uint16_t interval, uint16_t window,
uint8_t own_addr_type, uint8_t filter_policy);
uint32_t ll_scan_enable(uint8_t enable);
void ll_filter_clear(void);
uint32_t ll_filter_add(uint8_t addr_type, uint8_t *addr);
uint32_t ll_filter_remove(uint8_t addr_type, uint8_t *addr);
void ll_irk_clear(void);
uint32_t ll_irk_add(uint8_t *irk);
uint32_t ll_create_connection(uint16_t scan_interval, uint16_t scan_window,
uint8_t filter_policy, uint8_t peer_addr_type,
uint8_t *p_peer_addr, uint8_t own_addr_type,
uint16_t interval, uint16_t latency,
uint16_t timeout);
uint32_t ll_connect_disable(void);
uint32_t ll_conn_update(uint16_t handle, uint8_t cmd, uint8_t status,
uint16_t interval, uint16_t latency,
uint16_t timeout);
uint32_t ll_chm_update(uint8_t *chm);
uint32_t ll_chm_get(uint16_t handle, uint8_t *chm);
uint32_t ll_enc_req_send(uint16_t handle, uint8_t *rand, uint8_t *ediv,
uint8_t *ltk);
uint32_t ll_start_enc_req_send(uint16_t handle, uint8_t err_code,
uint8_t const *const ltk);
uint32_t ll_feature_req_send(uint16_t handle);
uint32_t ll_version_ind_send(uint16_t handle);
uint32_t ll_terminate_ind_send(uint16_t handle, uint8_t reason);
#if defined(CONFIG_BLUETOOTH_CONTROLLER_DATA_LENGTH)
uint32_t ll_length_req_send(uint16_t handle, uint16_t tx_octets);
void ll_length_default_get(uint16_t *max_tx_octets, uint16_t *max_tx_time);
uint32_t ll_length_default_set(uint16_t max_tx_octets, uint16_t max_tx_time);
void ll_length_max_get(uint16_t *max_tx_octets, uint16_t *max_tx_time,
uint16_t *max_rx_octets, uint16_t *max_rx_time);
#endif /* CONFIG_BLUETOOTH_CONTROLLER_DATA_LENGTH */
#endif /* _LL_H_ */