Commit 8da72d16 authored by Vinayak Kariappa Chettimada's avatar Vinayak Kariappa Chettimada Committed by Anas Nashif
Browse files

Bluetooth: controller: Move initiated flag into role specific union



Move the initiated bit flag into role specific union, so that
other role specific bit flags can share bit space in the LLL
context structure.

Signed-off-by: default avatarVinayak Kariappa Chettimada <vich@nordicsemi.no>
parent 1e320a35
Loading
Loading
Loading
Loading
+16 −11
Original line number Diff line number Diff line
@@ -46,7 +46,6 @@ struct lll_conn {
	uint8_t data_chan_count:6;
	uint8_t data_chan_sel:1;
	uint8_t role:1;
	uint8_t initiated:1;

	union {
		struct {
@@ -57,8 +56,13 @@ struct lll_conn {
		uint16_t data_chan_id;
	};

	union {
		struct {
			uint8_t initiated:1;
		} master;
#if defined(CONFIG_BT_PERIPHERAL)
		struct {
			uint8_t  initiated:1;
			uint8_t  latency_enabled:1;

			uint32_t window_widening_periodic_us;
@@ -69,6 +73,7 @@ struct lll_conn {
			uint32_t window_size_event_us;
		} slave;
#endif /* CONFIG_BT_PERIPHERAL */
	};

#if defined(CONFIG_BT_CTLR_DATA_LENGTH)
	uint16_t max_tx_octets;
+2 −2
Original line number Diff line number Diff line
@@ -444,7 +444,7 @@ static int prepare_cb(struct lll_prepare_param *p)
	/* Check if stopped (on connection establishment race between LLL and
	 * ULL.
	 */
	if (unlikely(lll->conn && lll->conn->initiated)) {
	if (unlikely(lll->conn && lll->conn->slave.initiated)) {
		int err;

		err = lll_hfclock_off();
@@ -1062,7 +1062,7 @@ static inline int isr_rx_pdu(struct lll_adv *lll,
#endif /* CONFIG_BT_CTLR_CONN_RSSI */

		/* Stop further LLL radio events */
		lll->conn->initiated = 1;
		lll->conn->slave.initiated = 1;

		rx = ull_pdu_rx_alloc();

+1 −1
Original line number Diff line number Diff line
@@ -680,7 +680,7 @@ static void isr_tx_connect_rsp(void *param)

	if (is_done) {
		/* Stop further LLL radio events */
		lll->conn->initiated = 1;
		lll->conn->slave.initiated = 1;
	}

	/* Clear radio status and events */
+3 −3
Original line number Diff line number Diff line
@@ -138,7 +138,7 @@ static int prepare_cb(struct lll_prepare_param *p)
	/* Check if stopped (on connection establishment race between LLL and
	 * ULL.
	 */
	if (unlikely(lll->conn && lll->conn->initiated)) {
	if (unlikely(lll->conn && lll->conn->master.initiated)) {
		int err;

		err = lll_hfclock_off();
@@ -371,7 +371,7 @@ static void abort_cb(struct lll_prepare_param *prepare_param, void *param)
		if (0) {
#if defined(CONFIG_BT_CENTRAL)
		} else if (IS_ENABLED(CONFIG_BT_CTLR_LOW_LAT) &&
			   lll->conn && lll->conn->initiated) {
			   lll->conn && lll->conn->master.initiated) {
			while (!radio_has_disabled()) {
				cpu_sleep();
			}
@@ -930,7 +930,7 @@ static inline int isr_rx_pdu(struct lll_scan *lll, struct pdu_adv *pdu_adv_rx,
		 */

		/* Stop further LLL radio events */
		lll->conn->initiated = 1;
		lll->conn->master.initiated = 1;

		rx = ull_pdu_rx_alloc();

+2 −2
Original line number Diff line number Diff line
@@ -330,7 +330,7 @@ static int prepare_cb(struct lll_prepare_param *prepare_param)
	/* Check if stopped (on connection establishment race between LLL and
	 * ULL.
	 */
	if (lll->conn && lll->conn->initiated) {
	if (unlikely(lll->conn && lll->conn->master.initiated)) {
		int err;

		err = lll_clk_off();
@@ -926,7 +926,7 @@ static inline int isr_rx_pdu(struct lll_adv *lll,
		}
#endif /* CONFIG_BT_CTLR_CONN_RSSI */
		/* Stop further LLL radio events */
		lll->conn->initiated = 1;
		lll->conn->master.initiated = 1;

		rx = ull_pdu_rx_alloc();

Loading