public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jon Hunter <jonathanh@nvidia.com>
To: Aaron Kling <webgeek1234@gmail.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
	Rob Herring <robh@kernel.org>, Conor Dooley <conor+dt@kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: Re: [PATCH v4 3/5] memory: tegra186-emc: Support non-bpmp icc scaling
Date: Tue, 11 Nov 2025 21:29:45 +0000	[thread overview]
Message-ID: <249bbe7e-e2da-4493-bdd5-8f4b17aff8fe@nvidia.com> (raw)
In-Reply-To: <CALHNRZ8vFJyfFXbxFehWA9TGkdrEUy9Wsm-DxEOT=tVbYTcU5Q@mail.gmail.com>


On 11/11/2025 17:04, Aaron Kling wrote:

...

> My setup uses the boot stack from L4T r32.7.6, though cboot is source
> built and has had changes over time to support newer Android versions.
> There shouldn't be anything there that would affect emc clock, though.
> 
> I'm seeing the emc clock stay at the boot value, namely 1600MHz. Per
> both debugfs clk/emc/clk_rate and bpmp/debug/clk/emc/rate. I don't
> even see 250MHz as an option. Debugfs emc/available_rates lists 204MHz
> as the closest entry.
> 
> I'm trying to think what could cause a drop in the selected clock
> rate. This patch should only dynamically change the rate if the opp
> tables exist, enabling the cpufreq based scaling via icc. But those
> tables don't exist on linux-next right now. My test ramdisk does
> nothing except set up sysfs/procfs/etc just enough to run a busybox
> shell for debugging. Do the Nvidia regression testing boot scripts do
> anything to sysfs or debugfs that would affect emc?

So this is definitely coming from ICC. On boot I see a request for
250MHz coming from the PCIe driver ...

[   13.861227] tegra186_emc_icc_set_bw-356: rate 250000000
[   13.861350] CPU: 1 UID: 0 PID: 68 Comm: kworker/u32:1 Not tainted 6.18.0-rc4-next-20251110-00001-gfc12493c80fb-dirty #9 PREEMPT
[   13.861362] Hardware name: NVIDIA Jetson AGX Xavier Developer Kit (DT)
[   13.861370] Workqueue: events_unbound deferred_probe_work_func
[   13.861388] Call trace:
[   13.861393]  show_stack+0x18/0x24 (C)
[   13.861407]  dump_stack_lvl+0x74/0x8c
[   13.861419]  dump_stack+0x18/0x24
[   13.861426]  tegra186_emc_icc_set_bw+0xc8/0x14c
[   13.861438]  apply_constraints+0x70/0xb0
[   13.861451]  icc_set_bw+0x88/0x128
[   13.861461]  tegra_pcie_icc_set+0x7c/0x10c [pcie_tegra194]
[   13.861499]  tegra_pcie_dw_start_link+0x178/0x2b0 [pcie_tegra194]
[   13.861510]  dw_pcie_host_init+0x664/0x6e0
[   13.861523]  tegra_pcie_dw_probe+0x6d4/0xbfc [pcie_tegra194]
[   13.861534]  platform_probe+0x5c/0x98
[   13.861547]  really_probe+0xbc/0x2a8
[   13.861555]  __driver_probe_device+0x78/0x12c
[   13.861563]  driver_probe_device+0x3c/0x15c
[   13.861572]  __device_attach_driver+0xb8/0x134
[   13.861580]  bus_for_each_drv+0x84/0xe0
[   13.861588]  __device_attach+0x9c/0x188
[   13.861596]  device_initial_probe+0x14/0x20
[   13.861610]  bus_probe_device+0xac/0xb0
[   13.861619]  deferred_probe_work_func+0x88/0xc0
[   13.861627]  process_one_work+0x148/0x28c
[   13.861640]  worker_thread+0x2d0/0x3d8
[   13.861648]  kthread+0x128/0x200
[   13.861659]  ret_from_fork+0x10/0x20

The actual rate that is set is 408MHz if I read the rate after
it is set ...

