Lines Matching refs:p_cb
228 nrfx_i2s_cb_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_i2s_init() local
230 if (p_cb->state != NRFX_DRV_STATE_UNINITIALIZED) in nrfx_i2s_init()
284 p_cb->handler = handler; in nrfx_i2s_init()
285 p_cb->skip_gpio_cfg = p_config->skip_gpio_cfg; in nrfx_i2s_init()
286 p_cb->skip_psel_cfg = p_config->skip_psel_cfg; in nrfx_i2s_init()
295 p_cb->state = NRFX_DRV_STATE_INITIALIZED; in nrfx_i2s_init()
303 nrfx_i2s_cb_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_i2s_uninit() local
305 NRFX_ASSERT(p_cb->state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_i2s_uninit()
312 if (!p_cb->skip_gpio_cfg) in nrfx_i2s_uninit()
318 if (!p_cb->skip_psel_cfg) in nrfx_i2s_uninit()
333 p_cb->state = NRFX_DRV_STATE_UNINITIALIZED; in nrfx_i2s_uninit()
339 nrfx_i2s_cb_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_i2s_init_check() local
341 return (p_cb->state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_i2s_init_check()
368 nrfx_i2s_cb_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_i2s_start() local
370 if (p_cb->state != NRFX_DRV_STATE_INITIALIZED) in nrfx_i2s_start()
392 p_cb->use_rx = (p_initial_buffers->p_rx_buffer != NULL); in nrfx_i2s_start()
393 p_cb->use_tx = (p_initial_buffers->p_tx_buffer != NULL); in nrfx_i2s_start()
394 p_cb->rx_ready = false; in nrfx_i2s_start()
395 p_cb->tx_ready = false; in nrfx_i2s_start()
396 p_cb->buffers_needed = false; in nrfx_i2s_start()
398 p_cb->buffer_size = buffer_size; in nrfx_i2s_start()
404 p_cb->next_buffers = *p_initial_buffers; in nrfx_i2s_start()
405 p_cb->current_buffers.p_rx_buffer = NULL; in nrfx_i2s_start()
406 p_cb->current_buffers.p_tx_buffer = NULL; in nrfx_i2s_start()
411 p_cb->state = NRFX_DRV_STATE_POWERED_ON; in nrfx_i2s_start()
418 (p_cb->use_rx ? NRF_I2S_INT_RXPTRUPD_MASK : 0UL) | in nrfx_i2s_start()
419 (p_cb->use_tx ? NRF_I2S_INT_TXPTRUPD_MASK : 0UL) | in nrfx_i2s_start()
423 nrfy_i2s_buffers_set(p_instance->p_reg, &p_cb->next_buffers); in nrfx_i2s_start()
426 .p_rx_buffer = p_cb->next_buffers.p_rx_buffer, in nrfx_i2s_start()
427 .p_tx_buffer = p_cb->next_buffers.p_tx_buffer, in nrfx_i2s_start()
428 .buffer_size = p_cb->buffer_size, in nrfx_i2s_start()
443 nrfx_i2s_cb_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_i2s_next_buffers_set() local
445 NRFX_ASSERT(p_cb->state == NRFX_DRV_STATE_POWERED_ON); in nrfx_i2s_next_buffers_set()
457 if (!p_cb->buffers_needed) in nrfx_i2s_next_buffers_set()
479 if (p_cb->use_tx) in nrfx_i2s_next_buffers_set()
483 if (p_cb->use_rx) in nrfx_i2s_next_buffers_set()
494 .buffer_size = p_cb->buffer_size, in nrfx_i2s_next_buffers_set()
500 p_cb->next_buffers = *p_buffers; in nrfx_i2s_next_buffers_set()
501 p_cb->buffers_needed = false; in nrfx_i2s_next_buffers_set()
508 nrfx_i2s_cb_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_i2s_stop() local
510 NRFX_ASSERT(p_cb->state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_i2s_stop()
512 p_cb->buffers_needed = false; in nrfx_i2s_stop()
527 static void irq_handler(NRF_I2S_Type * p_reg, nrfx_i2s_cb_t * p_cb) in irq_handler() argument
533 p_xfer = &p_cb->current_buffers; in irq_handler()
536 .p_rx_buffer = p_cb->current_buffers.p_rx_buffer, in irq_handler()
537 .p_tx_buffer = p_cb->current_buffers.p_tx_buffer, in irq_handler()
538 .buffer_size = p_cb->buffer_size, in irq_handler()
551 p_cb->tx_ready = true; in irq_handler()
552 if (p_cb->use_tx && p_cb->buffers_needed) in irq_handler()
554 p_cb->buffers_reused = true; in irq_handler()
559 p_cb->rx_ready = true; in irq_handler()
560 if (p_cb->use_rx && p_cb->buffers_needed) in irq_handler()
562 p_cb->buffers_reused = true; in irq_handler()
575 p_cb->handler(&p_cb->current_buffers, 0); in irq_handler()
580 p_cb->state = NRFX_DRV_STATE_INITIALIZED; in irq_handler()
583 p_cb->handler(&p_cb->next_buffers, NRFX_I2S_STATUS_TRANSFER_STOPPED); in irq_handler()
589 if ((p_cb->use_tx && p_cb->use_rx && in irq_handler()
590 p_cb->tx_ready && p_cb->rx_ready) || in irq_handler()
592 (!p_cb->use_rx && p_cb->tx_ready) || in irq_handler()
594 (!p_cb->use_tx && p_cb->rx_ready)) in irq_handler()
596 p_cb->tx_ready = false; in irq_handler()
597 p_cb->rx_ready = false; in irq_handler()
604 if (p_cb->buffers_reused) in irq_handler()
606 p_cb->buffers_reused = false; in irq_handler()
612 p_cb->buffers_needed = true; in irq_handler()
613 p_cb->handler(NULL, NRFX_I2S_STATUS_NEXT_BUFFERS_NEEDED); in irq_handler()
621 nrfx_i2s_buffers_t released_buffers = p_cb->current_buffers; in irq_handler()
622 p_cb->current_buffers = p_cb->next_buffers; in irq_handler()
623 p_cb->next_buffers.p_rx_buffer = NULL; in irq_handler()
624 p_cb->next_buffers.p_tx_buffer = NULL; in irq_handler()
625 p_cb->buffers_needed = true; in irq_handler()
626 p_cb->handler(&released_buffers, NRFX_I2S_STATUS_NEXT_BUFFERS_NEEDED); in irq_handler()