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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 5CDD7FCC9AA for ; Tue, 10 Mar 2026 03:20:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AC59D10E1DF; Tue, 10 Mar 2026 03:20:38 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="SBfiqwNi"; dkim-atps=neutral Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by gabe.freedesktop.org (Postfix) with ESMTPS id B837A10E0BC for ; Tue, 10 Mar 2026 03:20:37 +0000 (UTC) Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-3567e2b4159so7083753a91.0 for ; Mon, 09 Mar 2026 20:20:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1773112837; x=1773717637; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=vSXqr7QpO3Zkkd0iv/RdDeMyqizg8C0r/CigYk0bPqI=; b=SBfiqwNiaSIG9n52VlpHXpBeXXCPKGhgJEZtxUjqQ5hXrRVo5eqjz6DzFSIHYMVjbp 202btimSgOZb0qtdw5b5AhnfRYRZoRqulEKpnzfPta2dTpTeDz/PDUwxe0D06dd3V47n gkWeyTWMRIdFnfb2o+8IB2uyf5KiNWqENBWFI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773112837; x=1773717637; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=vSXqr7QpO3Zkkd0iv/RdDeMyqizg8C0r/CigYk0bPqI=; b=mMHyM1/k5NbYrNVpzpXKEGenDJdMIieylyp78Jd1Og7VJZdF6CKxOtlQVTDXbsE8He opSwAiZ4pX+d3XOauxWci6JV+ftye/pkUKTDIidnoxI4nYmyF3aEbBLGRGU7wdDQlfZg ptPyYWmK4BOrWutE8pxNoUh0a7m5n+dcnGXFzQw9g0lBZK6K83wdAmOqrdPgfBVyzJnf CnkfP3WYcgPsmENRley+fRiJDuDAdQYEqNN3HaO1bCgwfH4kthlghVPXEGcGUKuOnQPi 1oEynF4QyjKzPaJ9zR8PenURh5XUqq7myNB6npdvviGhYyeTwnTnVXLXeLLshpkO8cqb Db1Q== X-Forwarded-Encrypted: i=1; AJvYcCVT3WbsmUo9Wy7NNqbKSsXwxceFQHyKNQjTs5lO91v3L/hSIfr4KKvHU4m12/d6DfznF3WE5YR6PN0=@lists.freedesktop.org X-Gm-Message-State: AOJu0YybZWoq45IkQf7JrW/CcoktxODcc+Eo4gtIalUXZhr/fmByvlZd Xu81ri7w+M9bxbRk4Bz42jGrVr/DE6J7S6Ykwe38BfY/KXO9qfo7pFBbQhKqW8pxgg== X-Gm-Gg: ATEYQzwwrOAm7+4L83bxmX/4rCJiGh0jfbGZ25rGdp+GFQAIgaUvRoRp63AyF9HXVIp lNyB1Z6F7ARW1uqeftV0DKvW6NeoAppKu0ev2eYnziGnfieQa2XG/y9ghtrNmWcgUK/Z74brsiv 1SqkBm0NuO8kl1c33IqpSjHDhnos/HOOVUs+h7cpsKgp/XdKadpW21Tul7Y3UXLyUpBZkDpctcr 7YeIxNNoySsS3HyQ2stT9iH1Rz7sXxCUqoU+OZmzry+CEss8TZSlcP14UYfBO5dUPk7H3wcCVQL ayKjJ+HmP+vEh9ZXiCBLSRnynYL6wFx2JZdTrICHv8EC3cz1JZojsjTnVUpXxduK8MIJK3u+CSb SSJscgONJFbOzmBUyo706bF/+G0qx6VIW4dwUvXDa+AjbWKev6h+UTFI8dJ/JgcC/iR+9IbisrH 8h7MEXWygqvpp+eawYSnSUEyxYU2NZEiC2u+WUa7X+WPQzYJwIOJ4z9ap5z2rFdDW2tEQiAnsKA NConOtA X-Received: by 2002:a17:90b:534c:b0:349:7f0a:381b with SMTP id 98e67ed59e1d1-359be298ae2mr13611645a91.8.1773112837116; Mon, 09 Mar 2026 20:20:37 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2a00:79e0:201d:8:ee38:e01e:e888:6900]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-359f06f79absm1154608a91.6.2026.03.09.20.20.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Mar 2026 20:20:36 -0700 (PDT) From: Chen-Yu Tsai To: Matthias Brugger , AngeloGioacchino Del Regno , Chun-Kuang Hu , Philipp Zabel , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Chen-Yu Tsai , Jernej Skrabec , Samuel@freedesktop.org, "Holland , Simona Vetter Cc: Chen-Yu Tsai , linux-sunxi@lists.linux.dev, Paul Kocialkowski , linux-mediatek@lists.infradead.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/4] drm/gem-dma: Support dedicated DMA device for allocation Date: Tue, 10 Mar 2026 11:20:03 +0800 Message-ID: <20260310032012.2542334-1-wenst@chromium.org> X-Mailer: git-send-email 2.53.0.473.g4a7958ca14-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Hi folks, This series expands the "dedicated DMA device" support in DRM to the GEM DMA helpers, and converts the MediaTek DRM driver to setting the DMA device and dropping the custom GEM helpers that implemented this function. Various display drivers implement the "dedicated DMA device" support with custom GEM helpers. These include Exynos, MediaTek, and Rockchip to name a few. Allwinner does something entirely different, calling of_dma_configure() on the virtual display device using the OF node of the actual DMA device. Recently this causes a warning if IOMMUs are involved. This series intends to allow the core helpers to deal with it, and not have every driver implement it in slightly different ways, duplicating code. Patch 1 adds dedicated DMA device support to drm_prime_pages_to_sg(). I believe this was missing from the original change that added dedicated DMA devices for PRIME. Patch 2 adds support for dedicated DMA device to the GEM DMA helpers for GEM buffer allocation and mmap. Patch 3 converts the MediaTek DRM driver to use the dedicated DMA device support, and drop all the remaining custom GEM callbacks that deal with it. Patch 4 converts the Allwinner sun4i DRM driver to use the dedicated DMA device support, instead of the of_dma_configure() hack it currently has. The series should be merged through drm-misc-next so that other drivers can take advantage of the change. I also intend to try to convert the Exynos and Rockchip drivers, however both also have options to set DMA_ATTR_NO_KERNEL_MAPPING when using dma_alloc_attrs() to allocate memory for the buffers. I intend to resurrect the DRM_MODE_DUMB_KERNEL_MAP work from Rob Herring [1] to handle this. The Rockchip driver also has custom IOMMU attachment that I'm still trying to understand. Thanks ChenYu Chen-Yu Tsai (4): drm/prime: Limit scatter list size with dedicated DMA device drm/gem-dma: Support dedicated DMA device for allocation and mapping drm/mediatek: Set dedicated DMA device and drop custom GEM callbacks drm/sun4i: Use backend/mixer as dedicated DMA device drivers/gpu/drm/drm_gem_dma_helper.c | 21 ++- drivers/gpu/drm/drm_prime.c | 2 +- drivers/gpu/drm/mediatek/mtk_crtc.c | 1 - drivers/gpu/drm/mediatek/mtk_drm_drv.c | 21 +-- drivers/gpu/drm/mediatek/mtk_drm_drv.h | 1 - drivers/gpu/drm/mediatek/mtk_gem.c | 231 ------------------------- drivers/gpu/drm/mediatek/mtk_gem.h | 17 -- drivers/gpu/drm/sun4i/sun4i_backend.c | 27 +-- drivers/gpu/drm/sun4i/sun8i_mixer.c | 27 +-- 9 files changed, 46 insertions(+), 302 deletions(-) delete mode 100644 drivers/gpu/drm/mediatek/mtk_gem.c delete mode 100644 drivers/gpu/drm/mediatek/mtk_gem.h -- 2.53.0.473.g4a7958ca14-goog