Lines Matching refs:tx_data
137 static struct test_tx_data tx_data; variable
187 if (!tx_data.cont) { in try_tx()
192 if ((tx_data.mode == TX_PACKETS) && (tx_data.packet_len > 0)) { in try_tx()
193 uint8_t len = tx_data.packet_len; in try_tx()
195 tx_data.packet_len = 0; in try_tx()
196 err = uart_tx(dev, tx_data.buf, len, TX_TIMEOUT); in try_tx()
199 err, irq, tx_data.cont); in try_tx()
202 zassert_true(tx_data.mode == TX_BULK); in try_tx()
204 if (!atomic_cas(&tx_data.busy, 0, 1)) { in try_tx()
208 len = ring_buf_get_claim(&tx_data.rbuf, &buf, 255); in try_tx()
213 err, irq, tx_data.cont); in try_tx()
219 if (tx_data.mode == TX_PACKETS) { in on_tx_done()
220 k_sem_give(&tx_data.sem); in on_tx_done()
225 ring_buf_get_finish(&tx_data.rbuf, evt->data.tx.len); in on_tx_done()
226 atomic_set(&tx_data.busy, 0); in on_tx_done()
267 tx_data.cont = false; in on_rx_rdy()
303 tx_data.cont = false; in test_end()
322 zassert_false(tx_data.cont, in uart_callback()
393 memset(&tx_data, 0, sizeof(tx_data)); in var_packet_hwfc()
395 tx_data.cont = true; in var_packet_hwfc()
396 tx_data.mode = tx_packets ? TX_PACKETS : TX_BULK; in var_packet_hwfc()
397 k_sem_init(&tx_data.sem, tx_packets ? 1 : 0, 1); in var_packet_hwfc()
404 ring_buf_init(&tx_data.rbuf, sizeof(tx_data.buf), tx_data.buf); in var_packet_hwfc()
411 err = uart_callback_set(tx_dev, uart_callback, &tx_data); in var_packet_hwfc()
420 while (tx_data.cont || rx_data.cont) { in var_packet_hwfc()
421 fill_tx(&tx_data); in var_packet_hwfc()
506 k_sem_give(&tx_data.sem); in hci_like_callback()
513 zassert_false(tx_data.cont, in hci_like_callback()
547 if ((err < 0) || !tx_data.cont) { in rx()
548 zassert_false(tx_data.cont); in rx()
596 static void hci_like_tx_prepare(struct test_tx_data *tx_data) in hci_like_tx_prepare() argument
598 int idx = tx_data->cnt & 0x1 ? sizeof(tx_data->buf) / 2 : 0; in hci_like_tx_prepare()
599 uint8_t *buf = &tx_data->buf[idx]; in hci_like_tx_prepare()
604 *buf++ = 0x80 | (tx_data->cnt & 0x7F); in hci_like_tx_prepare()
614 tx_data->cnt++; in hci_like_tx_prepare()
617 static void hci_like_tx(struct test_tx_data *tx_data) in hci_like_tx() argument
619 int idx = tx_data->cnt & 0x1 ? 0 : sizeof(tx_data->buf) / 2; in hci_like_tx()
620 uint8_t *buf = &tx_data->buf[idx]; in hci_like_tx()
636 while (tx_data.cont) { in hci_like_tx_thread_entry()
637 hci_like_tx_prepare(&tx_data); in hci_like_tx_thread_entry()
639 err = k_sem_take(&tx_data.sem, K_MSEC(500)); in hci_like_tx_thread_entry()
645 hci_like_tx(&tx_data); in hci_like_tx_thread_entry()
737 memset(&tx_data, 0, sizeof(tx_data)); in hci_like_test()
739 tx_data.cnt = 0; in hci_like_test()
740 tx_data.cont = true; in hci_like_test()
743 k_sem_init(&tx_data.sem, 1, 1); in hci_like_test()