Lines Matching refs:req
45 * @req: VFDI incoming request work item. Incoming USR_EV events are received
90 struct work_struct req;
241 struct efx_memcpy_req *req,
262 req->to_rid);
264 req->to_addr);
265 if (req->from_buf == NULL) {
266 from_rid = req->from_rid;
267 from_addr = req->from_addr;
269 if (WARN_ON(used + req->length >
277 memcpy(_MCDI_PTR(inbuf, used), req->from_buf,
278 req->length);
279 used += req->length;
286 req->length);
288 ++req;
532 struct vfdi_req *req = vf->buf.addr;
533 unsigned vf_evq = req->u.init_evq.index;
534 unsigned buf_count = req->u.init_evq.buf_count;
548 efx_siena_sriov_bufs(efx, buftbl, req->u.init_evq.addr, buf_count);
562 memcpy(vf->evq0_addrs, req->u.init_evq.addr,
573 struct vfdi_req *req = vf->buf.addr;
574 unsigned vf_rxq = req->u.init_rxq.index;
575 unsigned vf_evq = req->u.init_rxq.evq;
576 unsigned buf_count = req->u.init_rxq.buf_count;
591 if (__test_and_set_bit(req->u.init_rxq.index, vf->rxq_mask))
593 efx_siena_sriov_bufs(efx, buftbl, req->u.init_rxq.addr, buf_count);
595 label = req->u.init_rxq.label & EFX_FIELD_MASK(FRF_AZ_RX_DESCQ_LABEL);
602 !!(req->u.init_rxq.flags &
614 struct vfdi_req *req = vf->buf.addr;
615 unsigned vf_txq = req->u.init_txq.index;
616 unsigned vf_evq = req->u.init_txq.evq;
617 unsigned buf_count = req->u.init_txq.buf_count;
634 if (__test_and_set_bit(req->u.init_txq.index, vf->txq_mask))
637 efx_siena_sriov_bufs(efx, buftbl, req->u.init_txq.addr, buf_count);
641 label = req->u.init_txq.label & EFX_FIELD_MASK(FRF_AZ_TX_DESCQ_LABEL);
764 struct vfdi_req *req = vf->buf.addr;
765 unsigned vf_rxq = req->u.mac_filter.rxq;
773 req->u.mac_filter.flags);
778 if (req->u.mac_filter.flags & VFDI_MAC_FILTER_FLAG_RSS)
780 if (req->u.mac_filter.flags & VFDI_MAC_FILTER_FLAG_SCATTER)
808 struct vfdi_req *req = vf->buf.addr;
809 u64 page_count = req->u.set_status_page.peer_page_count;
813 / sizeof(req->u.set_status_page.peer_page_addr[0]);
815 if (!req->u.set_status_page.dma_addr || page_count > max_page_count) {
825 vf->status_addr = req->u.set_status_page.dma_addr;
836 req->u.set_status_page.peer_page_addr,
873 struct siena_vf *vf = container_of(work, struct siena_vf, req);
875 struct vfdi_req *req = vf->buf.addr;
897 if (req->op < VFDI_OP_LIMIT && vfdi_ops[req->op] != NULL) {
898 rc = vfdi_ops[req->op](vf);
902 req->op, vf->pci_name);
907 "%llx\n", req->op, vf->pci_name,
917 req->rc = rc;
918 req->op = VFDI_OP_RESPONSE;
921 copy[0].from_buf = &req->rc;
924 copy[0].length = sizeof(req->rc);
925 copy[1].from_buf = &req->op;
928 copy[1].length = sizeof(req->op);
1010 struct siena_vf *vf = container_of(work, struct siena_vf, req);
1212 INIT_WORK(&vf->req, efx_siena_sriov_vfdi);
1387 cancel_work_sync(&vf->req);
1445 queue_work(vfdi_workqueue, &vf->req);