From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH 4/4] drm/nouveau: tegra: Use dma_iommu_detach_device() Date: Wed, 25 Apr 2018 11:18:15 +0200 Message-ID: <20180425091815.16264-4-thierry.reding@gmail.com> References: <20180425091815.16264-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180425091815.16264-1-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Christoph Hellwig , Joerg Roedel Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Daniel Vetter , linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: linux-tegra@vger.kernel.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KClVzZSB0aGUgbmV3IGRt YV9pb21tdV9kZXRhY2hfZGV2aWNlKCkgZnVuY3Rpb24gdG8gcmVwbGFjZSB0aGUgb3Blbi1jb2Rl ZAplcXVpdmFsZW50LgoKU2lnbmVkLW9mZi1ieTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZp ZGlhLmNvbT4KLS0tCiAuLi4vZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUvZGV2aWNlL3RlZ3JhLmMg ICAgfCAxOSArKy0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspLCAxNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVh dS9udmttL2VuZ2luZS9kZXZpY2UvdGVncmEuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252 a20vZW5naW5lL2RldmljZS90ZWdyYS5jCmluZGV4IDIzNDI4YTcwNTZlOS4uYzBhN2YzODM5Y2Ji IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL2VuZ2luZS9kZXZpY2Uv dGVncmEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL2VuZ2luZS9kZXZpY2Uv dGVncmEuYwpAQCAtMjAsMTAgKzIwLDYgQEAKICAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4K ICAqLwogCi0jaWYgSVNfRU5BQkxFRChDT05GSUdfQVJNX0RNQV9VU0VfSU9NTVUpCi0jaW5jbHVk ZSA8YXNtL2RtYS1pb21tdS5oPgotI2VuZGlmCi0KICNpbmNsdWRlIDxjb3JlL3RlZ3JhLmg+CiAj aWZkZWYgQ09ORklHX05PVVZFQVVfUExBVEZPUk1fRFJJVkVSCiAjaW5jbHVkZSAicHJpdi5oIgpA QCAtMTEwLDE5ICsxMDYsOCBAQCBudmttX2RldmljZV90ZWdyYV9wcm9iZV9pb21tdShzdHJ1Y3Qg bnZrbV9kZXZpY2VfdGVncmEgKnRkZXYpCiAJdW5zaWduZWQgbG9uZyBwZ3NpemVfYml0bWFwOwog CWludCByZXQ7CiAKLSNpZiBJU19FTkFCTEVEKENPTkZJR19BUk1fRE1BX1VTRV9JT01NVSkKLQlp ZiAoZGV2LT5hcmNoZGF0YS5tYXBwaW5nKSB7Ci0JCXN0cnVjdCBkbWFfaW9tbXVfbWFwcGluZyAq bWFwcGluZyA9IHRvX2RtYV9pb21tdV9tYXBwaW5nKGRldik7Ci0KLQkJYXJtX2lvbW11X3JlbGVh c2VfbWFwcGluZyhtYXBwaW5nKTsKLQkJYXJtX2lvbW11X2RldGFjaF9kZXZpY2UoZGV2KTsKLQot CQlpZiAoZGV2LT5hcmNoZGF0YS5kbWFfY29oZXJlbnQpCi0JCQlzZXRfZG1hX29wcyhkZXYsICZh cm1fY29oZXJlbnRfZG1hX29wcyk7Ci0JCWVsc2UKLQkJCXNldF9kbWFfb3BzKGRldiwgJmFybV9k bWFfb3BzKTsKLQl9Ci0jZW5kaWYKKwkvKiBtYWtlIHN1cmUgd2UgY2FuIHVzZSB0aGUgSU9NTVUg ZXhjbHVzaXZlbHkgKi8KKwlkbWFfaW9tbXVfZGV0YWNoX2RldmljZShkZXYpOwogCiAJaWYgKCF0 ZGV2LT5mdW5jLT5pb21tdV9iaXQpCiAJCXJldHVybjsKLS0gCjIuMTcuMAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91dmVhdSBtYWlsaW5nIGxpc3QK Tm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: thierry.reding@gmail.com (Thierry Reding) Date: Wed, 25 Apr 2018 11:18:15 +0200 Subject: [PATCH 4/4] drm/nouveau: tegra: Use dma_iommu_detach_device() In-Reply-To: <20180425091815.16264-1-thierry.reding@gmail.com> References: <20180425091815.16264-1-thierry.reding@gmail.com> Message-ID: <20180425091815.16264-4-thierry.reding@gmail.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org From: Thierry Reding Use the new dma_iommu_detach_device() function to replace the open-coded equivalent. Signed-off-by: Thierry Reding --- .../drm/nouveau/nvkm/engine/device/tegra.c | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c index 23428a7056e9..c0a7f3839cbb 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c @@ -20,10 +20,6 @@ * DEALINGS IN THE SOFTWARE. */ -#if IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU) -#include -#endif - #include #ifdef CONFIG_NOUVEAU_PLATFORM_DRIVER #include "priv.h" @@ -110,19 +106,8 @@ nvkm_device_tegra_probe_iommu(struct nvkm_device_tegra *tdev) unsigned long pgsize_bitmap; int ret; -#if IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU) - if (dev->archdata.mapping) { - struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev); - - arm_iommu_release_mapping(mapping); - arm_iommu_detach_device(dev); - - if (dev->archdata.dma_coherent) - set_dma_ops(dev, &arm_coherent_dma_ops); - else - set_dma_ops(dev, &arm_dma_ops); - } -#endif + /* make sure we can use the IOMMU exclusively */ + dma_iommu_detach_device(dev); if (!tdev->func->iommu_bit) return; -- 2.17.0