APPLIED: [SRU][PULL][noble:linux-azure-nvidia] Grace CMDQV Support
John Cabaj
john.cabaj at canonical.com
Fri Feb 21 18:46:18 UTC 2025
On 2/6/25 8:56 PM, John Cabaj wrote:
> 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
Applied to noble:linux-azure azure-nvidia branch.
Thanks,
John
More information about the kernel-team
mailing list