Lines Matching refs:idb

83     idm_buf_t *idb, uint32_t offset, uint32_t length);
84 static void idm_so_send_rtt_data_done(idm_task_t *idt, idm_buf_t *idb);
86 idm_buf_t *idb, uint32_t buf_region_offset, uint32_t buf_region_length);
88 static uint32_t idm_fill_iov(idm_pdu_t *pdu, idm_buf_t *idb,
101 static idm_status_t idm_so_buf_tx_to_ini(idm_task_t *idt, idm_buf_t *idb);
102 static idm_status_t idm_so_buf_rx_from_ini(idm_task_t *idt, idm_buf_t *idb);
115 static idm_status_t idm_so_buf_alloc(idm_buf_t *idb, uint64_t buflen);
116 static void idm_so_buf_free(idm_buf_t *idb);
117 static idm_status_t idm_so_buf_setup(idm_buf_t *idb);
118 static void idm_so_buf_teardown(idm_buf_t *idb);
1419 idm_buf_t *idb, *next_idb; in idm_so_free_task_rsrc() local
1438 for (idb = list_head(&idt->idt_outbufv); idb != NULL; idb = next_idb) { in idm_so_free_task_rsrc()
1439 next_idb = list_next(&idt->idt_outbufv, idb); in idm_so_free_task_rsrc()
1440 if (idb->idb_in_transport) { in idm_so_free_task_rsrc()
1445 uintptr_t, idb->idb_buf, in idm_so_free_task_rsrc()
1446 uint32_t, idb->idb_bufoffset, in idm_so_free_task_rsrc()
1448 uint32_t, idb->idb_xfer_len, in idm_so_free_task_rsrc()
1450 idm_buf_rx_from_ini_done(idt, idb, IDM_STATUS_ABORTED); in idm_so_free_task_rsrc()
1455 for (idb = list_head(&idt->idt_inbufv); idb != NULL; idb = next_idb) { in idm_so_free_task_rsrc()
1456 next_idb = list_next(&idt->idt_inbufv, idb); in idm_so_free_task_rsrc()
1463 if (idb->idb_in_transport && !idb->idb_tx_thread) { in idm_so_free_task_rsrc()
1468 uintptr_t, idb->idb_buf, in idm_so_free_task_rsrc()
1469 uint32_t, idb->idb_bufoffset, in idm_so_free_task_rsrc()
1471 uint32_t, idb->idb_xfer_len, in idm_so_free_task_rsrc()
1473 idm_buf_tx_to_ini_done(idt, idb, IDM_STATUS_ABORTED); in idm_so_free_task_rsrc()
1649 idm_buf_t *idb; in idm_so_rx_datain() local
1674 idb = pdu->isp_sorx_buf; in idm_so_rx_datain()
1675 if (idb == NULL) { in idm_so_rx_datain()
1700 if (offset != idb->idb_exp_offset) { in idm_so_rx_datain()
1707 idb->idb_exp_offset += n2h24(bhs->dlength); in idm_so_rx_datain()
1739 idm_buf_t *idb; in idm_so_rx_dataout() local
1761 idb = pdu->isp_sorx_buf; in idm_so_rx_dataout()
1762 if (idb == NULL) { in idm_so_rx_dataout()
1771 if (offset != idb->idb_exp_offset) { in idm_so_rx_dataout()
1773 "%ld, %d", offset, idb->idb_exp_offset); in idm_so_rx_dataout()
1779 idb->idb_exp_offset += ntoh24(bhs->dlength); in idm_so_rx_dataout()
1806 if (idb->idb_buflen == idb->idb_xfer_len && in idm_so_rx_dataout()
1807 idb->idb_buflen != in idm_so_rx_dataout()
1808 (idb->idb_exp_offset - idb->idb_bufoffset)) { in idm_so_rx_dataout()
1813 offset, (int)(idb->idb_exp_offset - offset)); in idm_so_rx_dataout()
1845 uintptr_t, idb->idb_buf, uint32_t, idb->idb_bufoffset, in idm_so_rx_dataout()
1847 uint32_t, idb->idb_xfer_len, in idm_so_rx_dataout()
1849 idm_buf_rx_from_ini_done(idt, idb, IDM_STATUS_SUCCESS); in idm_so_rx_dataout()
1873 idm_buf_t *idb; in idm_so_rx_rtt() local
1894 idb = idm_buf_find(&idt->idt_outbufv, data_offset); in idm_so_rx_rtt()
1895 if (idb == NULL) { in idm_so_rx_rtt()
1904 if (data_offset + data_length > idb->idb_buflen) { in idm_so_rx_rtt()
1917 idm_so_send_rtt_data(ic, idt, idb, data_offset, in idm_so_rx_rtt()
2078 idm_fill_iov(idm_pdu_t *pdu, idm_buf_t *idb, uint32_t ro, uint32_t dlength) in idm_fill_iov() argument
2080 uint32_t buf_ro = ro - idb->idb_bufoffset; in idm_fill_iov()
2081 uint32_t xfer_len = min(dlength, idb->idb_buflen - buf_ro); in idm_fill_iov()
2083 ASSERT(ro >= idb->idb_bufoffset); in idm_fill_iov()
2086 (caddr_t)idb->idb_buf + buf_ro; in idm_fill_iov()
2323 idm_buf_t *idb; in idm_i_so_tx() local
2333 idb = idm_buf_find(&idt->idt_outbufv, 0); in idm_i_so_tx()
2346 if (idb) in idm_i_so_tx()
2347 idb->idb_xfer_len += pdu->isp_datalen; in idm_i_so_tx()
2438 idm_so_buf_tx_to_ini(idm_task_t *idt, idm_buf_t *idb) in idm_so_buf_tx_to_ini() argument
2440 idm_so_conn_t *so_conn = idb->idb_ic->ic_transport_private; in idm_so_buf_tx_to_ini()
2452 uintptr_t, idb->idb_buf, uint32_t, idb->idb_bufoffset, in idm_so_buf_tx_to_ini()
2454 uint32_t, idb->idb_xfer_len, int, XFER_BUF_TX_TO_INI); in idm_so_buf_tx_to_ini()
2463 uintptr_t, idb->idb_buf, uint32_t, idb->idb_bufoffset, in idm_so_buf_tx_to_ini()
2465 uint32_t, idb->idb_xfer_len, in idm_so_buf_tx_to_ini()
2467 idm_buf_tx_to_ini_done(idt, idb, IDM_STATUS_ABORTED); in idm_so_buf_tx_to_ini()
2476 bzero(&idb->idb_data_hdr_tmpl, sizeof (iscsi_hdr_t)); in idm_so_buf_tx_to_ini()
2477 tmppdu.isp_hdr = &idb->idb_data_hdr_tmpl; in idm_so_buf_tx_to_ini()
2480 idb->idb_tx_thread = B_TRUE; in idm_so_buf_tx_to_ini()
2481 list_insert_tail(&so_conn->ic_tx_list, (void *)idb); in idm_so_buf_tx_to_ini()
2508 idm_so_buf_rx_from_ini(idm_task_t *idt, idm_buf_t *idb) in idm_so_buf_rx_from_ini() argument
2516 uintptr_t, idb->idb_buf, uint32_t, idb->idb_bufoffset, in idm_so_buf_rx_from_ini()
2518 uint32_t, idb->idb_xfer_len, int, XFER_BUF_RX_FROM_INI); in idm_so_buf_rx_from_ini()
2533 rtt->data_offset = htonl(idb->idb_bufoffset); in idm_so_buf_rx_from_ini()
2534 rtt->data_length = htonl(idb->idb_xfer_len); in idm_so_buf_rx_from_ini()
2538 idb->idb_exp_offset = idb->idb_bufoffset; in idm_so_buf_rx_from_ini()
2550 idm_so_buf_alloc(idm_buf_t *idb, uint64_t buflen) in idm_so_buf_alloc() argument
2553 idb->idb_buf = kmem_cache_alloc(idm.idm_so_128k_buf_cache, in idm_so_buf_alloc()
2555 idb->idb_buf_private = idm.idm_so_128k_buf_cache; in idm_so_buf_alloc()
2557 idb->idb_buf = kmem_alloc(buflen, KM_NOSLEEP); in idm_so_buf_alloc()
2558 idb->idb_buf_private = NULL; in idm_so_buf_alloc()
2561 if (idb->idb_buf == NULL) { in idm_so_buf_alloc()
2572 idm_so_buf_setup(idm_buf_t *idb) in idm_so_buf_setup() argument
2575 idb->idb_bufalloc = B_FALSE; in idm_so_buf_setup()
2582 idm_so_buf_teardown(idm_buf_t *idb) in idm_so_buf_teardown() argument
2588 idm_so_buf_free(idm_buf_t *idb) in idm_so_buf_free() argument
2590 if (idb->idb_buf_private == NULL) { in idm_so_buf_free()
2591 kmem_free(idb->idb_buf, idb->idb_buflen); in idm_so_buf_free()
2593 kmem_cache_free(idb->idb_buf_private, idb->idb_buf); in idm_so_buf_free()
2598 idm_so_send_rtt_data(idm_conn_t *ic, idm_task_t *idt, idm_buf_t *idb, in idm_so_send_rtt_data() argument
2613 rtt_buf = idm_buf_alloc(ic, (uint8_t *)idb->idb_buf + offset, length); in idm_so_send_rtt_data()
2677 idm_so_send_rtt_data_done(idm_task_t *idt, idm_buf_t *idb) in idm_so_send_rtt_data_done() argument
2683 idb->idb_in_transport = B_FALSE; in idm_so_send_rtt_data_done()
2685 idm_buf_free(idb); in idm_so_send_rtt_data_done()
2689 idm_so_send_buf_region(idm_task_t *idt, idm_buf_t *idb, in idm_so_send_buf_region() argument
2732 bcopy(&idb->idb_data_hdr_tmpl, pdu->isp_hdr, in idm_so_send_buf_region()
2744 bhs->offset = htonl(idb->idb_bufoffset + data_offset); in idm_so_send_buf_region()
2747 pdu->isp_data = (uint8_t *)idb->idb_buf + data_offset; in idm_so_send_buf_region()
2929 idm_buf_t *idb = (idm_buf_t *)object; in idm_sotx_thread() local
2930 idm_task_t *idt = idb->idb_task_binding; in idm_sotx_thread()
2933 idm_buf_t *, idb); in idm_sotx_thread()
2937 idb, 0, idb->idb_xfer_len); in idm_sotx_thread()
2943 ASSERT(idb->idb_in_transport); in idm_sotx_thread()
2951 uintptr_t, idb->idb_buf, in idm_sotx_thread()
2952 uint32_t, idb->idb_bufoffset, in idm_sotx_thread()
2954 uint32_t, idb->idb_xfer_len, in idm_sotx_thread()
2956 idm_buf_tx_to_ini_done(idt, idb, status); in idm_sotx_thread()
2958 idm_so_send_rtt_data_done(idt, idb); in idm_sotx_thread()
2997 idm_buf_t *idb = (idm_buf_t *)object; in idm_sotx_thread() local
2998 idm_task_t *idt = idb->idb_task_binding; in idm_sotx_thread()
3005 ASSERT(idb->idb_in_transport); in idm_sotx_thread()
3013 uintptr_t, idb->idb_buf, in idm_sotx_thread()
3014 uint32_t, idb->idb_bufoffset, in idm_sotx_thread()
3016 uint32_t, idb->idb_xfer_len, in idm_sotx_thread()
3018 idm_buf_tx_to_ini_done(idt, idb, in idm_sotx_thread()
3021 idm_so_send_rtt_data_done(idt, idb); in idm_sotx_thread()