Lines Matching refs:pasync_handle
1469 struct hd_async_handle *pasync_handle) in beiscsi_hdl_put_handle() argument
1471 pasync_handle->is_final = 0; in beiscsi_hdl_put_handle()
1472 pasync_handle->buffer_len = 0; in beiscsi_hdl_put_handle()
1473 pasync_handle->in_use = 0; in beiscsi_hdl_put_handle()
1474 list_del_init(&pasync_handle->link); in beiscsi_hdl_put_handle()
1482 struct hd_async_handle *pasync_handle, *tmp_handle; in beiscsi_hdl_purge_handles() local
1486 list_for_each_entry_safe(pasync_handle, tmp_handle, plist, link) in beiscsi_hdl_purge_handles()
1487 beiscsi_hdl_put_handle(pasync_ctx, pasync_handle); in beiscsi_hdl_purge_handles()
1502 struct hd_async_handle *pasync_handle; in beiscsi_hdl_get_handle() local
1547 pasync_handle = pasync_ctx->async_entry[ci].header; in beiscsi_hdl_get_handle()
1554 pasync_handle = pasync_ctx->async_entry[ci].data; in beiscsi_hdl_get_handle()
1561 if (pasync_handle->pa.u.a64.address != phys_addr.u.a64.address || in beiscsi_hdl_get_handle()
1562 pasync_handle->index != ci) { in beiscsi_hdl_get_handle()
1567 cid, pasync_handle->is_header ? 'H' : 'D', in beiscsi_hdl_get_handle()
1568 pasync_handle->pa.u.a64.address, in beiscsi_hdl_get_handle()
1569 pasync_handle->index, in beiscsi_hdl_get_handle()
1579 beiscsi_hdl_put_handle(pasync_ctx, pasync_handle); in beiscsi_hdl_get_handle()
1583 if (pasync_handle->in_use || !list_empty(&pasync_handle->link)) { in beiscsi_hdl_get_handle()
1590 list_del_init(&pasync_handle->link); in beiscsi_hdl_get_handle()
1595 pasync_handle->cri = cri; in beiscsi_hdl_get_handle()
1596 pasync_handle->is_final = final; in beiscsi_hdl_get_handle()
1597 pasync_handle->buffer_len = dpl; in beiscsi_hdl_get_handle()
1598 pasync_handle->in_use = 1; in beiscsi_hdl_get_handle()
1600 return pasync_handle; in beiscsi_hdl_get_handle()
1609 struct hd_async_handle *pasync_handle, *plast_handle; in beiscsi_hdl_fwd_pdu() local
1617 list_for_each_entry(pasync_handle, plist, link) { in beiscsi_hdl_fwd_pdu()
1618 plast_handle = pasync_handle; in beiscsi_hdl_fwd_pdu()
1621 phdr = pasync_handle->pbuffer; in beiscsi_hdl_fwd_pdu()
1626 pdata = pasync_handle->pbuffer; in beiscsi_hdl_fwd_pdu()
1627 dlen = pasync_handle->buffer_len; in beiscsi_hdl_fwd_pdu()
1630 if (!pasync_handle->buffer_len || in beiscsi_hdl_fwd_pdu()
1631 (dlen + pasync_handle->buffer_len) > in beiscsi_hdl_fwd_pdu()
1634 memcpy(pdata + dlen, pasync_handle->pbuffer, in beiscsi_hdl_fwd_pdu()
1635 pasync_handle->buffer_len); in beiscsi_hdl_fwd_pdu()
1636 dlen += pasync_handle->buffer_len; in beiscsi_hdl_fwd_pdu()
1659 struct hd_async_handle *pasync_handle) in beiscsi_hdl_gather_pdu() argument
1662 u16 cri = pasync_handle->cri; in beiscsi_hdl_gather_pdu()
1670 if (pasync_handle->is_header) { in beiscsi_hdl_gather_pdu()
1676 ppdu = pasync_handle->pbuffer; in beiscsi_hdl_gather_pdu()
1682 wq->hdr_len = pasync_handle->buffer_len; in beiscsi_hdl_gather_pdu()
1685 list_add_tail(&pasync_handle->link, &wq->list); in beiscsi_hdl_gather_pdu()
1695 wq->bytes_received += pasync_handle->buffer_len; in beiscsi_hdl_gather_pdu()
1701 list_add_tail(&pasync_handle->link, &wq->list); in beiscsi_hdl_gather_pdu()
1712 pasync_handle->is_header ? 'H' : 'D', in beiscsi_hdl_gather_pdu()
1714 pasync_handle->buffer_len); in beiscsi_hdl_gather_pdu()
1716 beiscsi_hdl_put_handle(pasync_ctx, pasync_handle); in beiscsi_hdl_gather_pdu()
1727 struct hd_async_handle *pasync_handle; in beiscsi_hdq_post_handles() local
1753 pasync_handle = pasync_ctx->async_entry[pi].header; in beiscsi_hdq_post_handles()
1755 pasync_handle = pasync_ctx->async_entry[pi].data; in beiscsi_hdq_post_handles()
1756 WARN_ON(pasync_handle->is_header != header); in beiscsi_hdq_post_handles()
1757 WARN_ON(pasync_handle->index != pi); in beiscsi_hdq_post_handles()
1761 pasync_sge[pi].hi = pasync_handle->pa.u.a32.address_lo; in beiscsi_hdq_post_handles()
1762 pasync_sge[pi].lo = pasync_handle->pa.u.a32.address_hi; in beiscsi_hdq_post_handles()
1785 struct hd_async_handle *pasync_handle = NULL; in beiscsi_hdq_process_compl() local
1795 pasync_handle = beiscsi_hdl_get_handle(beiscsi_conn, pasync_ctx, in beiscsi_hdq_process_compl()
1803 if (pasync_handle) in beiscsi_hdq_process_compl()
1804 beiscsi_hdl_gather_pdu(beiscsi_conn, pasync_ctx, pasync_handle); in beiscsi_hdq_process_compl()