Message ID | 20191028123718.3890217-1-thierry.reding@gmail.com (mailing list archive) |
---|---|
Headers | show
Return-Path: <SRS0=cG0L=YV=lists.freedesktop.org=dri-devel-bounces@kernel.org> 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 3A25E13B1 for <patchwork-dri-devel@patchwork.kernel.org>; Mon, 28 Oct 2019 12:37:26 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2252C214D9 for <patchwork-dri-devel@patchwork.kernel.org>; Mon, 28 Oct 2019 12:37:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2252C214D9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 58FAF6E81E; Mon, 28 Oct 2019 12:37:24 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) by gabe.freedesktop.org (Postfix) with ESMTPS id EF1116E81E for <dri-devel@lists.freedesktop.org>; Mon, 28 Oct 2019 12:37:22 +0000 (UTC) Received: by mail-wr1-x42c.google.com with SMTP id w18so9725261wrt.3 for <dri-devel@lists.freedesktop.org>; Mon, 28 Oct 2019 05:37:22 -0700 (PDT) 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:mime-version :content-transfer-encoding; bh=6jAETuFf+roFoMMRMhX/zKde2GbyLswiJsVFqHMPnLg=; b=qK3LeoL9QYUl7h1hpdcbqCxRIaR6gACi0okCzC2Oni8PC2XxaAmSSu9kMsdQVkcZTY zPZvh57FkVYBcE7suNhsfaLwADyFuoE35O7TVY3+9QmLTtenMgaf9GLCX0ubQlDNN3Ha Sjf8/R1yORK43+QZ3vX+p/dWs+II140iSqP7rsj7g/VsUY7Vvol7EuIJkZNCstNiKwiB 4XFUOwCJUFfFDfXLQ/m96Tn/q6GpbaTE2XoRYFxsFDICKyeSrNAEkgAq+fXrMsx6iLRt LTfMOFABxxYJFHrMTo4KNdIOvVwpNXhLILlZTl4EcG4ow1+oalxqgCUNfNH/9i2FZIiA OOKA== X-Gm-Message-State: APjAAAVwBxAUuMJf04EwZGL1uvafTaevtqsbKdGURSV3HK+x18EQspCg UfPdLjrllBVsiSVvG5BK35y26mrI X-Google-Smtp-Source: APXvYqxx/dmQYEYE/WkvloYY3t2QSmY0mSX+m9bywcAPzviQk1/HzYNjDz3YrI52nTsVJ6wHIi76Dg== X-Received: by 2002:a05:6000:10d:: with SMTP id o13mr14456404wrx.321.1572266241346; Mon, 28 Oct 2019 05:37:21 -0700 (PDT) Received: from localhost (p2E5BE2CE.dip0.t-ipconnect.de. [46.91.226.206]) by smtp.gmail.com with ESMTPSA id c21sm10483174wmb.46.2019.10.28.05.37.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2019 05:37:20 -0700 (PDT) From: Thierry Reding <thierry.reding@gmail.com> To: Thierry Reding <thierry.reding@gmail.com> Subject: [PATCH 00/12] drm/tegra: Support IOMMU-backed DMA API Date: Mon, 28 Oct 2019 13:37:06 +0100 Message-Id: <20191028123718.3890217-1-thierry.reding@gmail.com> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=6jAETuFf+roFoMMRMhX/zKde2GbyLswiJsVFqHMPnLg=; b=U3Lzu5G7veVfI68uRWdSpFeid+7/B4JhM6RnnBxQYyBXEvkP2MS0DPkiBlb9mdczdx fpLkiCziXz2ORSYVpoiCffEQx+SsqBqLEOdKEQ8WesyvLMqKpacj1w5ObH2N0nlYijF1 IPlSvqRubRpi9lcY2l/+vEEzEt3tUjGovmQunBMeprrQTcmhYBXE9ZdQQZ9RuIZEmQIj o7G1YaXv3E3zfwrvyu5iMyjB+oVFjgV0GGDW1nFEr4r/QSgrr0mgBpjUfus5p+3NeNAC l1Jd6wukOQqr58kh0xyCVDKFXu2nbbRdzW0VCfdqEuYBGhXFqG8KQ+pKABzscJdwKjOq y0rw== X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development <dri-devel.lists.freedesktop.org> List-Unsubscribe: <https://lists.freedesktop.org/mailman/options/dri-devel>, <mailto:dri-devel-request@lists.freedesktop.org?subject=unsubscribe> List-Archive: <https://lists.freedesktop.org/archives/dri-devel> List-Post: <mailto:dri-devel@lists.freedesktop.org> List-Help: <mailto:dri-devel-request@lists.freedesktop.org?subject=help> List-Subscribe: <https://lists.freedesktop.org/mailman/listinfo/dri-devel>, <mailto:dri-devel-request@lists.freedesktop.org?subject=subscribe> Cc: linux-tegra@vger.kernel.org, Sachin Nikam <snikam@nvidia.com>, dri-devel@lists.freedesktop.org, Puneet Saxena <puneets@nvidia.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" <dri-devel-bounces@lists.freedesktop.org> |
Series |
drm/tegra: Support IOMMU-backed DMA API
|
expand
|
From: Thierry Reding <treding@nvidia.com> This series is a continuation of the work to move host1x and Tegra DRM towards being able to use the IOMMU-backed DMA API. The first two patches are required to workaround the shortage of IOMMU domains on older Tegra SoC generations. The remainder of the patches is mostly preparatory work to smoothen the transition to the DMA API. With all of these patches applied, it's possible for the drivers to either use the IOMMU API explicitly, or, if already attached to an DMA IOMMU domain, continue to use that existing mapping with the DMA API. These patches apply on top of linux-next and the ->load()/->unload() removal patch from here: https://patchwork.freedesktop.org/patch/337896/ Thierry Thierry Reding (12): memory: tegra: Add gr2d and gr3d to DRM IOMMU group drm/tegra: Simplify IOMMU group selection gpu: host1x: Overhaul host1x_bo_{pin,unpin}() API gpu: host1x: Clean up debugfs on removal gpu: host1x: Add direction flags to relocations gpu: host1x: Allocate gather copy for host1x gpu: host1x: Support DMA mapping of buffers gpu: host1x: Set DMA mask based on IOMMU setup drm/tegra: Remove memory allocation from Falcon library drm/tegra: falcon: Clarify address usage drm/tegra: Support DMA API for display controllers drm/tegra: Optionally attach clients to the IOMMU drivers/gpu/drm/tegra/dc.c | 10 +- drivers/gpu/drm/tegra/drm.c | 82 ++++++++---- drivers/gpu/drm/tegra/drm.h | 4 +- drivers/gpu/drm/tegra/falcon.c | 64 ++------- drivers/gpu/drm/tegra/falcon.h | 16 +-- drivers/gpu/drm/tegra/gem.c | 46 ++++++- drivers/gpu/drm/tegra/gr2d.c | 2 +- drivers/gpu/drm/tegra/gr3d.c | 2 +- drivers/gpu/drm/tegra/hub.c | 6 +- drivers/gpu/drm/tegra/plane.c | 104 +++++++++++++++ drivers/gpu/drm/tegra/plane.h | 8 ++ drivers/gpu/drm/tegra/vic.c | 91 ++++++++----- drivers/gpu/host1x/dev.c | 223 +++++++++++++++++++------------- drivers/gpu/host1x/dev.h | 1 + drivers/gpu/host1x/job.c | 91 +++++++++++-- drivers/gpu/host1x/job.h | 4 + drivers/memory/tegra/tegra114.c | 10 +- drivers/memory/tegra/tegra124.c | 8 +- drivers/memory/tegra/tegra30.c | 11 +- include/linux/host1x.h | 21 ++- 20 files changed, 552 insertions(+), 252 deletions(-)