[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <04788a00-2075-7975-2f13-b9e032688305@intel.com>
Date: Mon, 20 Nov 2017 14:20:31 +0000
From: "Lukoshkov, Maksim" <maksim.lukoshkov@...el.com>
To: Jacob Pan <jacob.jun.pan@...ux.intel.com>,
"iommu@...ts.linux-foundation.org" <iommu@...ts.linux-foundation.org>,
LKML <linux-kernel@...r.kernel.org>,
Joerg Roedel <joro@...tes.org>,
David Woodhouse <dwmw2@...radead.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Wysocki, Rafael J" <rafael.j.wysocki@...el.com>,
Alex Williamson <alex.williamson@...hat.com>
CC: "Lan, Tianyu" <tianyu.lan@...el.com>,
Yi L <yi.l.liu@...ux.intel.com>,
"Liu@...l.linuxfoundation.org" <Liu@...l.linuxfoundation.org>,
Jean Delvare <khali@...ux-fr.org>
Subject: Re: [PATCH v3 05/16] iommu/vt-d: support flushing more TLB types
On 11/17/2017 18:55, Jacob Pan wrote:
> +void qi_flush_dev_iotlb(struct intel_iommu *iommu, u16 sid, u16 pfsid,
> + u16 qdep, u64 addr, unsigned mask)
> +{
> + struct qi_desc desc;
> +
> + pr_debug_ratelimited("%s: sid %d, pfsid %d, qdep %d, addr %llx, mask %d\n",
> + __func__, sid, pfsid, qdep, addr, mask);
> if (mask) {
> BUG_ON(addr & ((1 << (VTD_PAGE_SHIFT + mask)) - 1));
> addr |= (1ULL << (VTD_PAGE_SHIFT + mask - 1)) - 1;
> @@ -1352,7 +1366,41 @@ void qi_flush_dev_iotlb(struct intel_iommu *iommu, u16 sid, u16 qdep,
> qdep = 0;
>
> desc.low = QI_DEV_IOTLB_SID(sid) | QI_DEV_IOTLB_QDEP(qdep) |
> - QI_DIOTLB_TYPE;
> + QI_DIOTLB_TYPE | QI_DEV_IOTLB_SID(pfsid);
QI_DEV_IOTLB_SID(pfsid) -> QI_DEV_EIOTLB_PFSID(pfsid)?
> +
> + qi_submit_sync(&desc, iommu);
> +}
> +
Regards,
Maksim Lukoshkov
Powered by blists - more mailing lists