Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp3131536ybt; Mon, 22 Jun 2020 16:05:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwbOmxHxNbtBrSn85BPI53W1UZNXu1+RsT3AecAWWFeQfONhUTJYHLvICDc5NrO8aC/K9Qm X-Received: by 2002:a17:906:694d:: with SMTP id c13mr11871736ejs.337.1592867113710; Mon, 22 Jun 2020 16:05:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592867113; cv=none; d=google.com; s=arc-20160816; b=kjZvd+KU/oOFfylHnLC0vnSrMpzwIdUPkA0PPlI8mq+OgbdOjvWlBgTepnBqHoBBAS aX+TyCwdyiWBDI0yiDZNVhYZn66MP6vHOWnamD+F3tZF9zPES8dI9pi7KlmSjAK9H9xw SxBmIX7C7nl8f+aIMgdUZ8w+NKxlEkIAKWLJO7PAvBaPJiU4yKimEI1R6+VN09t1t01w uaDpSjcYnXg0SD//pclxHm6L3AGthIKwfJ7PlYUeSlCnoDgsJTtc9TovPTj+DpL7KEPx K68X9UMn6L5LwfVqh/u9hQcAVGP9xfhCloh9iHC+7bDgEleqlMYJVP2/+9SVZ6sTCfmt UNoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=Ecq4FS9wELzuVh2aNsJmKpLPD9PbAHLuJOkUzY8Xxes=; b=Qeei9JJ16ssWiDkeKog/2Wa65JNQtTZwHbGGDpAAZ8RpmRQWNGHnX+ZvQZr8UMf8fN POfid7VM7eY83Bf3zu30mydFyryE3xYEBZ9e2RL+IRxkgBBDQR8dF9O+qVi63Lo5sPrj 85s4FXIwvp+Qh4lWVVGOLOubwrq/EY4hYNKkt4U23as4OVZTloE92Z8W6+7SYYhgoBfN 6OBbDZ4Ip1wMGUxL0vFRc5nVEwz2Eda2ej35fM+UjsOuJFz8cwFz1hjEHmUPy/+ib8gC rKDoK9vZzt8+xGttC/nLtlFzlRs896GsDoUjfEqYfmpP6QenBfap/VXh8FiMQg/b/GSq PfHA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=CDLwChJW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b23si11253589edj.441.2020.06.22.16.04.51; Mon, 22 Jun 2020 16:05:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=CDLwChJW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731414AbgFVXCP (ORCPT + 99 others); Mon, 22 Jun 2020 19:02:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52398 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731406AbgFVXCO (ORCPT ); Mon, 22 Jun 2020 19:02:14 -0400 Received: from mail-lf1-x143.google.com (mail-lf1-x143.google.com [IPv6:2a00:1450:4864:20::143]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 57700C061573 for ; Mon, 22 Jun 2020 16:02:13 -0700 (PDT) Received: by mail-lf1-x143.google.com with SMTP id m26so10590975lfo.13 for ; Mon, 22 Jun 2020 16:02:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Ecq4FS9wELzuVh2aNsJmKpLPD9PbAHLuJOkUzY8Xxes=; b=CDLwChJW595HajdiJojE/+eW1r1r4swlZKiMJEBB/xgJUPsRe7eatKhRtaAggFj9bD 7SzxCuD4enZovjYeo6u5UKDTYtZFs1omXlP2i+IVjYWh2nOQGvAi5LMciy5upiypKr7f 6bDx5tB2jaerpTT/GcWq7hUccgf2L0SGDaRwyd7yQUj89bOAQNLhWjsjc5Qjs342fZc/ bIgLxa6HcvwPEPhx8OlcMZ5e1H7GcWzrjte7ozSnnSwPsbx68QHWcfWv8QUnQ60N7/iJ 8KFigh54NcYqABzqIEhNuYZAOZowoa/IpyLCdxifXX1tDDo3gS8+ZXm5JFFXy74iFeV/ v/gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Ecq4FS9wELzuVh2aNsJmKpLPD9PbAHLuJOkUzY8Xxes=; b=tgpWi2bFjBvSTauTdV75orERM8/SroxChqGreGd/DJ3tUWlFlGh63uYJv7YxFr+lRP jRlF11pzqmj2ejS17kotxJ0b31vTn7C/Zbu9uQ56fnPhrOL9vg+o9AVx87YRe4g49ynN fh84qFRQ00UeAt30s+j3MVZoXtMKJyOvaFZlVitizIMnvEY4pAVE08JYBi4/napwNHE7 SWqBrtoVmb3wijd2SkjjW0fNiAYGtp8+J+qvv4RCK9+yBsB7vPrAtQHHiwfeDWnRNEGW jK3AyDbZiKO+a1Yjxlht+xa+pouXt9z9SkmOo0xRZSH5xATHzKqJaozsczrdTnYQFZ/m TzhQ== X-Gm-Message-State: AOAM5323tHzgkihrTl8ebrxe+7hHgPcnOy+2k9yTm+PPISx1f3H2be3h xEreNYDPB/Y5fnbRc33HTJ48T5x1thT47mOENOLBfqL1 X-Received: by 2002:ac2:5467:: with SMTP id e7mr10346942lfn.122.1592866931554; Mon, 22 Jun 2020 16:02:11 -0700 (PDT) MIME-Version: 1.0 References: <20200616011742.138975-1-rajatja@google.com> <20200616011742.138975-3-rajatja@google.com> <20200619161009.GH42799@otc-nc-03> In-Reply-To: <20200619161009.GH42799@otc-nc-03> From: Rajat Jain Date: Mon, 22 Jun 2020 16:01:34 -0700 Message-ID: Subject: Re: [PATCH 3/4] pci: acs: Enable PCI_ACS_TB for untrusted/external-facing devices To: "Raj, Ashok" Cc: David Woodhouse , Lu Baolu , Joerg Roedel , Bjorn Helgaas , "Rafael J. Wysocki" , Len Brown , iommu@lists.linux-foundation.org, Linux Kernel Mailing List , linux-pci , ACPI Devel Maling List , "Krishnakumar, Lalithambika" , Mika Westerberg , Jean-Philippe Brucker , Prashant Malani , Benson Leung , Todd Broch , Alex Levin , Mattias Nissler , Rajat Jain , Bernie Keany , Aaron Durbin , Diego Rivas , Duncan Laurie , Furquan Shaikh , Jesse Barnes , Christian Kellner , Alex Williamson , Greg Kroah-Hartman , "Oliver O'Halloran" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Ashok, On Fri, Jun 19, 2020 at 9:10 AM Raj, Ashok wrote: > > Hi Rajat > > > On Mon, Jun 15, 2020 at 06:17:41PM -0700, Rajat Jain wrote: > > When enabling ACS, currently the bit "translation blocking" was > > not getting changed at all. Set it to disable translation blocking > > Maybe you meant "enable translation blocking" ? Oops, yes. > > Keep the commit log simple: > > When enabling ACS, enable translation blocking for external facing ports > and untrusted devices. Ack. Will change in the next iteration (currently waiting to see if there are any more comments). Thanks & Regards, Rajat > > > too for all external facing or untrusted devices. This is OK > > because ATS is only allowed on internal devces. > > > > Signed-off-by: Rajat Jain > > --- > > drivers/pci/pci.c | 4 ++++ > > drivers/pci/quirks.c | 11 +++++++++++ > > 2 files changed, 15 insertions(+) > > > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > > index d2ff987585855..79853b52658a2 100644 > > --- a/drivers/pci/pci.c > > +++ b/drivers/pci/pci.c > > @@ -3330,6 +3330,10 @@ static void pci_std_enable_acs(struct pci_dev *dev) > > /* Upstream Forwarding */ > > ctrl |= (cap & PCI_ACS_UF); > > > > + if (dev->external_facing || dev->untrusted) > > + /* Translation Blocking */ > > + ctrl |= (cap & PCI_ACS_TB); > > + > > pci_write_config_word(dev, pos + PCI_ACS_CTRL, ctrl); > > } > > > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c > > index b341628e47527..6294adeac4049 100644 > > --- a/drivers/pci/quirks.c > > +++ b/drivers/pci/quirks.c > > @@ -4934,6 +4934,13 @@ static void pci_quirk_enable_intel_rp_mpc_acs(struct pci_dev *dev) > > } > > } > > > > +/* > > + * Currently this quirk does the equivalent of > > + * PCI_ACS_RR | PCI_ACS_CR | PCI_ACS_UF | PCI_ACS_SV > > + * > > + * Currently missing, it also needs to do equivalent of PCI_ACS_TB, > > + * if dev->external_facing || dev->untrusted > > + */ > > static int pci_quirk_enable_intel_pch_acs(struct pci_dev *dev) > > { > > if (!pci_quirk_intel_pch_acs_match(dev)) > > @@ -4973,6 +4980,10 @@ static int pci_quirk_enable_intel_spt_pch_acs(struct pci_dev *dev) > > ctrl |= (cap & PCI_ACS_CR); > > ctrl |= (cap & PCI_ACS_UF); > > > > + if (dev->external_facing || dev->untrusted) > > + /* Translation Blocking */ > > + ctrl |= (cap & PCI_ACS_TB); > > + > > pci_write_config_dword(dev, pos + INTEL_SPT_ACS_CTRL, ctrl); > > > > pci_info(dev, "Intel SPT PCH root port ACS workaround enabled\n"); > > -- > > 2.27.0.290.gba653c62da-goog > >