Lines Matching full:rb
43 struct ishtp_cl_rb *rb; in ishtp_read_list_flush() local
48 list_for_each_entry_safe(rb, next, &cl->dev->read_list.list, list) in ishtp_read_list_flush()
49 if (rb->cl && ishtp_cl_cmp_id(cl, rb->cl)) { in ishtp_read_list_flush()
50 list_del(&rb->list); in ishtp_read_list_flush()
51 ishtp_io_rb_free(rb); in ishtp_read_list_flush()
447 struct ishtp_cl_rb *rb; in ishtp_cl_read_start() local
471 /* The current rb is the head of the free rb list */ in ishtp_cl_read_start()
477 rb = NULL; in ishtp_cl_read_start()
481 rb = list_entry(cl->free_rb_list.list.next, struct ishtp_cl_rb, list); in ishtp_cl_read_start()
482 list_del_init(&rb->list); in ishtp_cl_read_start()
485 rb->cl = cl; in ishtp_cl_read_start()
486 rb->buf_idx = 0; in ishtp_cl_read_start()
488 INIT_LIST_HEAD(&rb->list); in ishtp_cl_read_start()
496 list_add_tail(&rb->list, &dev->read_list.list); in ishtp_cl_read_start()
503 /* if ishtp_hbm_cl_flow_control_req failed, return rb to free list */ in ishtp_cl_read_start()
504 if (rets && rb) { in ishtp_cl_read_start()
506 list_del(&rb->list); in ishtp_cl_read_start()
510 list_add_tail(&rb->list, &cl->free_rb_list.list); in ishtp_cl_read_start()
604 * @rb: Pointer to client request block
609 static void ishtp_cl_read_complete(struct ishtp_cl_rb *rb) in ishtp_cl_read_complete() argument
613 struct ishtp_cl *cl = rb->cl; in ishtp_cl_read_complete()
621 list_add_tail(&rb->list, &cl->in_process_list.list); in ishtp_cl_read_complete()
831 struct ishtp_cl_rb *rb; in recv_ishtp_cl_msg() local
851 list_for_each_entry(rb, &dev->read_list.list, list) { in recv_ishtp_cl_msg()
853 cl = rb->cl; in recv_ishtp_cl_msg()
859 /* If no Rx buffer is allocated, disband the rb */ in recv_ishtp_cl_msg()
860 if (rb->buffer.size == 0 || rb->buffer.data == NULL) { in recv_ishtp_cl_msg()
864 list_del(&rb->list); in recv_ishtp_cl_msg()
865 ishtp_io_rb_free(rb); in recv_ishtp_cl_msg()
876 if (rb->buffer.size < ishtp_hdr->length + rb->buf_idx) { in recv_ishtp_cl_msg()
880 rb->buffer.size, ishtp_hdr->length, in recv_ishtp_cl_msg()
881 rb->buf_idx); in recv_ishtp_cl_msg()
882 list_del(&rb->list); in recv_ishtp_cl_msg()
883 ishtp_cl_io_rb_recycle(rb); in recv_ishtp_cl_msg()
888 buffer = rb->buffer.data + rb->buf_idx; in recv_ishtp_cl_msg()
891 rb->buf_idx += ishtp_hdr->length; in recv_ishtp_cl_msg()
895 list_del(&rb->list); in recv_ishtp_cl_msg()
896 complete_rb = rb; in recv_ishtp_cl_msg()
901 * rb buffer for the next coming msg in recv_ishtp_cl_msg()
964 struct ishtp_cl_rb *rb; in recv_ishtp_cl_msg_dma() local
972 list_for_each_entry(rb, &dev->read_list.list, list) { in recv_ishtp_cl_msg_dma()
973 cl = rb->cl; in recv_ishtp_cl_msg_dma()
980 * If no Rx buffer is allocated, disband the rb in recv_ishtp_cl_msg_dma()
982 if (rb->buffer.size == 0 || rb->buffer.data == NULL) { in recv_ishtp_cl_msg_dma()
986 list_del(&rb->list); in recv_ishtp_cl_msg_dma()
987 ishtp_io_rb_free(rb); in recv_ishtp_cl_msg_dma()
998 if (rb->buffer.size < hbm->msg_length) { in recv_ishtp_cl_msg_dma()
1002 rb->buffer.size, hbm->msg_length, rb->buf_idx); in recv_ishtp_cl_msg_dma()
1003 list_del(&rb->list); in recv_ishtp_cl_msg_dma()
1004 ishtp_cl_io_rb_recycle(rb); in recv_ishtp_cl_msg_dma()
1009 buffer = rb->buffer.data; in recv_ishtp_cl_msg_dma()
1011 rb->buf_idx = hbm->msg_length; in recv_ishtp_cl_msg_dma()
1015 list_del(&rb->list); in recv_ishtp_cl_msg_dma()
1016 complete_rb = rb; in recv_ishtp_cl_msg_dma()
1021 * rb buffer for the next coming msg in recv_ishtp_cl_msg_dma()