From patchwork Fri May 3 11:10:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Will Deacon X-Patchwork-Id: 13652667 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BE544C4345F for ; Fri, 3 May 2024 11:11:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Subject:Cc:To: From:Date:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=RYlpt3dL0h7Jr88ZlNp/KaqT7Kf0Vvb4PTClXBMLjDE=; b=T2wf6YgGIpM25r GtGdxhNh8YvdCFdNKrR4ii0loNR8cg22VnRh66Rl9+yaGGKhDrQvtYAqvzj2X2GaBpAWdhC7JXvgR VQF4vk5Kv64zY2ByYnrrniNvKuDf2J8WKnK4NzxDbUZoylB6cVxdPs8VqmlIBmglNKSAcFuPASY29 ZqK9HyEISC2TuFPogNoPHAbQ8+0BNoYpCoR4aLXh3MON1vGAuExl0h8cMLSiTA6pRDbvCVrLvZonK vFTRoDmGiixB1bdiuFL6WME21+uxMXbl1aQSm0rhRWQOwv168cqmt4k8y+5hfgx0EZSspIh5EoQr9 cpuibbuZzqRbglAqY85w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s2qoR-0000000GCAX-3J1U; Fri, 03 May 2024 11:10:47 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s2qoO-0000000GC99-1X1y for linux-arm-kernel@lists.infradead.org; Fri, 03 May 2024 11:10:46 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id CB8236111F; Fri, 3 May 2024 11:10:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 34717C116B1; Fri, 3 May 2024 11:10:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1714734642; bh=TXVTCxlS48ESbvsXtvuPdx5g10Ii+VtiVOrBQtcKVr8=; h=Date:From:To:Cc:Subject:From; b=AQWRtLFLE9KIeykwOMK0wCp4VGQdSMGTu04HP8UVd6eoQM+KxcwyBT3mJVPQh+C15 mAzqsTz8xujk53hQJbouYOAtCW+TEuBZ/noY0oo9OkRsyqDucw9MN2cg6AIbPpEt/H DQc0QpH7mer1QtAaOEQ7NYeKedZ9UXJYADzsDpYNkIBkJTW2phUYq4rOXlGffoDJ7P nDI29AynJeb3v0px31ewyrjgzxGihKc4YzIOoaMGUo3r7OtfpJHL0CuaizOHGyf12S ryaj6bzjMR93OwtF3X49rfiREtPLxkywNuHWiiO9GxKl0NyG/Spw1hXkCRyVwVrxzM tf9P8giuZsDTA== Date: Fri, 3 May 2024 12:10:37 +0100 From: Will Deacon To: joro@8bytes.org Cc: iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, robin.murphy@arm.com, kernel-team@android.com Subject: [GIT PULL] iommu/arm-smmu: Updates for 6.10 Message-ID: <20240503111037.GA17940@willie-the-truck> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240503_041044_520254_A609A49C X-CRM114-Status: GOOD ( 15.14 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Joerg, Please can you pull these Arm SMMU updates for 6.10? Similarly to last time, we have quite a lot here mainly thanks to Jason's ongoing rework of the SMMUv3 driver in pursuit of full support for IOMMUFD. Summary in the tag. Cheers, Will --->8 The following changes since commit 39cd87c4eb2b893354f3b850f916353f2658ae6f: Linux 6.9-rc2 (2024-03-31 14:32:39 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git tags/arm-smmu-updates for you to fetch changes up to 56e1a4cc2588a7cb9664457a62fd7a77e005aa01: iommu/arm-smmu-v3: Add unit tests for arm_smmu_write_entry (2024-05-01 15:33:53 +0100) ---------------------------------------------------------------- Arm SMMU updates for 6.10 - SMMUv2: * Support for fault debugging hardware on Qualcomm implementations * Re-land support for the ->domain_alloc_paging() callback - SMMUv3: * Improve handling of MSI allocation failure * Drop support for the "disable_bypass" cmdline option * Major rework of the CD creation code, following on directly from the STE rework merged last time around. * Add unit tests for the new STE/CD manipulation logic ---------------------------------------------------------------- Aleksandr Aprelkov (1): iommu/arm-smmu-v3: Free MSIs in case of ENOMEM Georgi Djakov (5): dt-bindings: iommu: Add Qualcomm TBU iommu/arm-smmu-qcom-debug: Add support for TBUs iommu/arm-smmu: Allow using a threaded handler for context interrupts iommu/arm-smmu-qcom: Use a custom context fault handler for sdm845 iommu/arm-smmu-qcom: Use the custom fault handler on more platforms Jason Gunthorpe (13): iommu/arm-smmu-v3: Do not allow a SVA domain to be set on the wrong PASID iommu/arm-smmu-v3: Do not ATC invalidate the entire domain iommu/arm-smmu-v3: Add a type for the CD entry iommu/arm-smmu: Convert to domain_alloc_paging() iommu/arm-smmu-v3: Add an ops indirection to the STE code iommu/arm-smmu-v3: Make CD programming use arm_smmu_write_entry() iommu/arm-smmu-v3: Move the CD generation for S1 domains into a function iommu/arm-smmu-v3: Consolidate clearing a CD table entry iommu/arm-smmu-v3: Make arm_smmu_alloc_cd_ptr() iommu/arm-smmu-v3: Allocate the CD table entry in advance iommu/arm-smmu-v3: Move the CD generation for SVA into a function iommu/arm-smmu-v3: Build the whole CD in arm_smmu_make_s1_cd() iommu/arm-smmu-v3: Add unit tests for arm_smmu_write_entry Robin Murphy (1): iommu/arm-smmu-v3: Retire disable_bypass parameter Will Deacon (1): iommu/arm-smmu-qcom: Don't build debug features as a kernel module .../devicetree/bindings/iommu/qcom,tbu.yaml | 69 +++ drivers/iommu/Kconfig | 25 +- drivers/iommu/arm/arm-smmu-v3/Makefile | 1 + drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 167 ++++-- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c | 465 +++++++++++++++++ drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 559 +++++++++++---------- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 60 ++- drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c | 496 ++++++++++++++++++ drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 8 + drivers/iommu/arm/arm-smmu/arm-smmu-qcom.h | 2 + drivers/iommu/arm/arm-smmu/arm-smmu.c | 20 +- drivers/iommu/arm/arm-smmu/arm-smmu.h | 3 + 12 files changed, 1530 insertions(+), 345 deletions(-) create mode 100644 Documentation/devicetree/bindings/iommu/qcom,tbu.yaml create mode 100644 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c