Lines Matching refs:buffer
155 … no = ((rt_ubase_t)tx_tosnd - (rt_ubase_t)tx_fifo->buffer) / sizeof(struct rt_can_sndbxinx_list); in _can_int_tx()
234 if ((tx_fifo->buffer[no].result != RT_CAN_SND_RESULT_OK)) in _can_int_tx_priv()
238 rt_completion_wait(&(tx_fifo->buffer[no].completion), RT_WAITING_FOREVER); in _can_int_tx_priv()
241 tx_fifo->buffer[no].result = RT_CAN_SND_RESULT_WAIT; in _can_int_tx_priv()
249 if (rt_completion_wait(&(tx_fifo->buffer[no].completion), RT_CANSND_MSG_TIMEOUT) != RT_EOK) in _can_int_tx_priv()
255 result = tx_fifo->buffer[no].result; in _can_int_tx_priv()
299 rx_fifo->buffer = (struct rt_can_msg_list *)(rx_fifo + 1); in rt_can_open()
300 rt_memset(rx_fifo->buffer, 0, can->config.msgboxsz * sizeof(struct rt_can_msg_list)); in rt_can_open()
306 rt_list_insert_before(&rx_fifo->freelist, &rx_fifo->buffer[i].list); in rt_can_open()
308 rt_list_init(&rx_fifo->buffer[i].hdrlist); in rt_can_open()
309 rx_fifo->buffer[i].owner = RT_NULL; in rt_can_open()
331 tx_fifo->buffer = (struct rt_can_sndbxinx_list *)(tx_fifo + 1); in rt_can_open()
332 rt_memset(tx_fifo->buffer, 0, in rt_can_open()
337 rt_list_insert_before(&tx_fifo->freelist, &tx_fifo->buffer[i].list); in rt_can_open()
338 rt_completion_init(&(tx_fifo->buffer[i].completion)); in rt_can_open()
339 tx_fifo->buffer[i].result = RT_CAN_SND_RESULT_OK; in rt_can_open()
458 void *buffer, in rt_can_read() argument
470 return _can_int_rx(can, buffer, size); in rt_can_read()
478 const void *buffer, in rt_can_write() argument
492 return _can_int_tx_priv(can, buffer, size); in rt_can_write()
496 return _can_int_tx(can, buffer, size); in rt_can_write()
546 if(rt_list_isempty(&tx_fifo->buffer[i].list)) in rt_can_control()
552 rt_list_remove(&tx_fifo->buffer[i].list); in rt_can_control()
563 if (tx_fifo->buffer[i].result == RT_CAN_SND_RESULT_OK) in rt_can_control()
565 rt_list_insert_before(&tx_fifo->freelist, &tx_fifo->buffer[i].list); in rt_can_control()
911 tx_fifo->buffer[no].result = RT_CAN_SND_RESULT_OK; in rt_hw_can_isr()
915 tx_fifo->buffer[no].result = RT_CAN_SND_RESULT_ERR; in rt_hw_can_isr()
917 rt_completion_done(&(tx_fifo->buffer[no].completion)); in rt_hw_can_isr()