[   13.912099] tegra186_emc_icc_set_bw-362: rate 408000000

This is a simple boot test and so nothing we are doing via
debugfs/sysfs to influence this.

Jon

-- 
nvpublic


  reply	other threads:[~2025-11-11 21:29 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-27 18:55 [PATCH v4 0/5] memory: tegra: Support EMC dfs on Tegra186/Tegra194 Aaron Kling via B4 Relay
2025-10-27 18:55 ` [PATCH v4 1/5] dt-bindings: memory: tegra186-mc: Add dummy client IDs for Tegra186 Aaron Kling via B4 Relay
2025-10-27 18:55 ` [PATCH v4 2/5] dt-bindings: memory: tegra194-mc: Add dummy client IDs for Tegra194 Aaron Kling via B4 Relay
2025-10-27 18:55 ` [PATCH v4 3/5] memory: tegra186-emc: Support non-bpmp icc scaling Aaron Kling via B4 Relay
2025-11-10 21:25   ` Jon Hunter
2025-11-10 21:55     ` Aaron Kling
2025-11-11  1:39       ` Aaron Kling
2025-11-11 11:13         ` Jon Hunter
2025-11-11 11:16           ` Krzysztof Kozlowski
2025-11-11 12:05             ` Jon Hunter
2025-11-11 14:35               ` Jon Hunter
2025-11-11 17:04                 ` Aaron Kling
2025-11-11 21:29                   ` Jon Hunter [this message]
2025-11-11 23:17                     ` Aaron Kling
2025-11-12  6:18                       ` Jon Hunter
2025-11-12  7:21                         ` Aaron Kling
2025-11-12  7:31                           ` Krzysztof Kozlowski
2025-11-21 11:21                           ` Jon Hunter
2025-11-21 18:17                             ` Aaron Kling
2025-12-10  4:08                               ` Jon Hunter
2025-12-10  5:06                                 ` Aaron Kling
2025-12-10 15:03                                   ` Jon Hunter
2025-12-10 18:32                                     ` Aaron Kling
2025-12-10 21:24                                       ` Jon Hunter
2025-12-10 22:41                                         ` Aaron Kling
2025-12-11  7:46                                           ` Jon Hunter
2025-12-11 17:39                                             ` Aaron Kling
2025-12-17 18:39                                               ` Aaron Kling
2025-12-17 18:59                                                 ` Jon Hunter
2025-12-17 20:29                                                   ` Aaron Kling
2025-12-17 21:53                                                     ` Jon Hunter
2025-12-17 22:44                                                       ` Aaron Kling
2025-12-18 11:12                                                         ` Jon Hunter
2025-12-18 19:25                                                           ` Aaron Kling
2025-12-18 21:20                                                             ` Aaron Kling
2025-12-19 11:05                                                               ` Jon Hunter
2025-11-22 12:01                             ` Krzysztof Kozlowski
2025-12-09  4:26                               ` Aaron Kling
2025-12-09  5:53                                 ` Krzysztof Kozlowski
2025-12-10  4:08                                   ` Jon Hunter
2025-11-12  7:26                         ` Krzysztof Kozlowski
2025-11-12 10:59                           ` Jon Hunter
2025-11-12 11:42                             ` Krzysztof Kozlowski
2025-11-12 12:29                               ` Jon Hunter
2025-11-12  7:26                       ` Krzysztof Kozlowski
2025-10-27 18:55 ` [PATCH v4 4/5] memory: tegra186: Support " Aaron Kling via B4 Relay
2025-10-27 18:55 ` [PATCH v4 5/5] memory: tegra194: " Aaron Kling via B4 Relay
2025-10-31 13:21 ` [PATCH v4 0/5] memory: tegra: Support EMC dfs on Tegra186/Tegra194 Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=249bbe7e-e2da-4493-bdd5-8f4b17aff8fe@nvidia.com \
    --to=jonathanh@nvidia.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=thierry.reding@gmail.com \
    --cc=webgeek1234@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox