Lines Matching refs:ch_n
188 unsigned int ch_n, in nhw_dppi_check_ch_valid() argument
199 if (ch_n >= this->n_ch) { in nhw_dppi_check_ch_valid()
202 __func__, type, ch_n, this->n_ch, dppi_inst); in nhw_dppi_check_ch_valid()
241 unsigned int ch_n, in nhw_dppi_channel_subscribe() argument
245 nhw_dppi_check_ch_valid(dppi_inst, ch_n, "subscribe to"); in nhw_dppi_channel_subscribe()
248 struct dppi_registry_el *ch_reg = this->registry[ch_n]; in nhw_dppi_channel_subscribe()
250 for (uint i = 0; i < this->reg_used[ch_n]; i++) { in nhw_dppi_channel_subscribe()
255 __func__, dppi_inst, ch_n); in nhw_dppi_channel_subscribe()
259 if (this->reg_used[ch_n] >= this->reg_size[ch_n]) { in nhw_dppi_channel_subscribe()
260 this->reg_size[ch_n] += DPPI_ALLOC_CHUNK_SIZE; in nhw_dppi_channel_subscribe()
261 this->registry[ch_n] = bs_realloc(this->registry[ch_n], in nhw_dppi_channel_subscribe()
262 this->reg_size[ch_n] * sizeof(struct dppi_registry_el)); in nhw_dppi_channel_subscribe()
264 int n = this->reg_used[ch_n]; in nhw_dppi_channel_subscribe()
265 this->registry[ch_n][n].callback = callback; in nhw_dppi_channel_subscribe()
266 this->registry[ch_n][n].param = param; in nhw_dppi_channel_subscribe()
267 this->reg_used[ch_n]++; in nhw_dppi_channel_subscribe()
293 unsigned int ch_n, in nhw_dppi_channel_unsubscribe() argument
297 nhw_dppi_check_ch_valid(dppi_inst, ch_n, "unsubscribe from"); in nhw_dppi_channel_unsubscribe()
300 struct dppi_registry_el *ch_reg = this->registry[ch_n]; in nhw_dppi_channel_unsubscribe()
302 for (uint i = 0; i < this->reg_used[ch_n]; i++) { in nhw_dppi_channel_unsubscribe()
305 nhw_dppi_shift_registration(ch_reg, i, this->reg_used[ch_n]); in nhw_dppi_channel_unsubscribe()
306 this->reg_used[ch_n]--; in nhw_dppi_channel_unsubscribe()
312 __func__, dppi_inst, ch_n); in nhw_dppi_channel_unsubscribe()
323 void nhw_dppi_event_signal(uint dppi_inst, uint ch_n) in nhw_dppi_event_signal() argument
325 nhw_dppi_check_ch_valid(dppi_inst, ch_n, "send event to"); in nhw_dppi_event_signal()
328 if ((this->NRF_DPPIC_regs->CHEN & ((uint32_t)0x1 << ch_n)) == 0) { in nhw_dppi_event_signal()
332 struct dppi_registry_el *ch_reg = this->registry[ch_n]; in nhw_dppi_event_signal()
334 for (uint i = 0; i < this->reg_used[ch_n]; i++) { in nhw_dppi_event_signal()
344 __func__, dppi_inst, ch_n, i); in nhw_dppi_event_signal()