From nobody Sat Feb 7 20:44:05 2026 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (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 4BD361D54FA for ; Fri, 16 Jan 2026 12:37:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768567060; cv=none; b=nV1WzQfhudVjgpzlOdaVI7R0juTGv9zaLca8IAw2yjMtgZC3qZuhnEsh9OvqK9dEkeutYeZiFnW3pAN0bQ/2t7vmW2QF6rzQvyB5qvAJIws6uLvuq7e7c+D1/CMcV5REzu8UnNEgLBSzsEsIQLL9hLIzIDLRlFkugKy1R/VEVFk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768567060; c=relaxed/simple; bh=6BCfp0zPANDJPDOd/HKnwKlAyokufVrNNgQx7Dq+064=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=D+d2tXvtjLeL4wqN7dKCrr6otGQoIMKecJEwZXDNzMFhPU5a0QWxYpeN/N3q7NX4tMLIcP2zazeE5HCaxaW4vo6wt4P0m1RO7qLk6/ve4E6TTypMt89yrOwGd/RmKkIUo4mZDDrum9sTkYtrgPUAimAFshWcU72fESfeuhqs3dk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=LQ3Zy+G+; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LQ3Zy+G+" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-47ee974e230so17848125e9.2 for ; Fri, 16 Jan 2026 04:37:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768567057; x=1769171857; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=oapfEXyvjd1ZotchAdhD2BtN/ho5Ruxlai3C43e6Q1A=; b=LQ3Zy+G+M0Y2+JS6A5xJABLfPP+yGsVBMU4y4WhiHo1svVxEc6FsBOO0CVJJchtq8W yIgR5oTVjG0VPFgpweSCUFeacWbOQLbAGmGg5akw3zYy/JFAIq6a67T2R3B3MmgKombZ WYyNQw13eitVeO8kenKPzMP2SDBAJ8UnQnEQX3ZYpLPZu2w6gsA+fwSA9mP7IBcBiCTA xbypckM5cf0+fQADC3OkfQ0/XtFvwVsPAUvN7tThzo9rsuKrbDX9uGsTMAMViSc3TJdy MgF8r3LAvK7VoNi6zA3sO+sv6J4LXIlT/yzhTYEjp9s6YXJ5x35YxXKoClnhEPeRbV0/ S99Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768567057; x=1769171857; 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=oapfEXyvjd1ZotchAdhD2BtN/ho5Ruxlai3C43e6Q1A=; b=K+4LWzbmHSPHx/OBLpR5SOPLGhpl/kUf4gse8LVi2xUP0VtQlQ62WpkmWnapvPMMNQ IUelkUkVYj51L5gTBPP0sSWQOxAqSr/4kpYvFylbQ9d5r0kHI8Cyg9KwjMOCboH34dOr 7iZ8LTtzK+p38XRAYQtlFh0L18fCnXPx09ZpLS7BmY80BzFaTAcQLvN7XQLAbD9ba8Oa FpCPejKQ53xh5XKXIIKdmomMfV46dn6hvVan3a8RN8RyReswPw7qhEnscKiPAnp2RAlx i4MzTliwiqLB1oWFrrW/+dyxRqx6YogHrQnSwhVCHKS6lSJcG7xPrUKLxhQ/s1v+dr0U CREA== X-Forwarded-Encrypted: i=1; AJvYcCVnuZ0eZUKnyhLS/+y5w7kpx0YEE3sQzPcIMXDPyMU8BVyLoH+exzT/xwvdne3Ko2din4mKXts/gyBy+jI=@vger.kernel.org X-Gm-Message-State: AOJu0YyRBlcNhBL0SUDQdXMQwJOoaNQDBXeaR5wJDV0bxxV9Vlr4Cc+y F+5Q7i+osnwwVEvGlNocIn0Vj7lCRweb0q8yPXTbheW8IQrJgbQzyUvarZCmZUw0 X-Gm-Gg: AY/fxX6zSBcrx/Ywmfd3gVL0LOB+CXxmdffxw674UMVJB9EzDJBCRQeExtgWyCUGqEC 3JwT6QJQVXQ077UjKn5hZMPSwOe3dkvGr2coSTWkRnISAVNpqI9xn9+ZcuRhEXFM3Y2cbFQzEnt a6UL6YiUduvF9CkQbj9UywHUfqNa2bb7DSOa8vNFtyzJ9QWlRKTeOhrPEloox83VdSemLUOeNFt RpKgqjEXVRv9++Dt2C188ppz2Q5i/DhCvF9Nhm5nVVq+rUc9C9FFSpgHgZOv6o3tdG3kZT0/GZ3 Jl378l/V9BbNxkAczXEcOFbW1ThvOHwWuq9iBZ+xhbVahfzf8JjWPwhfgmGs5/t6i0q61VCArx8 5VcECJRt3UwfHLfpO4Y38l9RugSIP278gfjWDOulw2GDNg/a1BEOmslk57iRtdjyvQ7Eo1VRlX1 Msxm3sXfW8MP4o7UTDxj99YOXp0Q6xpyc+/ionqtqQe9Ky44G9evB/T7dQ8S2Kev1hnHQ27hfKv O7P9r0= X-Received: by 2002:a05:600c:8b55:b0:477:b48d:ba7a with SMTP id 5b1f17b1804b1-4801e350a41mr35890215e9.32.1768567057425; Fri, 16 Jan 2026 04:37:37 -0800 (PST) Received: from localhost (p200300e41f0ffa00f22f74fffe1f3a53.dip0.t-ipconnect.de. [2003:e4:1f0f:fa00:f22f:74ff:fe1f:3a53]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4801e879537sm40428815e9.5.2026.01.16.04.37.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Jan 2026 04:37:36 -0800 (PST) From: Thierry Reding To: Krzysztof Kozlowski Cc: Thierry Reding , Jon Hunter , linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] memory: tegra: Add support for DBB clock on Tegra264 Date: Fri, 16 Jan 2026 13:37:32 +0100 Message-ID: <20260116123732.140813-1-thierry.reding@gmail.com> X-Mailer: git-send-email 2.52.0 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" From: Thierry Reding The DBB clock is needed by many IP blocks in order to access system memory via the data backbone. The memory controller and external memory controllers are the central place where these accesses are managed, so make sure that the clock can be controlled from the corresponding driver. Note that not all drivers fully register bandwidth requests, and hence the EMC driver doesn't have enough information to know when it's safe to switch the clock off, so for now it will be kept on permanently. Signed-off-by: Thierry Reding Reviewed-by: Jon Hunter --- Changes in v2: - convert to dev_err_probe() (Krzysztof) drivers/memory/tegra/tegra186-emc.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/memory/tegra/tegra186-emc.c b/drivers/memory/tegra/teg= ra186-emc.c index dfddceecdd1a..03ebab6fbe68 100644 --- a/drivers/memory/tegra/tegra186-emc.c +++ b/drivers/memory/tegra/tegra186-emc.c @@ -22,6 +22,7 @@ struct tegra186_emc { struct tegra_bpmp *bpmp; struct device *dev; struct clk *clk; + struct clk *clk_dbb; =20 struct tegra186_emc_dvfs *dvfs; unsigned int num_dvfs; @@ -328,6 +329,13 @@ static int tegra186_emc_probe(struct platform_device *= pdev) goto put_bpmp; } =20 + emc->clk_dbb =3D devm_clk_get_optional_enabled(&pdev->dev, "dbb"); + if (IS_ERR(emc->clk_dbb)) { + err =3D dev_err_probe(&pdev->dev, PTR_ERR(emc->clk_dbb), + "failed to get DBB clock\n"); + goto put_bpmp; + } + platform_set_drvdata(pdev, emc); emc->dev =3D &pdev->dev; =20 --=20 2.52.0