Lines Matching refs:pasync_handle
1452 struct hd_async_handle *pasync_handle) in beiscsi_hdl_put_handle() argument
1454 pasync_handle->is_final = 0; in beiscsi_hdl_put_handle()
1455 pasync_handle->buffer_len = 0; in beiscsi_hdl_put_handle()
1456 pasync_handle->in_use = 0; in beiscsi_hdl_put_handle()
1457 list_del_init(&pasync_handle->link); in beiscsi_hdl_put_handle()
1465 struct hd_async_handle *pasync_handle, *tmp_handle; in beiscsi_hdl_purge_handles() local
1469 list_for_each_entry_safe(pasync_handle, tmp_handle, plist, link) in beiscsi_hdl_purge_handles()
1470 beiscsi_hdl_put_handle(pasync_ctx, pasync_handle); in beiscsi_hdl_purge_handles()
1485 struct hd_async_handle *pasync_handle; in beiscsi_hdl_get_handle() local
1530 pasync_handle = pasync_ctx->async_entry[ci].header; in beiscsi_hdl_get_handle()
1537 pasync_handle = pasync_ctx->async_entry[ci].data; in beiscsi_hdl_get_handle()
1544 if (pasync_handle->pa.u.a64.address != phys_addr.u.a64.address || in beiscsi_hdl_get_handle()
1545 pasync_handle->index != ci) { in beiscsi_hdl_get_handle()
1550 cid, pasync_handle->is_header ? 'H' : 'D', in beiscsi_hdl_get_handle()
1551 pasync_handle->pa.u.a64.address, in beiscsi_hdl_get_handle()
1552 pasync_handle->index, in beiscsi_hdl_get_handle()
1562 beiscsi_hdl_put_handle(pasync_ctx, pasync_handle); in beiscsi_hdl_get_handle()
1566 if (pasync_handle->in_use || !list_empty(&pasync_handle->link)) { in beiscsi_hdl_get_handle()
1573 list_del_init(&pasync_handle->link); in beiscsi_hdl_get_handle()
1578 pasync_handle->cri = cri; in beiscsi_hdl_get_handle()
1579 pasync_handle->is_final = final; in beiscsi_hdl_get_handle()
1580 pasync_handle->buffer_len = dpl; in beiscsi_hdl_get_handle()
1581 pasync_handle->in_use = 1; in beiscsi_hdl_get_handle()
1583 return pasync_handle; in beiscsi_hdl_get_handle()
1592 struct hd_async_handle *pasync_handle, *plast_handle; in beiscsi_hdl_fwd_pdu() local
1600 list_for_each_entry(pasync_handle, plist, link) { in beiscsi_hdl_fwd_pdu()
1601 plast_handle = pasync_handle; in beiscsi_hdl_fwd_pdu()
1604 phdr = pasync_handle->pbuffer; in beiscsi_hdl_fwd_pdu()
1609 pdata = pasync_handle->pbuffer; in beiscsi_hdl_fwd_pdu()
1610 dlen = pasync_handle->buffer_len; in beiscsi_hdl_fwd_pdu()
1613 if (!pasync_handle->buffer_len || in beiscsi_hdl_fwd_pdu()
1614 (dlen + pasync_handle->buffer_len) > in beiscsi_hdl_fwd_pdu()
1617 memcpy(pdata + dlen, pasync_handle->pbuffer, in beiscsi_hdl_fwd_pdu()
1618 pasync_handle->buffer_len); in beiscsi_hdl_fwd_pdu()
1619 dlen += pasync_handle->buffer_len; in beiscsi_hdl_fwd_pdu()
1642 struct hd_async_handle *pasync_handle) in beiscsi_hdl_gather_pdu() argument
1645 u16 cri = pasync_handle->cri; in beiscsi_hdl_gather_pdu()
1653 if (pasync_handle->is_header) { in beiscsi_hdl_gather_pdu()
1659 ppdu = pasync_handle->pbuffer; in beiscsi_hdl_gather_pdu()
1665 wq->hdr_len = pasync_handle->buffer_len; in beiscsi_hdl_gather_pdu()
1668 list_add_tail(&pasync_handle->link, &wq->list); in beiscsi_hdl_gather_pdu()
1678 wq->bytes_received += pasync_handle->buffer_len; in beiscsi_hdl_gather_pdu()
1684 list_add_tail(&pasync_handle->link, &wq->list); in beiscsi_hdl_gather_pdu()
1695 pasync_handle->is_header ? 'H' : 'D', in beiscsi_hdl_gather_pdu()
1697 pasync_handle->buffer_len); in beiscsi_hdl_gather_pdu()
1699 beiscsi_hdl_put_handle(pasync_ctx, pasync_handle); in beiscsi_hdl_gather_pdu()
1710 struct hd_async_handle *pasync_handle; in beiscsi_hdq_post_handles() local
1736 pasync_handle = pasync_ctx->async_entry[pi].header; in beiscsi_hdq_post_handles()
1738 pasync_handle = pasync_ctx->async_entry[pi].data; in beiscsi_hdq_post_handles()
1739 WARN_ON(pasync_handle->is_header != header); in beiscsi_hdq_post_handles()
1740 WARN_ON(pasync_handle->index != pi); in beiscsi_hdq_post_handles()
1744 pasync_sge[pi].hi = pasync_handle->pa.u.a32.address_lo; in beiscsi_hdq_post_handles()
1745 pasync_sge[pi].lo = pasync_handle->pa.u.a32.address_hi; in beiscsi_hdq_post_handles()
1768 struct hd_async_handle *pasync_handle = NULL; in beiscsi_hdq_process_compl() local
1778 pasync_handle = beiscsi_hdl_get_handle(beiscsi_conn, pasync_ctx, in beiscsi_hdq_process_compl()
1786 if (pasync_handle) in beiscsi_hdq_process_compl()
1787 beiscsi_hdl_gather_pdu(beiscsi_conn, pasync_ctx, pasync_handle); in beiscsi_hdq_process_compl()