From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com [209.85.222.172]) (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 30D4F3C3C1F for ; Fri, 13 Mar 2026 16:47:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773420441; cv=none; b=skcooQNz12JUX5K8/ct3jHt3YYycxukxygL9Zgo9k8fAlI1y9fyf5Xd6GEVpQ1ElkxzwnedNmkoKo6pWxmeiI4Uod77yVGGoZiveXkZKoCwb4Ddm3qUkaVeB/NgkWCqzgrOP0xM3ApsebRM2rtJnSFDC0km/2yGfVtoz3N6K5BA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773420441; c=relaxed/simple; bh=PK0TC6Ws+9gPY3Yw3OnZpR+CsABURlUBk9BkuAZYcsQ=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=t3NDdmORevFD9WTg3GKJcWHgu7SeYLy0Q7BpyRnV9YMFJFHr01lxrLB1sldNMU+g+Y7reP9J28XYUHGKJeZvML0Gay3yvYc6v6e509gLW8pN3nCkbAivCURQ5gPAMzs1wpkqmNVANFCj783lfTnPs32nNyOmWS8MqYc6XCCjmRk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca; spf=pass smtp.mailfrom=ziepe.ca; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b=WU++K6a7; arc=none smtp.client-ip=209.85.222.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ziepe.ca Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b="WU++K6a7" Received: by mail-qk1-f172.google.com with SMTP id af79cd13be357-8cd759f502dso236841085a.3 for ; Fri, 13 Mar 2026 09:47:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1773420439; x=1774025239; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=avZ4grXviKCmzlaXI2c5ulxCKd8sv6dyVglvXzo2HNM=; b=WU++K6a7jmdx7awOgOHUNiBD2v9HHs2ZQ3z5iAaAA6gXv6C+de+jiXvMLyLeHAjfHu t7Q0jMRbob/YBiq86oHDccV950lGdSJq205ypwFtGNauEgWnzwsr6H+4Hush5T6GTbKZ /flc8drX5KyK5SJSzSgw6tzajhZW0pK8C8nqfFEHGiMAYS4eBR921Iv+hwqVqOrRrzqH cJ1aWLkoidaM5mSL0HK0zCUlAMN7ezp6syFp8EfiOUQRfscUYpXF3wYTT5avhUnFPzc6 HTNO4G9wDKETT0M987514YSB5HUgCqz2Dzlw0sviBk98xJmST4C7UFgYG33hhhvsbfRH a5PA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773420439; x=1774025239; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=avZ4grXviKCmzlaXI2c5ulxCKd8sv6dyVglvXzo2HNM=; b=W2r86PC+2dy5m24Eh7B4vDl2t9AcH+SYsY7i6BoSoga23Zc+qPf3Y3DCrwSu1LggEQ M2Pksr05agn7R/umL1tyBMCLxlsGdu7fiQngQiCa82Dn4l0cDar2Am6xOG5iGL7nwzSx yCy+U4IhkztEOnvM+L3l+uLTUfhd10k9noZqftXQRV252B5K4OLjxR6+VZ5BahDKaCLw XZMFgvT18jpkvJGSdexIwWUwbSAlYS3ds3dYS13x8AKeHXtzHmSpfYKkCZ0v9nQPoTTS /Qc7t+xRU7kdzdintbMbrHK+tTKxObC0CHjurKCLKN/V0rgLBmgmJ5Li8+GJe8vfLAhV 7Eaw== X-Forwarded-Encrypted: i=1; AJvYcCWKsWlhdu9QhhBfQ9X8wW7FNsWhOgGLGNEKkRxXloucOI0Z9EFVmzhizu/2SbClkIE05oRgdjvLfwhOd9E=@vger.kernel.org X-Gm-Message-State: AOJu0YwcmiELaRW/1HHvAfCJs2Jx5puakN41WtOhrbs7MuAoLcAO++bU qsVNRqV+g9RMFsXLHOZGyEsaXWJFaphCSZvOmfwORenErYCJWK9MzLbDPyn0nAZzMPI= X-Gm-Gg: ATEYQzxXi/quiRP6g3GRT518FqhKXdqAxS6BIOdP/ytTv1RGdkOdPLMr8aEt5TT7lj6 lnbI38I8ag6qCuoGH96w9kotugcfchILRTKv7j22Sg7QimdaobCwImHUT2o6UyAdXt6VjEy0IZE EFA5Mpfs0ILmlwelgrsbtBNzjT4BQi/ksYUR1wNRkZ4Kn7IF96C1/rE70klPodCvGLrMJHtm7MB kY0vPvkW6dPwwFDUObIkuZMO3n+qSuKtq6/GimAa8nyxHBjRdImwl/t17wRDaHK/5vapHc989Jg DmF1t6DG3M3mEchnOzRypqFxKtOD8PHSNCg1yEZ+cb5mx5EiAJ13JGseqXRE9IN1CwbrpttJWF9 VqQwICaZ7H4SnqEnMD+Muzo/DLVmtkCraXAdg4yr1lTh1HtfnI+QTFnzrg4QMw4ryCkwIPSfMOx ot2MmbzWVzq2dMrgIlIYKx60K//a1s8SWcvgyHN4vtjhJ+tVMaRopjW1T6VCGMVbZep1PwsDX1c r2yJ6BicWH+VSc85MY= X-Received: by 2002:a05:620a:28c7:b0:8cd:9365:f277 with SMTP id af79cd13be357-8cdb5b7b470mr540160785a.62.1773420439206; Fri, 13 Mar 2026 09:47:19 -0700 (PDT) Received: from ziepe.ca (hlfxns017vw-142-162-112-119.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.162.112.119]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8cda1fc2725sm612437385a.8.2026.03.13.09.47.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Mar 2026 09:47:18 -0700 (PDT) Received: from jgg by wakko with local (Exim 4.97) (envelope-from ) id 1w15fR-00000007JWe-3ytz; Fri, 13 Mar 2026 13:47:17 -0300 Date: Fri, 13 Mar 2026 13:47:17 -0300 From: Jason Gunthorpe To: Shameer Kolothum Cc: iommu@lists.linux.dev, linux-kernel@vger.kernel.org, joro@8bytes.org, will@kernel.org, robin.murphy@arm.com, baolu.lu@linux.intel.com, kevin.tian@intel.com, nicolinc@nvidia.com, nathanc@nvidia.com, mochs@nvidia.com, kjaju@nvidia.com Subject: Re: [PATCH 1/2] iommu: Add device ATS not supported capability Message-ID: <20260313164717.GE1704121@ziepe.ca> References: <20260303150348.233997-1-skolothumtho@nvidia.com> <20260303150348.233997-2-skolothumtho@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260303150348.233997-2-skolothumtho@nvidia.com> On Tue, Mar 03, 2026 at 03:03:47PM +0000, Shameer Kolothum wrote: > PCIe ATS may be disabled by platform firmware, root complex limitations, > or kernel policy even when a device advertises the ATS capability in its > PCI configuration space. > > Add a new IOMMU_CAP_PCI_ATS_NOT_SUPPORTED capability to allow IOMMU > drivers to report the effective ATS decision for a device. > > When this capability is returned true for a device, ATS is not > supported and not used for that device, regardless of the presence > of the PCI ATS capability. > > A subsequent patch will extend iommufd to expose the effective ATS > status to userspace. > > Suggested-by: Jason Gunthorpe > Signed-off-by: Shameer Kolothum > --- > include/linux/iommu.h | 2 ++ > drivers/iommu/amd/iommu.c | 6 ++++++ > drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 3 +++ > drivers/iommu/intel/iommu.c | 2 ++ > 4 files changed, 13 insertions(+) > > diff --git a/include/linux/iommu.h b/include/linux/iommu.h > index 54b8b48c762e..f40ecdc5d761 100644 > --- a/include/linux/iommu.h > +++ b/include/linux/iommu.h > @@ -271,6 +271,8 @@ enum iommu_cap { > */ > IOMMU_CAP_DEFERRED_FLUSH, > IOMMU_CAP_DIRTY_TRACKING, /* IOMMU supports dirty tracking */ > + /* ATS is not supported and not used on this device */ > + IOMMU_CAP_PCI_ATS_NOT_SUPPORTED, I think this one we should invert so it has saner semantics in-kernel and for the drivers. IOMMU_CAP_PCI_ATS_SUPPORTED And then if not implemented it follows the usual cap protocol meaning the iommu driver does nto support ATS. It can be inverted by iommufd for the uapi. Looks OK otherwise Reviewed-by: Jason Gunthorpe Jason