Lines Matching refs:pasync_handle
1450 struct hd_async_handle *pasync_handle) in beiscsi_hdl_put_handle() argument
1452 pasync_handle->is_final = 0; in beiscsi_hdl_put_handle()
1453 pasync_handle->buffer_len = 0; in beiscsi_hdl_put_handle()
1454 pasync_handle->in_use = 0; in beiscsi_hdl_put_handle()
1455 list_del_init(&pasync_handle->link); in beiscsi_hdl_put_handle()
1463 struct hd_async_handle *pasync_handle, *tmp_handle; in beiscsi_hdl_purge_handles() local
1467 list_for_each_entry_safe(pasync_handle, tmp_handle, plist, link) in beiscsi_hdl_purge_handles()
1468 beiscsi_hdl_put_handle(pasync_ctx, pasync_handle); in beiscsi_hdl_purge_handles()
1483 struct hd_async_handle *pasync_handle; in beiscsi_hdl_get_handle() local
1528 pasync_handle = pasync_ctx->async_entry[ci].header; in beiscsi_hdl_get_handle()
1535 pasync_handle = pasync_ctx->async_entry[ci].data; in beiscsi_hdl_get_handle()
1542 if (pasync_handle->pa.u.a64.address != phys_addr.u.a64.address || in beiscsi_hdl_get_handle()
1543 pasync_handle->index != ci) { in beiscsi_hdl_get_handle()
1548 cid, pasync_handle->is_header ? 'H' : 'D', in beiscsi_hdl_get_handle()
1549 pasync_handle->pa.u.a64.address, in beiscsi_hdl_get_handle()
1550 pasync_handle->index, in beiscsi_hdl_get_handle()
1560 beiscsi_hdl_put_handle(pasync_ctx, pasync_handle); in beiscsi_hdl_get_handle()
1564 if (pasync_handle->in_use || !list_empty(&pasync_handle->link)) { in beiscsi_hdl_get_handle()
1571 list_del_init(&pasync_handle->link); in beiscsi_hdl_get_handle()
1576 pasync_handle->cri = cri; in beiscsi_hdl_get_handle()
1577 pasync_handle->is_final = final; in beiscsi_hdl_get_handle()
1578 pasync_handle->buffer_len = dpl; in beiscsi_hdl_get_handle()
1579 pasync_handle->in_use = 1; in beiscsi_hdl_get_handle()
1581 return pasync_handle; in beiscsi_hdl_get_handle()
1590 struct hd_async_handle *pasync_handle, *plast_handle; in beiscsi_hdl_fwd_pdu() local
1598 list_for_each_entry(pasync_handle, plist, link) { in beiscsi_hdl_fwd_pdu()
1599 plast_handle = pasync_handle; in beiscsi_hdl_fwd_pdu()
1602 phdr = pasync_handle->pbuffer; in beiscsi_hdl_fwd_pdu()
1607 pdata = pasync_handle->pbuffer; in beiscsi_hdl_fwd_pdu()
1608 dlen = pasync_handle->buffer_len; in beiscsi_hdl_fwd_pdu()
1611 if (!pasync_handle->buffer_len || in beiscsi_hdl_fwd_pdu()
1612 (dlen + pasync_handle->buffer_len) > in beiscsi_hdl_fwd_pdu()
1615 memcpy(pdata + dlen, pasync_handle->pbuffer, in beiscsi_hdl_fwd_pdu()
1616 pasync_handle->buffer_len); in beiscsi_hdl_fwd_pdu()
1617 dlen += pasync_handle->buffer_len; in beiscsi_hdl_fwd_pdu()
1640 struct hd_async_handle *pasync_handle) in beiscsi_hdl_gather_pdu() argument
1643 u16 cri = pasync_handle->cri; in beiscsi_hdl_gather_pdu()
1651 if (pasync_handle->is_header) { in beiscsi_hdl_gather_pdu()
1657 ppdu = pasync_handle->pbuffer; in beiscsi_hdl_gather_pdu()
1663 wq->hdr_len = pasync_handle->buffer_len; in beiscsi_hdl_gather_pdu()
1666 list_add_tail(&pasync_handle->link, &wq->list); in beiscsi_hdl_gather_pdu()
1676 wq->bytes_received += pasync_handle->buffer_len; in beiscsi_hdl_gather_pdu()
1682 list_add_tail(&pasync_handle->link, &wq->list); in beiscsi_hdl_gather_pdu()
1693 pasync_handle->is_header ? 'H' : 'D', in beiscsi_hdl_gather_pdu()
1695 pasync_handle->buffer_len); in beiscsi_hdl_gather_pdu()
1697 beiscsi_hdl_put_handle(pasync_ctx, pasync_handle); in beiscsi_hdl_gather_pdu()
1708 struct hd_async_handle *pasync_handle; in beiscsi_hdq_post_handles() local
1734 pasync_handle = pasync_ctx->async_entry[pi].header; in beiscsi_hdq_post_handles()
1736 pasync_handle = pasync_ctx->async_entry[pi].data; in beiscsi_hdq_post_handles()
1737 WARN_ON(pasync_handle->is_header != header); in beiscsi_hdq_post_handles()
1738 WARN_ON(pasync_handle->index != pi); in beiscsi_hdq_post_handles()
1742 pasync_sge[pi].hi = pasync_handle->pa.u.a32.address_lo; in beiscsi_hdq_post_handles()
1743 pasync_sge[pi].lo = pasync_handle->pa.u.a32.address_hi; in beiscsi_hdq_post_handles()
1766 struct hd_async_handle *pasync_handle = NULL; in beiscsi_hdq_process_compl() local
1776 pasync_handle = beiscsi_hdl_get_handle(beiscsi_conn, pasync_ctx, in beiscsi_hdq_process_compl()
1784 if (pasync_handle) in beiscsi_hdq_process_compl()
1785 beiscsi_hdl_gather_pdu(beiscsi_conn, pasync_ctx, pasync_handle); in beiscsi_hdq_process_compl()