Lines Matching full:rb
44 struct ishtp_cl_rb *rb; in ishtp_read_list_flush() local
49 list_for_each_entry_safe(rb, next, &cl->dev->read_list.list, list) in ishtp_read_list_flush()
50 if (rb->cl && ishtp_cl_cmp_id(cl, rb->cl)) { in ishtp_read_list_flush()
51 list_del(&rb->list); in ishtp_read_list_flush()
52 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()
829 struct ishtp_cl_rb *rb; in recv_ishtp_cl_msg() local
849 list_for_each_entry(rb, &dev->read_list.list, list) { in recv_ishtp_cl_msg()
851 cl = rb->cl; in recv_ishtp_cl_msg()
857 /* If no Rx buffer is allocated, disband the rb */ in recv_ishtp_cl_msg()
858 if (rb->buffer.size == 0 || rb->buffer.data == NULL) { in recv_ishtp_cl_msg()
862 list_del(&rb->list); in recv_ishtp_cl_msg()
863 ishtp_io_rb_free(rb); in recv_ishtp_cl_msg()
874 if (rb->buffer.size < ishtp_hdr->length + rb->buf_idx) { in recv_ishtp_cl_msg()
878 rb->buffer.size, ishtp_hdr->length, in recv_ishtp_cl_msg()
879 rb->buf_idx); in recv_ishtp_cl_msg()
880 list_del(&rb->list); in recv_ishtp_cl_msg()
881 ishtp_cl_io_rb_recycle(rb); in recv_ishtp_cl_msg()
886 buffer = rb->buffer.data + rb->buf_idx; in recv_ishtp_cl_msg()
889 rb->buf_idx += ishtp_hdr->length; in recv_ishtp_cl_msg()
893 list_del(&rb->list); in recv_ishtp_cl_msg()
894 complete_rb = rb; in recv_ishtp_cl_msg()
899 * rb buffer for the next coming msg in recv_ishtp_cl_msg()
962 struct ishtp_cl_rb *rb; in recv_ishtp_cl_msg_dma() local
970 list_for_each_entry(rb, &dev->read_list.list, list) { in recv_ishtp_cl_msg_dma()
971 cl = rb->cl; in recv_ishtp_cl_msg_dma()
978 * If no Rx buffer is allocated, disband the rb in recv_ishtp_cl_msg_dma()
980 if (rb->buffer.size == 0 || rb->buffer.data == NULL) { in recv_ishtp_cl_msg_dma()
984 list_del(&rb->list); in recv_ishtp_cl_msg_dma()
985 ishtp_io_rb_free(rb); in recv_ishtp_cl_msg_dma()
996 if (rb->buffer.size < hbm->msg_length) { in recv_ishtp_cl_msg_dma()
1000 rb->buffer.size, hbm->msg_length, rb->buf_idx); in recv_ishtp_cl_msg_dma()
1001 list_del(&rb->list); in recv_ishtp_cl_msg_dma()
1002 ishtp_cl_io_rb_recycle(rb); in recv_ishtp_cl_msg_dma()
1007 buffer = rb->buffer.data; in recv_ishtp_cl_msg_dma()
1018 rb->buf_idx = hbm->msg_length; in recv_ishtp_cl_msg_dma()
1022 list_del(&rb->list); in recv_ishtp_cl_msg_dma()
1023 complete_rb = rb; in recv_ishtp_cl_msg_dma()
1028 * rb buffer for the next coming msg in recv_ishtp_cl_msg_dma()