From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CEA303793D0 for ; Mon, 25 May 2026 18:43:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.74 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779734635; cv=none; b=Ewaz7A+Vo5dXPvZJJjZsbBtIow9zp2XnLjf1tR9CO7xK77rAzBoECPD7MqxtTjzpOvEZ6IsZ0YBalF+Lqt3Jo3rQcJpkENtyhcQ88lagkShorQKvERfUWeDJ5XzUiDM9lsj0gPm5KRWxTdWKtUO2bqouOXyhCH2kzeAH0KnLvBU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779734635; c=relaxed/simple; bh=4rSy3o0s1t2X0KnAOSHjI7mBWu/hrM5yp05yahxxfi4=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=tdy582oQKHCYUhKIT82mYnOdnuoO6YS0ZXIg3Hw4msO1zHCqN5KaKdBGNs0PkXYAwIg1RFjzIZjfYrikSU6jEAWGUirXlWDhlLrBe8bbmZzne9mJYbyijanfBL7u6Jw0Eb4MA3hIWAk+A2UZ7Rb1pFT2tq1oOgfedElnkztleiY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--praan.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=kL2y/zDJ; arc=none smtp.client-ip=209.85.216.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--praan.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="kL2y/zDJ" Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-367f715cbd0so9690276a91.0 for ; Mon, 25 May 2026 11:43:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1779734633; x=1780339433; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=U//oE56krJ8X0dzRdJlpBkAz8D7rzP/0SvFlnQu6n1U=; b=kL2y/zDJ6ZW2nmn2JEOd7oOVt/ya/6HQJ68z/THwPCNwIxD51nV1o1ojV4aTxJBVdP wFykh8gGhMlBM3z1T4Mnc/Pyh7gYxkKyjzf7jX3RLYHFUcvGz06AZaUZEJ5/23ndK8uI 4ADWxJZeSKvDGlnTct8EotKOm9n+WNHNMFgMA0auN4E2nPgg5F72maakOihLtRN6bXVR X5tIAQlgqw/AnREGYz0jD70u/zTpwFrrRauvQLepi2q/sL5NfWSfJ2PcRGehQ6LevWF+ KNiLc0n+/IZ3isnRXAbSsNWrgOerHH4TFYZk9Yi6FVYJl8rj6qhp3qPfQQ2B4NbMfmEV yiAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779734633; x=1780339433; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=U//oE56krJ8X0dzRdJlpBkAz8D7rzP/0SvFlnQu6n1U=; b=YfdMCq3SoDtdNDe3hI26qnfdDwkYJrfQ9CsluK2vS4X87y0anPCR/iT+VI8CtrEcmc c3kXQ2R8u2WSsCOd8W1TfbY1y+uH1kfshxzga7uczjLZGWghouT2zF9WPSW6PcQAgpnf ImFoR8QeU8w4hh1DOhnm90sTWuuM1GCaJDgCcx6z28tKqEmrkE+JKg+tomZCp/JHFP1S zntBXbKjKHDwdW7vu1AHw9M5hxpBMlntvykFLDqfuKJXQjcFGJ7ZGCWtqWqv9sT4wnUg RJzenXM5TevphcTb80mm8GJ9PPOfdEMwVRB0kSEJ1T3A1GY7FeMWPeg+cfEvb0kuIwSo sqhg== X-Forwarded-Encrypted: i=1; AFNElJ+MEBoxVY8X9WSmC5cY/I6gMT1JkAfIgKHQpg1blRIm9C3q0zNjTYAIMrwrPKgSmK6YrgPo6Q8O9UAovSk=@vger.kernel.org X-Gm-Message-State: AOJu0YzmmKBE2e4nrXj1l6QjNbE5TvnExUJcLpZMh/4/e05TtZiGVZO0 NnG34gDivCnxYX0F8xCDqVwQslLQ+TS467EcOaA18NoI08ST7czCaJH1wM49vaL77z6kGlLEiEQ DVg== X-Received: from pjob1.prod.google.com ([2002:a17:90a:8c81:b0:369:c5f0:e8f6]) (user=praan job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:57c8:b0:36a:f612:e695 with SMTP id 98e67ed59e1d1-36af612e947mr2150738a91.17.1779734632985; Mon, 25 May 2026 11:43:52 -0700 (PDT) Date: Mon, 25 May 2026 18:43:43 +0000 In-Reply-To: <20260525184347.4059549-1-praan@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260525184347.4059549-1-praan@google.com> X-Mailer: git-send-email 2.54.0.746.g67dd491aae-goog Message-ID: <20260525184347.4059549-2-praan@google.com> Subject: [PATCH v4 1/5] PCI/ATS: Ensure pci_ats_supported() is PF-aware for VFs From: Pranjal Shrivastava To: iommu@lists.linux.dev, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Joerg Roedel , Will Deacon , Bjorn Helgaas , David Woodhouse , Lu Baolu , Robin Murphy , Suravee Suthikulpanit , Jason Gunthorpe , Nicolin Chen , David Matlack , Samiullah Khawaja , Daniel Mentz , Pasha Tatashin , Mostafa Saleh , Pranjal Shrivastava , Jason Gunthorpe Content-Type: text/plain; charset="UTF-8" Update pci_ats_supported() to additionally check the associated PF's status when called on a VF. This ensures that PF-level quirks and untrusted status are correctly propagated to VFs, providing a robust support check that aligns with the kernel's PF-centric ATS configuration model and is immune to the timing of VF-specific fixups. Reviewed-by: Jason Gunthorpe Reviewed-by: Samiullah Khawaja Signed-off-by: Pranjal Shrivastava --- drivers/pci/ats.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/pci/ats.c b/drivers/pci/ats.c index ec6c8dbdc5e9..a5fa7745bce8 100644 --- a/drivers/pci/ats.c +++ b/drivers/pci/ats.c @@ -40,10 +40,13 @@ void pci_ats_init(struct pci_dev *dev) */ bool pci_ats_supported(struct pci_dev *dev) { - if (!dev->ats_cap) + if (!dev->ats_cap || dev->untrusted) return false; - return (dev->untrusted == 0); + if (dev->is_virtfn) + return pci_ats_supported(pci_physfn(dev)); + + return true; } EXPORT_SYMBOL_GPL(pci_ats_supported); -- 2.54.0.746.g67dd491aae-goog