Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp174556imm; Thu, 26 Jul 2018 16:23:59 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcnJJoelU7FRM1gU1Jlrt7QfPD9rn13AJzfJ2LtwDYPW6QOIKtKG3jFWWQBwGbH8nHKAOFE X-Received: by 2002:a62:2459:: with SMTP id r86-v6mr4036563pfj.31.1532647439685; Thu, 26 Jul 2018 16:23:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532647439; cv=none; d=google.com; s=arc-20160816; b=SS0q0spMgSMkJyRoQbJvYYRv7/S2d3ZKolDX/wmEsiAeE/WYpD+gIzKaDyCaMVbDJn shHIKp9hqXX9yOAV+zFheOc5RvHnsfas9EZvrS32PP369GURyNKlkkEuGozFwooX54lF SN8GCMk2hzZVM02Rw62ymbhw55e4pe9MQ77YI6IyksWoh8dFYj2xAoGT+h8Hp9nFbUOp gATzeLgURztB8urBXZQHpv0z/NMblYh6tU3Uv7zyDJ2iVoLeOY7htkdReG60ValeEd1j tmKprGaWQ2o6ry0TU19/QeeLYHDLWcOa2v9YItpHshHPhvtAjlRhMi4cPDv6emxJx4Fn 6IOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=ZdYIEyrIZl741x3N+P1wcgc/lwAS+OM52HOIIYQ4X64=; b=WCSxNHy7e+n4zKyGyHaMNEabM09D+5flxTMdK/De99kqGS0MY/9BQ89OO7Jnqtnd6k hSkpsaN3OM2pg1IBsHn04AU3sj2j+LM8hPyp6k+H2Ky7HYcnPwDcTsCWWh/mkA6K/3vS AmETQbB73+CXTkF1uF5BdV7uYuKFjSxgGkLe1RR2ku0I9rHJuKDoPuw91WHQt6pMuqux gOzHo3sxXh1rC6vozCpbq2sKYFMw25QYowKDPUWkaUGErjueZG2Os+GsekH2ssCop0Qz YVSR5+f+8aYpzpk0XVW9emVOuVNWGyb2Z/EkAX4Q3tIgKYDFESDQWPA0tddzov7gPhcn GbZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=KHXVgNzk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l9-v6si2579047pfc.121.2018.07.26.16.23.42; Thu, 26 Jul 2018 16:23:59 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=KHXVgNzk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731993AbeG0Alc (ORCPT + 99 others); Thu, 26 Jul 2018 20:41:32 -0400 Received: from mail-lf1-f66.google.com ([209.85.167.66]:40448 "EHLO mail-lf1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730610AbeG0Alc (ORCPT ); Thu, 26 Jul 2018 20:41:32 -0400 Received: by mail-lf1-f66.google.com with SMTP id y200-v6so2318663lfd.7; Thu, 26 Jul 2018 16:22:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=ZdYIEyrIZl741x3N+P1wcgc/lwAS+OM52HOIIYQ4X64=; b=KHXVgNzkcZc4EjrAr1NUOrKPZDWt/2siLqQvaRG+siZJvV7qe8gIR/IRJhYSSnMDCf H/4vZreS476ERWutYoa4/8NH0dQk7bUb9OPDy/pKwZAFlyC/PaRSA5Tnf0gPbpuTnUpJ 2KSbB0Zf8Uxpsnpc17TQhNh3pyWFxlJbWmE5fEbaZJKAD0ODhnuoYnnX2+x++BnvuLFx f84c3l5cGHXeuakfroRKMOhbPUIqLU+GxrybntPQ2rNtGeXnuSc1+QlUzVosux8UWPGF 9xkW9wS9XrHuc/5YUOFiXiraGIaRQ9G7+3QdXLk/bRkLNaaFy0TZHrN19fzIhV9IoQ+R LPgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=ZdYIEyrIZl741x3N+P1wcgc/lwAS+OM52HOIIYQ4X64=; b=fyaLOdDZRM34DIXYjPgBWH3zB1OwUdMioFBaBH+EG4/2W12R0v6Mwej2bnLybJp79r w0QjQfMd3tnWrN/PMsJRP8T9SFAf453Ka3JbKOD2SuUQOo0NUSNbrBC1fCw2DQ9c+5/e VlfNoOVqbK1WeDAgsElmKPIGVUmtsgup5oqpb0BuJ3YFsgSmunrk/1YW/h1BNTNlvUVc jz/ZQAcWOpOrJOKV05eKEt1sh6uM5GMG5YatxaBF1nrJciMn6WEEorFa2crhZlII0KrB Zw0TuSBmVYDHCV5ORF50uc4X2R+jLNFxRj+DoEMRR4oZEz2eeyG3w8bwqmrHF5K888cY 67kQ== X-Gm-Message-State: AOUpUlHIO36X6I/FOnRn/HgULAN5p3Whzm89v6zc8XLhcNA3hFdYuz5T OT5142NAn6p3BI8afofru90= X-Received: by 2002:a19:1888:: with SMTP id 8-v6mr2399027lfy.121.1532647349859; Thu, 26 Jul 2018 16:22:29 -0700 (PDT) Received: from localhost.localdomain (109-252-90-13.nat.spd-mgts.ru. [109.252.90.13]) by smtp.gmail.com with ESMTPSA id q15-v6sm411541ljg.62.2018.07.26.16.22.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 16:22:29 -0700 (PDT) From: Dmitry Osipenko To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Thierry Reding , Jonathan Hunter , Mikko Perttunen , Rob Herring , Frank Rowand , Ben Skeggs , Russell King , Catalin Marinas , Will Deacon , Joerg Roedel , Nicolas Chauvet Cc: devicetree@vger.kernel.org, nouveau@lists.freedesktop.org, iommu@lists.linux-foundation.org, dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH v1 0/6] Resolve unwanted DMA backing with IOMMU Date: Fri, 27 Jul 2018 02:16:18 +0300 Message-Id: <20180726231624.21084-1-digetx@gmail.com> X-Mailer: git-send-email 2.18.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, There is a trouble on ARM with DMA allocations made by device drivers, the trouble is that DMA allocations are getting implicitly backed with IOMMU mapping by the driver core if IOMMU presents in a system and IOMMU could handle device. This is an undesired behaviour for drivers that manage IOMMU by themselves, like NVIDIA Tegra GPU driver. On arm32 the implicit backing happens if CONFIG_ARM_DMA_USE_IOMMU=y (multiplatform kernel configuration), on arm64 it happens if IOMMU domain type for a device is equal to IOMMU_DOMAIN_DMA. The proposed solution adds a new option to the base device driver structure that allows device drivers to explicitly convey to the drivers core that the implicit IOMMU backing for devices must not happen. Dmitry Osipenko (6): driver core: Add option for disabling of backing devices DMA with IOMMU of/device: Don't back devices DMA with IOMMU if that's undesired by driver drm/tegra: Avoid implicit DMA backing with IOMMU gpu: host1x: Avoid implicit DMA backing with IOMMU drm/nouveau: tegra: Universally avoid implicit DMA backing with IOMMU Revert "drm/nouveau: tegra: Detach from ARM DMA/IOMMU mapping" drivers/gpu/drm/nouveau/nouveau_platform.c | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c | 13 ------------- drivers/gpu/drm/tegra/dc.c | 1 + drivers/gpu/drm/tegra/gr2d.c | 1 + drivers/gpu/drm/tegra/gr3d.c | 1 + drivers/gpu/drm/tegra/vic.c | 1 + drivers/gpu/host1x/dev.c | 1 + drivers/of/device.c | 7 +++++++ include/linux/device.h | 2 ++ 9 files changed, 15 insertions(+), 13 deletions(-) -- 2.18.0