Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/cxgbe/cxgbei/icl_cxgbei.c
Show First 20 Lines • Show All 838 Lines • ▼ Show 20 Lines | no_ddp: | ||||
MPASS((csio->ccb_h.flags & CAM_DATA_MASK) == CAM_DATA_VADDR); | MPASS((csio->ccb_h.flags & CAM_DATA_MASK) == CAM_DATA_VADDR); | ||||
rc = t4_alloc_page_pods_for_buf(pr, (vm_offset_t)csio->data_ptr, | rc = t4_alloc_page_pods_for_buf(pr, (vm_offset_t)csio->data_ptr, | ||||
csio->dxfer_len, prsv); | csio->dxfer_len, prsv); | ||||
if (rc != 0) { | if (rc != 0) { | ||||
uma_zfree(prsv_zone, prsv); | uma_zfree(prsv_zone, prsv); | ||||
goto no_ddp; | goto no_ddp; | ||||
} | } | ||||
rc = t4_write_page_pods_for_buf(sc, &toep->ofld_txq->wrq, toep->tid, | rc = t4_write_page_pods_for_buf(sc, toep, prsv, | ||||
prsv, (vm_offset_t)csio->data_ptr, csio->dxfer_len); | (vm_offset_t)csio->data_ptr, csio->dxfer_len); | ||||
if (rc != 0) { | if (rc != 0) { | ||||
t4_free_page_pods(prsv); | t4_free_page_pods(prsv); | ||||
uma_zfree(prsv_zone, prsv); | uma_zfree(prsv_zone, prsv); | ||||
goto no_ddp; | goto no_ddp; | ||||
} | } | ||||
*ittp = htobe32(prsv->prsv_tag); | *ittp = htobe32(prsv->prsv_tag); | ||||
*arg = prsv; | *arg = prsv; | ||||
▲ Show 20 Lines • Show All 97 Lines • ▼ Show 20 Lines | no_ddp: | ||||
} | } | ||||
rc = t4_alloc_page_pods_for_buf(pr, buf, xferlen, prsv); | rc = t4_alloc_page_pods_for_buf(pr, buf, xferlen, prsv); | ||||
if (rc != 0) { | if (rc != 0) { | ||||
uma_zfree(prsv_zone, prsv); | uma_zfree(prsv_zone, prsv); | ||||
goto no_ddp; | goto no_ddp; | ||||
} | } | ||||
rc = t4_write_page_pods_for_buf(sc, &toep->ofld_txq->wrq, | rc = t4_write_page_pods_for_buf(sc, toep, prsv, buf, xferlen); | ||||
toep->tid, prsv, buf, xferlen); | |||||
if (rc != 0) { | if (rc != 0) { | ||||
t4_free_page_pods(prsv); | t4_free_page_pods(prsv); | ||||
uma_zfree(prsv_zone, prsv); | uma_zfree(prsv_zone, prsv); | ||||
goto no_ddp; | goto no_ddp; | ||||
} | } | ||||
*tttp = htobe32(prsv->prsv_tag); | *tttp = htobe32(prsv->prsv_tag); | ||||
io_to_ppod_reservation(io) = prsv; | io_to_ppod_reservation(io) = prsv; | ||||
▲ Show 20 Lines • Show All 125 Lines • Show Last 20 Lines |