From nobody Thu Apr 9 09:47:30 2026 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 680673A4F23 for ; Tue, 10 Mar 2026 03:20:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773112842; cv=none; b=eNy5M8yZFX4NfSF07dWkfV1hhU1+pJJEX0/R3mVG9Z6Cd7TAq5N8d8QGijNoL9EtrULlEy1tDsQjYoHBc2slouO+cdQnKuNJvPd26PtULFNAIwSARwUKq/aWbIckLrZSuhw2RMZjorimoUbT8dzmxqyhzmNlPXJSmEBa0SVewf4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773112842; c=relaxed/simple; bh=oAfrAdUsiN0HiFEo2w26stnO59aZMIB4kMYEsBwkc3w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=N8jpqUGJzF2W0AjgD457jiDk/m2t5eK47S4D+cWzWz+mc1B3kZ2rzO6JWpdpVU2G03JyqIOum5qnJOMjiZJbDdGmIQzEji0mzB9V7WFLD/F6sQ4gzVsFL4KhoR6ivhFyXDuFCbw2koFacvzCrtM3B77UuLq9VLHLDDOCnvQ+goY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=hCqEpKOG; arc=none smtp.client-ip=209.85.216.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="hCqEpKOG" Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-35980423087so4498961a91.3 for ; Mon, 09 Mar 2026 20:20:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1773112841; x=1773717641; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uHxroCmvUbDZdSuabhWIfcDNQo8xx33ypV1WgOxP5VE=; b=hCqEpKOGO+ga6uiLX8AqQqg8vLSLz+AsaVmf3SmKHR4+uJC/Z8dgj8qQaYGQRwteJw yu9LnZ4oCkixFRjpjmabA4lqHHMukE2FQiBCRbwNsE78NvfuyCU0szVxVAcwvVAGx70j rv+s8XB+NEgfm0ZJf+dmvNVXQcLoM+QMML07A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773112841; x=1773717641; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=uHxroCmvUbDZdSuabhWIfcDNQo8xx33ypV1WgOxP5VE=; b=DATabSSKUxwOvt5ditjUzfz2BCX3zsLSj16KUE+7whAorLVg+ZbhplEPZbz8S1jYYZ Q4qQ/vsrQQq/cgxOmUqrJgQJxskSGfsY1fDiwIkR12wXMlU+X1dueH0ChUb0CQouMdQ4 gmnXLwJj1i9nj+azrCFjBtNhzvzAHyRQN5FTCyOn/h3GC9Kl7oeY7EkAq3CXqW4ATZzM PHBE9dBAglJjOSVD8JIWntA/jqnMJzgm80busYZNSbNatFMJvh6b01T1MjofZ+ZzdYQE TrW1y4WSMY5PxMIOOKDhnVio5UUiYYSzjxAjrDmlMNQB7H/3VM9gNMujihKXCGRTBPcB adKQ== X-Forwarded-Encrypted: i=1; AJvYcCUiE22MvkbNbUPzEwozerKmHkBKtWfa4Ehh8Q8bcukpavtgvM0hHJtCPRKHO0PxSadm/fq7SRd708gU7wI=@vger.kernel.org X-Gm-Message-State: AOJu0YxtMQqm9buMiA1BzPWo6Ej5YfGEveTe55xXN73ju/suuXF0i8Bd DIk7dqP5LtLG8CcR4ZzlQhaf4yxNEBFOikdh7ycx3wI5vqjlQB/3JqCJQdts4FcOew== X-Gm-Gg: ATEYQzz0IgLCjuJWrNGwAjhAWgs7gKkpnbFA4xL0ePX7isuY9DqGfTUmhhbf1l9C44U IlU3V1HNu5Zc5ROmWxosAIhKiQejaONVhYC+gX0n5w4BkiVubVO6uHCjBeH+c+7YjsUbUZZsrHF gs6Qk/JB0iHr6kB+Z1GXkql5sGqDKIBNTcYU4Mslhreq8AyJHjHF/+eDPNZtiGsvW0yNYsSxcsP 8jInhDGim8e5t1POh4XvX/Xv3+OganHFbKRyG9NSnpvm2vqVHCGk3JoWAnxwsbr7seu77mD3oYX OU/Y/6Uu8C12t57NN0LzGEkRMdSKJiSs8sBjKmZWs9s7y3hO1IXBTsq1xEmg79kvrwpkvGRxfHq FxjbUNXyB3RhS4lAJFX9VOngSywbfW4gj4KDBsaWFljBUaenDVHq6rzB48BrGp2RjBOIcntYckx JkNwSrm2XDRBiCIjrDo3ShxJuaw5RrxvIBxy9l/Gc7p0H7jXlQtX02WAoI3eJXF73OZXYucebGh /mnTusG X-Received: by 2002:a17:90b:240e:b0:359:c7ef:97bc with SMTP id 98e67ed59e1d1-359c7ef9b32mr6509980a91.22.1773112840798; Mon, 09 Mar 2026 20:20:40 -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.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Mar 2026 20:20:40 -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 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 1/4] drm/prime: Limit scatter list size with dedicated DMA device Date: Tue, 10 Mar 2026 11:20:04 +0800 Message-ID: <20260310032012.2542334-2-wenst@chromium.org> X-Mailer: git-send-email 2.53.0.473.g4a7958ca14-goog In-Reply-To: <20260310032012.2542334-1-wenst@chromium.org> References: <20260310032012.2542334-1-wenst@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" If a dedicated DMA device is specified for the DRM device, then the scatter list size limit should pertain to the DMA device. Use the dedicated DMA device, if given, to limit the scatter list size. This only applies to drivers that have called drm_dev_set_dma_dev() and are using drm_prime_pages_to_sg() either directly or through the SHMEM helpers. At the time of this writing, the former case only includes the Rockchip DRM driver, while the latter case includes the gud, udl, and the tiny appletbdrm and gm12u320 drivers. Signed-off-by: Chen-Yu Tsai --- drivers/gpu/drm/drm_prime.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c index 51fdb06d3e9f..9b44c78cd77f 100644 --- a/drivers/gpu/drm/drm_prime.c +++ b/drivers/gpu/drm/drm_prime.c @@ -859,7 +859,7 @@ struct sg_table *drm_prime_pages_to_sg(struct drm_devic= e *dev, return ERR_PTR(-ENOMEM); =20 if (dev) - max_segment =3D dma_max_mapping_size(dev->dev); + max_segment =3D dma_max_mapping_size(drm_dev_dma_dev(dev)); if (max_segment =3D=3D 0) max_segment =3D UINT_MAX; err =3D sg_alloc_table_from_pages_segment(sg, pages, nr_pages, 0, --=20 2.53.0.473.g4a7958ca14-goog