Commit be0aa2ac authored by Vinayak Kariappa Chettimada's avatar Vinayak Kariappa Chettimada Committed by Carles Cufi
Browse files

Bluetooth: controller: Remove redundant clear of NRF_RADIO events



Remove redundant code that clears NRF_RADIO->EVENT_*
registers that are only used in PPI context. Only EVENT_*
registers that are read back need to be cleared.

Relates to: #5753

Signed-off-by: default avatarVinayak Kariappa Chettimada <vich@nordicsemi.no>
parent 9d1ca9c3
Loading
Loading
Loading
Loading
+5 −13
Original line number Diff line number Diff line
@@ -255,9 +255,12 @@ void radio_disable(void)

void radio_status_reset(void)
{
	/* NOTE: Only EVENTS_* registers read (checked) by software needs reset
	 *       between Radio IRQs. In PPI use, irrespective of stored EVENT_*
	 *       register value, PPI task will be triggered. Hence, other
	 *       EVENT_* registers are not reset to save code and CPU time.
	 */
	NRF_RADIO->EVENTS_READY = 0;
	NRF_RADIO->EVENTS_ADDRESS = 0;
	NRF_RADIO->EVENTS_PAYLOAD = 0;
	NRF_RADIO->EVENTS_END = 0;
	NRF_RADIO->EVENTS_DISABLED = 0;
}
@@ -323,8 +326,6 @@ static void sw_switch(u8_t dir, u8_t phy_curr, u8_t flags_curr, u8_t phy_next,
	u8_t cc = SW_SWITCH_TIMER_EVTS_COMP(sw_tifs_toggle);
	u32_t delay;

	SW_SWITCH_TIMER->EVENTS_COMPARE[cc] = 0;

	HAL_SW_SWITCH_GROUP_TASK_ENABLE_PPI_REGISTER_EVT =
	    HAL_SW_SWITCH_GROUP_TASK_ENABLE_PPI_EVT;
	HAL_SW_SWITCH_GROUP_TASK_ENABLE_PPI_REGISTER_TASK =
@@ -563,7 +564,6 @@ void radio_filter_disable(void)
void radio_filter_status_reset(void)
{
	NRF_RADIO->EVENTS_DEVMATCH = 0;
	NRF_RADIO->EVENTS_DEVMISS = 0;
}

u32_t radio_filter_has_match(void)
@@ -635,11 +635,9 @@ u32_t radio_tmr_start(u8_t trx, u32_t ticks_start, u32_t remainder)
	EVENT_TIMER->BITMODE = 2;	/* 24 - bit */

	EVENT_TIMER->CC[0] = remainder;
	EVENT_TIMER->EVENTS_COMPARE[0] = 0;

	NRF_RTC0->CC[2] = ticks_start;
	NRF_RTC0->EVTENSET = RTC_EVTENSET_COMPARE2_Msk;
	NRF_RTC0->EVENTS_COMPARE[2] = 0;

	HAL_EVENT_TIMER_START_PPI_REGISTER_EVT = HAL_EVENT_TIMER_START_EVT;
	HAL_EVENT_TIMER_START_PPI_REGISTER_TASK = HAL_EVENT_TIMER_START_TASK;
@@ -690,7 +688,6 @@ u32_t radio_tmr_start(u8_t trx, u32_t ticks_start, u32_t remainder)
void radio_tmr_start_us(u8_t trx, u32_t us)
{
	EVENT_TIMER->CC[0] = us;
	EVENT_TIMER->EVENTS_COMPARE[0] = 0;

	hal_radio_enable_on_tick_ppi_config_and_enable(trx);
}
@@ -713,7 +710,6 @@ u32_t radio_tmr_start_now(u8_t trx)

		/* Setup compare event with min. 1 us offset */
		EVENT_TIMER->CC[0] = start + 1;
		EVENT_TIMER->EVENTS_COMPARE[0] = 0;

		/* Capture the current time */
		EVENT_TIMER->TASKS_CAPTURE[1] = 1;
@@ -737,7 +733,6 @@ void radio_tmr_stop(void)
void radio_tmr_hcto_configure(u32_t hcto)
{
	EVENT_TIMER->CC[1] = hcto;
	EVENT_TIMER->EVENTS_COMPARE[1] = 0;

	HAL_RADIO_RECV_TIMEOUT_CANCEL_PPI_REGISTER_EVT =
		HAL_RADIO_RECV_TIMEOUT_CANCEL_PPI_EVT;
@@ -877,7 +872,6 @@ void radio_gpio_lna_off(void)
void radio_gpio_pa_lna_enable(u32_t trx_us)
{
	EVENT_TIMER->CC[2] = trx_us;
	EVENT_TIMER->EVENTS_COMPARE[2] = 0;

	HAL_ENABLE_PALNA_PPI_REGISTER_EVT = HAL_ENABLE_PALNA_PPI_EVT;
	HAL_ENABLE_PALNA_PPI_REGISTER_TASK = HAL_ENABLE_PALNA_PPI_TASK;
@@ -953,7 +947,6 @@ void *radio_ccm_rx_pkt_set(struct ccm *ccm, u8_t phy, void *pkt)
	NRF_CCM->OUTPTR = (u32_t)pkt;
	NRF_CCM->SCRATCHPTR = (u32_t)_ccm_scratch;
	NRF_CCM->SHORTS = 0;
	NRF_CCM->EVENTS_ENDKSGEN = 0;
	NRF_CCM->EVENTS_ENDCRYPT = 0;
	NRF_CCM->EVENTS_ERROR = 0;

@@ -991,7 +984,6 @@ void *radio_ccm_tx_pkt_set(struct ccm *ccm, void *pkt)
	NRF_CCM->OUTPTR = (u32_t)_pkt_scratch;
	NRF_CCM->SCRATCHPTR = (u32_t)_ccm_scratch;
	NRF_CCM->SHORTS = CCM_SHORTS_ENDKSGEN_CRYPT_Msk;
	NRF_CCM->EVENTS_ENDKSGEN = 0;
	NRF_CCM->EVENTS_ENDCRYPT = 0;
	NRF_CCM->EVENTS_ERROR = 0;