From patchwork Fri Feb 28 15:08:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joerg Roedel X-Patchwork-Id: 11412449 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3196B138D for ; Fri, 28 Feb 2020 15:08:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1820F246AF for ; Fri, 28 Feb 2020 15:08:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726979AbgB1PIa (ORCPT ); Fri, 28 Feb 2020 10:08:30 -0500 Received: from 8bytes.org ([81.169.241.247]:56004 "EHLO theia.8bytes.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726796AbgB1PIa (ORCPT ); Fri, 28 Feb 2020 10:08:30 -0500 Received: by theia.8bytes.org (Postfix, from userid 1000) id 8E595431; Fri, 28 Feb 2020 16:08:28 +0100 (CET) From: Joerg Roedel To: iommu@lists.linux-foundation.org Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mediatek@lists.infradead.org, virtualization@lists.linux-foundation.org, Lorenzo Pieralisi , Hanjun Guo , Sudeep Holla , Rob Clark , Sean Paul , Will Deacon , Robin Murphy , Joerg Roedel , Matthias Brugger , Thierry Reding , Jean-Philippe Brucker , Andy Gross , Bjorn Andersson Subject: [PATCH 00/14] iommu: Move iommu_fwspec out of 'struct device' Date: Fri, 28 Feb 2020 16:08:06 +0100 Message-Id: <20200228150820.15340-1-joro@8bytes.org> X-Mailer: git-send-email 2.17.1 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Hi, here is a patch-set to rename iommu_param to dev_iommu and establish it as a struct for generic per-device iommu-data. Also move the iommu_fwspec pointer from struct device into dev_iommu to have less iommu-related pointers in struct device. The bigger part of this patch-set moves the iommu_priv pointer from struct iommu_fwspec to dev_iommu, making is usable for iommu-drivers which do not use fwspecs. The changes for that were mostly straightforward, except for the arm-smmu (_not_ arm-smmu-v3) and the qcom iommu driver. Unfortunatly I don't have the hardware for those, so any testing of these drivers is greatly appreciated. I boot-tested these changes on arm-smmu-v3 enabled KVM VM. Please review. Regards, Joerg Joerg Roedel (14): ACPI/IORT: Remove direct access of dev->iommu_fwspec drm/msm/mdp5: Remove direct access of dev->iommu_fwspec iommu/tegra-gart: Remove direct access of dev->iommu_fwspec iommu/arm-smmu: Fix uninitilized variable warning iommu: Rename struct iommu_param to dev_iommu iommu: Move iommu_fwspec to struct dev_iommu iommu: Introduce accessors for iommu private data iommu/arm-smmu-v3: Use accessor functions for iommu private data iommu/arm-smmu: Use accessor functions for iommu private data iommu/renesas: Use accessor functions for iommu private data iommu/mediatek: Use accessor functions for iommu private data iommu/qcom: Use accessor functions for iommu private data iommu/virtio: Use accessor functions for iommu private data iommu: Move fwspec->iommu_priv to struct dev_iommu drivers/acpi/arm64/iort.c | 3 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 2 +- drivers/iommu/arm-smmu-v3.c | 10 ++-- drivers/iommu/arm-smmu.c | 58 +++++++++++----------- drivers/iommu/iommu.c | 31 ++++++------ drivers/iommu/ipmmu-vmsa.c | 7 +-- drivers/iommu/mtk_iommu.c | 13 +++-- drivers/iommu/mtk_iommu_v1.c | 14 +++--- drivers/iommu/qcom_iommu.c | 61 ++++++++++++++---------- drivers/iommu/tegra-gart.c | 2 +- drivers/iommu/virtio-iommu.c | 11 ++--- include/linux/device.h | 7 ++- include/linux/iommu.h | 29 ++++++++--- 13 files changed, 137 insertions(+), 111 deletions(-) Tested-by: Will Deacon # arm-smmu