Lines Matching refs:req
513 struct page_req_dsc *req;
515 req = &iommu->prq[head / sizeof(*req)];
516 if (!req->pasid_present || req->pasid != pasid) {
517 head = (head + sizeof(*req)) & PRQ_RING_MASK;
553 static int prq_to_iommu_prot(struct page_req_dsc *req)
557 if (req->rd_req)
559 if (req->wr_req)
561 if (req->exe_req)
563 if (req->pm_req)
614 struct page_req_dsc *req, int result)
619 iommu->name, ((unsigned long long *)req)[0],
620 ((unsigned long long *)req)[1]);
629 if (!req->lpig && !req->priv_data_present)
632 desc.qw0 = QI_PGRP_PASID(req->pasid) |
633 QI_PGRP_DID(req->rid) |
634 QI_PGRP_PASID_P(req->pasid_present) |
635 QI_PGRP_PDP(req->priv_data_present) |
638 desc.qw1 = QI_PGRP_IDX(req->prg_index) |
639 QI_PGRP_LPIG(req->lpig);
641 if (req->priv_data_present) {
642 desc.qw2 = req->priv_data[0];
643 desc.qw3 = req->priv_data[1];
655 struct page_req_dsc *req;
670 req = &iommu->prq[head / sizeof(*req)];
671 address = (u64)req->addr << VTD_PAGE_SHIFT;
673 if (unlikely(!req->pasid_present)) {
677 handle_bad_prq_event(iommu, req, QI_RESP_INVALID);
687 if (unlikely(req->pm_req && (req->rd_req | req->wr_req))) {
693 if (unlikely(req->exe_req && req->rd_req)) {
700 if (unlikely(req->lpig && !req->rd_req && !req->wr_req))
704 PCI_BUS_NUM(req->rid),
705 req->rid & 0xff);
713 if (intel_svm_prq_report(iommu, &pdev->dev, req))
714 handle_bad_prq_event(iommu, req, QI_RESP_INVALID);
716 trace_prq_report(iommu, &pdev->dev, req->qw_0, req->qw_1,
717 req->priv_data[0], req->priv_data[1],
721 head = (head + sizeof(*req)) & PRQ_RING_MASK;