From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753095AbdKTSjT (ORCPT ); Mon, 20 Nov 2017 13:39:19 -0500 Received: from mga07.intel.com ([134.134.136.100]:3676 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752912AbdKTSjR (ORCPT ); Mon, 20 Nov 2017 13:39:17 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,429,1505804400"; d="scan'208";a="151535719" Date: Mon, 20 Nov 2017 10:40:19 -0800 From: Jacob Pan To: "Lukoshkov, Maksim" Cc: "iommu@lists.linux-foundation.org" , LKML , Joerg Roedel , David Woodhouse , Greg Kroah-Hartman , "Wysocki, Rafael J" , Alex Williamson , "Lan, Tianyu" , Yi L , "Liu@mail.linuxfoundation.org" , Jean Delvare , jacob.jun.pan@linux.intel.com Subject: Re: [PATCH v3 05/16] iommu/vt-d: support flushing more TLB types Message-ID: <20171120104019.585dec0e@jacob-builder> In-Reply-To: <04788a00-2075-7975-2f13-b9e032688305@intel.com> References: <1510944914-54430-1-git-send-email-jacob.jun.pan@linux.intel.com> <1510944914-54430-6-git-send-email-jacob.jun.pan@linux.intel.com> <04788a00-2075-7975-2f13-b9e032688305@intel.com> Organization: OTC X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 20 Nov 2017 14:20:31 +0000 "Lukoshkov, Maksim" wrote: > 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)? > good catch! thank you. > > + > > + qi_submit_sync(&desc, iommu); > > +} > > + > > Regards, > Maksim Lukoshkov [Jacob Pan]