From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [4/6] powerpc/iommu: Use device_iommu_mapped() From: Joerg Roedel Message-Id: <20181211134343.10664-5-joro@8bytes.org> Date: Tue, 11 Dec 2018 14:43:41 +0100 To: iommu@lists.linux-foundation.org Cc: Russell Currey , Sam Bobroff , oohall@gmail.com, Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Lorenzo Pieralisi , Hanjun Guo , Sudeep Holla , Dan Williams , Vinod Koul , Joerg Roedel , jroedel@suse.de, Mathias Nyman , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, dmaengine@vger.kernel.org, linux-usb@vger.kernel.org List-ID: RnJvbTogSm9lcmcgUm9lZGVsIDxqcm9lZGVsQHN1c2UuZGU+CgpVc2UgdGhlIG5ldyBmdW5jdGlv biB0byByZXBsYWNlIHRoZSBvcGVuLWNvZGVkIGlvbW11IGNoZWNrLgoKQ2M6IEJlbmphbWluIEhl cnJlbnNjaG1pZHQgPGJlbmhAa2VybmVsLmNyYXNoaW5nLm9yZz4KQ2M6IFBhdWwgTWFja2VycmFz IDxwYXVsdXNAc2FtYmEub3JnPgpDYzogUnVzc2VsbCBDdXJyZXkgPHJ1c2N1ckBydXNzZWxsLmNj PgpDYzogU2FtIEJvYnJvZmYgPHNib2Jyb2ZmQGxpbnV4LmlibS5jb20+CkFja2VkLWJ5OiBSb2Jp biBNdXJwaHkgPHJvYmluLm11cnBoeUBhcm0uY29tPgpTaWduZWQtb2ZmLWJ5OiBKb2VyZyBSb2Vk ZWwgPGpyb2VkZWxAc3VzZS5kZT4KLS0tCiBhcmNoL3Bvd2VycGMva2VybmVsL2VlaC5jICAgfCAy ICstCiBhcmNoL3Bvd2VycGMva2VybmVsL2lvbW11LmMgfCA2ICsrKy0tLQogMiBmaWxlcyBjaGFu Z2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9w b3dlcnBjL2tlcm5lbC9lZWguYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvZWVoLmMKaW5kZXggNmNh ZTZiNTZmZmQ2Li4yM2ZlNjJmMTE0ODYgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwv ZWVoLmMKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9lZWguYwpAQCAtMTQ3Miw3ICsxNDcyLDcg QEAgc3RhdGljIGludCBkZXZfaGFzX2lvbW11X3RhYmxlKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9p ZCAqZGF0YSkKIAlpZiAoIWRldikKIAkJcmV0dXJuIDA7CiAKLQlpZiAoZGV2LT5pb21tdV9ncm91 cCkgeworCWlmIChkZXZpY2VfaW9tbXVfbWFwcGVkKGRldikpIHsKIAkJKnBwZGV2ID0gcGRldjsK IAkJcmV0dXJuIDE7CiAJfQpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9pb21tdS5j IGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9pb21tdS5jCmluZGV4IGYwZGM2ODBlNjU5YS4uNDhkNThk MWRjYWMyIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL2lvbW11LmMKKysrIGIvYXJj aC9wb3dlcnBjL2tlcm5lbC9pb21tdS5jCkBAIC0xMDg2LDcgKzEwODYsNyBAQCBpbnQgaW9tbXVf YWRkX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJaWYgKCFkZXZpY2VfaXNfcmVnaXN0ZXJl ZChkZXYpKQogCQlyZXR1cm4gLUVOT0VOVDsKIAotCWlmIChkZXYtPmlvbW11X2dyb3VwKSB7CisJ aWYgKGRldmljZV9pb21tdV9tYXBwZWQoZGV2KSkgewogCQlwcl9kZWJ1ZygiJXM6IFNraXBwaW5n IGRldmljZSAlcyB3aXRoIGlvbW11IGdyb3VwICVkXG4iLAogCQkJIF9fZnVuY19fLCBkZXZfbmFt ZShkZXYpLAogCQkJIGlvbW11X2dyb3VwX2lkKGRldi0+aW9tbXVfZ3JvdXApKTsKQEAgLTExMjks NyArMTEyOSw3IEBAIHZvaWQgaW9tbXVfZGVsX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJ ICogYW5kIHdlIG5lZWRuJ3QgZGV0YWNoIHRoZW0gZnJvbSB0aGUgYXNzb2NpYXRlZAogCSAqIElP TU1VIGdyb3VwcwogCSAqLwotCWlmICghZGV2LT5pb21tdV9ncm91cCkgeworCWlmICghZGV2aWNl X2lvbW11X21hcHBlZChkZXYpKSB7CiAJCXByX2RlYnVnKCJpb21tdV90Y2U6IHNraXBwaW5nIGRl dmljZSAlcyB3aXRoIG5vIHRibFxuIiwKIAkJCSBkZXZfbmFtZShkZXYpKTsKIAkJcmV0dXJuOwpA QCAtMTE0OCw3ICsxMTQ4LDcgQEAgc3RhdGljIGludCB0Y2VfaW9tbXVfYnVzX25vdGlmaWVyKHN0 cnVjdCBub3RpZmllcl9ibG9jayAqbmIsCiAgICAgICAgIGNhc2UgQlVTX05PVElGWV9BRERfREVW SUNFOgogICAgICAgICAgICAgICAgIHJldHVybiBpb21tdV9hZGRfZGV2aWNlKGRldik7CiAgICAg ICAgIGNhc2UgQlVTX05PVElGWV9ERUxfREVWSUNFOgotICAgICAgICAgICAgICAgIGlmIChkZXYt PmlvbW11X2dyb3VwKQorICAgICAgICAgICAgICAgIGlmIChkZXZpY2VfaW9tbXVfbWFwcGVkKGRl dikpCiAgICAgICAgICAgICAgICAgICAgICAgICBpb21tdV9kZWxfZGV2aWNlKGRldik7CiAgICAg ICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIGRlZmF1bHQ6Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joerg Roedel Subject: [PATCH 4/6] powerpc/iommu: Use device_iommu_mapped() Date: Tue, 11 Dec 2018 14:43:41 +0100 Message-ID: <20181211134343.10664-5-joro@8bytes.org> References: <20181211134343.10664-1-joro@8bytes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20181211134343.10664-1-joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Cc: Mathias Nyman , Greg Kroah-Hartman , Sam Bobroff , Benjamin Herrenschmidt , Russell Currey , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Sudeep Holla , linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Vinod Koul , jroedel-l3A5Bk7waGM@public.gmane.org, oohall-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, Michael Ellerman , dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Paul Mackerras , Dan Williams , linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-acpi@vger.kernel.org From: Joerg Roedel Use the new function to replace the open-coded iommu check. Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Russell Currey Cc: Sam Bobroff Acked-by: Robin Murphy Signed-off-by: Joerg Roedel --- arch/powerpc/kernel/eeh.c | 2 +- arch/powerpc/kernel/iommu.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c index 6cae6b56ffd6..23fe62f11486 100644 --- a/arch/powerpc/kernel/eeh.c +++ b/arch/powerpc/kernel/eeh.c @@ -1472,7 +1472,7 @@ static int dev_has_iommu_table(struct device *dev, void *data) if (!dev) return 0; - if (dev->iommu_group) { + if (device_iommu_mapped(dev)) { *ppdev = pdev; return 1; } diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c index f0dc680e659a..48d58d1dcac2 100644 --- a/arch/powerpc/kernel/iommu.c +++ b/arch/powerpc/kernel/iommu.c @@ -1086,7 +1086,7 @@ int iommu_add_device(struct device *dev) if (!device_is_registered(dev)) return -ENOENT; - if (dev->iommu_group) { + if (device_iommu_mapped(dev)) { pr_debug("%s: Skipping device %s with iommu group %d\n", __func__, dev_name(dev), iommu_group_id(dev->iommu_group)); @@ -1129,7 +1129,7 @@ void iommu_del_device(struct device *dev) * and we needn't detach them from the associated * IOMMU groups */ - if (!dev->iommu_group) { + if (!device_iommu_mapped(dev)) { pr_debug("iommu_tce: skipping device %s with no tbl\n", dev_name(dev)); return; @@ -1148,7 +1148,7 @@ static int tce_iommu_bus_notifier(struct notifier_block *nb, case BUS_NOTIFY_ADD_DEVICE: return iommu_add_device(dev); case BUS_NOTIFY_DEL_DEVICE: - if (dev->iommu_group) + if (device_iommu_mapped(dev)) iommu_del_device(dev); return 0; default: -- 2.17.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.9 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5B4EDC07E85 for ; Tue, 11 Dec 2018 13:44:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 283F92081B for ; Tue, 11 Dec 2018 13:44:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 283F92081B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=8bytes.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726680AbeLKNoS (ORCPT ); Tue, 11 Dec 2018 08:44:18 -0500 Received: from 8bytes.org ([81.169.241.247]:53346 "EHLO theia.8bytes.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726559AbeLKNnt (ORCPT ); Tue, 11 Dec 2018 08:43:49 -0500 Received: by theia.8bytes.org (Postfix, from userid 1000) id 1D1BD533; Tue, 11 Dec 2018 14:43:47 +0100 (CET) From: Joerg Roedel To: iommu@lists.linux-foundation.org Cc: Russell Currey , Sam Bobroff , oohall@gmail.com, Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Lorenzo Pieralisi , Hanjun Guo , Sudeep Holla , Dan Williams , Vinod Koul , Joerg Roedel , jroedel@suse.de, Mathias Nyman , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, dmaengine@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH 4/6] powerpc/iommu: Use device_iommu_mapped() Date: Tue, 11 Dec 2018 14:43:41 +0100 Message-Id: <20181211134343.10664-5-joro@8bytes.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181211134343.10664-1-joro@8bytes.org> References: <20181211134343.10664-1-joro@8bytes.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Joerg Roedel Use the new function to replace the open-coded iommu check. Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Russell Currey Cc: Sam Bobroff Acked-by: Robin Murphy Signed-off-by: Joerg Roedel --- arch/powerpc/kernel/eeh.c | 2 +- arch/powerpc/kernel/iommu.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c index 6cae6b56ffd6..23fe62f11486 100644 --- a/arch/powerpc/kernel/eeh.c +++ b/arch/powerpc/kernel/eeh.c @@ -1472,7 +1472,7 @@ static int dev_has_iommu_table(struct device *dev, void *data) if (!dev) return 0; - if (dev->iommu_group) { + if (device_iommu_mapped(dev)) { *ppdev = pdev; return 1; } diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c index f0dc680e659a..48d58d1dcac2 100644 --- a/arch/powerpc/kernel/iommu.c +++ b/arch/powerpc/kernel/iommu.c @@ -1086,7 +1086,7 @@ int iommu_add_device(struct device *dev) if (!device_is_registered(dev)) return -ENOENT; - if (dev->iommu_group) { + if (device_iommu_mapped(dev)) { pr_debug("%s: Skipping device %s with iommu group %d\n", __func__, dev_name(dev), iommu_group_id(dev->iommu_group)); @@ -1129,7 +1129,7 @@ void iommu_del_device(struct device *dev) * and we needn't detach them from the associated * IOMMU groups */ - if (!dev->iommu_group) { + if (!device_iommu_mapped(dev)) { pr_debug("iommu_tce: skipping device %s with no tbl\n", dev_name(dev)); return; @@ -1148,7 +1148,7 @@ static int tce_iommu_bus_notifier(struct notifier_block *nb, case BUS_NOTIFY_ADD_DEVICE: return iommu_add_device(dev); case BUS_NOTIFY_DEL_DEVICE: - if (dev->iommu_group) + if (device_iommu_mapped(dev)) iommu_del_device(dev); return 0; default: -- 2.17.1