[SRU][PULL][noble:linux-azure-nvidia] Grace CMDQV Support
John Cabaj
john.cabaj at canonical.com
Fri Feb 7 02:56:00 UTC 2025
BugLink: https://bugs.launchpad.net/bugs/2097573
SRU Justification
[Impact]
* Microsoft requested patches to support virtual command queues via
CMDQV hardware
[Fix]
* 7 clean cherry-picks from upstream
* 5 simple backports from upstream
* 2 patches to enable CONFIG_TEGRA241_CMDQV
[Test Plan]
* Compile tested
* Boot tested
* Will be further tested by Microsoft
[Regression potential]
* Most changes limited to drivers/iommu/arm/arm-smmu-v3/
* One change to generic drivers/iommu/iommu.c code, which required
backport. However, this patch was upstream, and the conflict was trivial
* Choosing to apply an independent patchset to iommu and leaving some
context carries some risk that the patchset is dependent on previous
patches not yet applied. This regression should be largely mitigated as
Microsoft is performing thorough testing on their end.
[Other info]
* SF#00405821
----------------------------------------------------------------
The following changes since commit 7f65875bb8216a735ae674e4593d0d24af29ef3e:
UBUNTU: Ubuntu-azure-nvidia-6.8.0-1009.9 (2025-01-16 09:27:26 -0600)
are available in the Git repository at:
https://git.launchpad.net/~john-cabaj/ubuntu/+source/linux-azure/+git/azure-nvidia
iommo_patches
for you to fetch changes up to a268d8a07e2b9645e2a940ec32a430d35c15e9bf:
UBUNTU: [Config] azure-nvidia: Enabling CONFIG_TEGRA241_CMDQV support
(2025-02-06 20:53:24 -0600)
----------------------------------------------------------------
Jason Gunthorpe (2):
iommu/arm-smmu-v3: Add struct arm_smmu_impl_ops
iommu: Allow IOMMU_RESV_DIRECT to work on ARM
John Cabaj (2):
UBUNTU: SAUCE: iommu: Only allow CONFIG_TEGRA241_CMDQV if
CONFIG_ARM_SMMU_V3
UBUNTU: [Config] azure-nvidia: Enabling CONFIG_TEGRA241_CMDQV support
Nate Watterson (1):
iommu/arm-smmu-v3: Add in-kernel support for NVIDIA Tegra241
(Grace) CMDQV
Nicolin Chen (9):
iommu/arm-smmu-v3: Issue a batch of commands to the same cmdq
iommu/arm-smmu-v3: Pass in cmdq pointer to
arm_smmu_cmdq_build_sync_cmd
iommu/arm-smmu-v3: Pass in cmdq pointer to arm_smmu_cmdq_init
iommu/arm-smmu-v3: Make symbols public for CONFIG_TEGRA241_CMDQV
iommu/arm-smmu-v3: Add ARM_SMMU_OPT_TEGRA241_CMDQV
iommu/arm-smmu-v3: Add acpi_smmu_iort_probe_model for impl
iommu/arm-smmu-v3: Start a new batch if new command is not supported
iommu/tegra241-cmdqv: Limit CMDs for VCMDQs of a guest owned VINTF
iommu/tegra241-cmdqv: Read SMMU IDR1.CMDQS instead of hardcoding
MAINTAINERS | 1 +
debian.azure-nvidia/config/annotations | 3 +
drivers/iommu/Kconfig | 13 ++
drivers/iommu/arm/arm-smmu-v3/Makefile | 6 +-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 203
++++++++++++++++++++++++-------
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 40 +++++++
drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c | 893
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/iommu/iommu.c | 21 ++++
8 files changed, 1134 insertions(+), 46 deletions(-)
create mode 100644 drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c
More information about the kernel-team
mailing list