Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp174562imm; Thu, 26 Jul 2018 16:24:00 -0700 (PDT) X-Google-Smtp-Source: AAOMgpedJbn66MdHMLv5IQaQNdDUs6tb59udYTBBlXyYBs3L/0uRLL7w3l16kblarts6Bpz8PSmd X-Received: by 2002:a17:902:8506:: with SMTP id bj6-v6mr3672223plb.210.1532647440458; Thu, 26 Jul 2018 16:24:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532647440; cv=none; d=google.com; s=arc-20160816; b=OhOjZ1GDJseQOyNTgci6MG6v2Dbi1GO+ezDcQVJFMqF7GiQcZ7dlu6YHhZXLXJB05+ uf7DCfST8w/kY265UAKn5spXqFg7MUbLETkC1FN97UwgzMEt+u/Vk4vZCuyjptURFX5c 5iYmF0R2CRlzNPNtX87gPbw7bWat3U7OeNxCF/Tod8KPVYDhk0j+w0wBuo9mV7+SZqGX hy4+VdRi4sj2pBn3RdjpcgOSUZCK31KEpA/GxYqLXIrZ5/Q3sLZvZGvJfN8PbQW06SIb zH+uEKeY5kGIpmyKJKVqWOylo09ikTwx5ckB9Ua6UNSSECt+4Lb6dnxtY/6rc+R24mfI Z2dQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=ZzKlBfHITiaIhtCR4V6lsjIteXVyc3M0dFCxH8acLzM=; b=dEM2mceXjb/NaAV2rsiNQlAOY3y6QGaPORG9hppb8nkQxXAQZyGPUCNJVJoLjyJg4O B5e32RAWQ7LBycXuFNIlPXkElCtgWS1TD/Ga8w7wmvGN3c1h8i7h5Wx29nw/f4e0TCSd +E99QvGaOaKvJC7D8kdtHBGA6wiFDIhEisj1R0Scl6CXu93vm/Dl++nPSH1Z0CUB07Rw ZOjPFBfV9OaZlS3E4RVWSz2wzJE/NVljFKi82O1MVLHamESiDAkdQqiYi0Ty8oKPCcl6 mkpegcl5pgVuF/eYreg1gY9qmyI2e+IZyhNV1dH+9sTTuRUYTKg+73ztovIz5Helv0Of XxXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=rJUURC4h; 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 f2-v6si2278490pgh.661.2018.07.26.16.23.42; Thu, 26 Jul 2018 16:24:00 -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=rJUURC4h; 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 S1732028AbeG0Ale (ORCPT + 99 others); Thu, 26 Jul 2018 20:41:34 -0400 Received: from mail-lf1-f66.google.com ([209.85.167.66]:39170 "EHLO mail-lf1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731405AbeG0Ale (ORCPT ); Thu, 26 Jul 2018 20:41:34 -0400 Received: by mail-lf1-f66.google.com with SMTP id a134-v6so2326185lfe.6; Thu, 26 Jul 2018 16:22:31 -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:in-reply-to:references; bh=ZzKlBfHITiaIhtCR4V6lsjIteXVyc3M0dFCxH8acLzM=; b=rJUURC4hkzW59G8AUeIUnlBuqHcvcQ/fW1kUdWAkyEolNZPSAHHNF+L4+srdRZnFoL srUW6yntwqiB2NGJLZXMs1BKV7tpEMPvXNVmRhrkSXAxWib6WjSJoCyVkOELl6UVXHJ2 OBjJkRV6vbgWggppqdGdUTqUi8EzugqSUGQof5qvLC4D6vsQHmkFHmq4K6Uq2R8GVxsD I4cAm2hEMmBMQx4UiuPIXl0lte+yzVBjpPMcn7R5IP8LrE68B4nyfwyScWGXZxphjPGs ZD09HGdo/FoTweYTHhYhY/6u0jatxt67EfD+5MZG8G9oyrWstkIROqoIdsLLB0OM6l0C 3ijw== 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:in-reply-to :references; bh=ZzKlBfHITiaIhtCR4V6lsjIteXVyc3M0dFCxH8acLzM=; b=bsaxmQ6Y8zb1FHflWRMUprwWGyuH6yVKk4eX3CIm8R8ppTEyUqgV2HA7E2qPVGFwey /txTkX8swD71DAhYHxkZ1R3QaVQIXfYvHt61uWsoC3F5NuEmfZ8NKShKyng26T6wlUDX zEf2TZy9UuGe4dnOtxfLgEoRHRaVW4iPGAYr7ZRJ1dLzxGKnQSlGAanVGPCHSQbgCm6p w+2zC5+5UKAkqPVjLjRVzG6mHAZZ/TciwCIdtLrkfmrFRjOlXnov783LRe+GJjjuw1NT pJsP2vECApq9ALAr1WnEtXht38QNjKcsjsVSCV4Y23dYjZybzY2P6FYpbh3O37wGjMGV WZ7g== X-Gm-Message-State: AOUpUlHPTdI0lLu5X3pjBUB97oxwdx1ZJDwDJRqjqYAnKH+jA8zn18o2 MIwSZJA9U5FUTKKU5lKMq1E= X-Received: by 2002:a19:9646:: with SMTP id y67-v6mr2420505lfd.130.1532647351075; Thu, 26 Jul 2018 16:22:31 -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.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 16:22:30 -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 1/6] driver core: Add option for disabling of backing devices DMA with IOMMU Date: Fri, 27 Jul 2018 02:16:19 +0300 Message-Id: <20180726231624.21084-2-digetx@gmail.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180726231624.21084-1-digetx@gmail.com> References: <20180726231624.21084-1-digetx@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This allows device drivers to convey the drivers core that implicit IOMMU backing for devices DMA shouldn't happen. It is needed for drivers that manage IOMMU by themselves, like for example it is needed by the NVIDIA Tegra GPU driver. Signed-off-by: Dmitry Osipenko --- include/linux/device.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/device.h b/include/linux/device.h index ad43a97b50c8..f9e3c1d42abd 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -244,6 +244,7 @@ enum probe_type { * @bus: The bus which the device of this driver belongs to. * @owner: The module owner. * @mod_name: Used for built-in modules. + * @no_implicit_iommu: Disables backing DMA allocations with IOMMU mapping. * @suppress_bind_attrs: Disables bind/unbind via sysfs. * @probe_type: Type of the probe (synchronous or asynchronous) to use. * @of_match_table: The open firmware table. @@ -281,6 +282,7 @@ struct device_driver { struct module *owner; const char *mod_name; /* used for built-in modules */ + bool no_implicit_iommu; /* disables implicit IOMMU for DMA */ bool suppress_bind_attrs; /* disables bind/unbind via sysfs */ enum probe_type probe_type; -- 2.18.0