From: Jon Hunter <jonathanh@nvidia.com>
To: Anand Moon <linux.amoon@gmail.com>
Cc: "Thierry Reding" <thierry.reding@gmail.com>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
"Manivannan Sadhasivam" <mani@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"open list:PCI DRIVER FOR NVIDIA TEGRA"
<linux-tegra@vger.kernel.org>,
"open list:PCI DRIVER FOR NVIDIA TEGRA"
<linux-pci@vger.kernel.org>,
"open list" <linux-kernel@vger.kernel.org>
Subject: Re: [RFC v1 1/2] PCI: tegra: Simplify clock handling by using clk_bulk*() functions
Date: Thu, 18 Sep 2025 10:17:39 +0100 [thread overview]
Message-ID: <8fac00fe-2ad4-4202-a6f2-c5043f7343f9@nvidia.com> (raw)
In-Reply-To: <CANAwSgS-Oq7iXDtiWM0W8NZ2q=BcCGviJAUdscWJRvyxLsw0CQ@mail.gmail.com>
On 17/09/2025 19:26, Anand Moon wrote:
> Hi Jon,
>
> On Wed, 17 Sept 2025 at 19:14, Jon Hunter <jonathanh@nvidia.com> wrote:
>>
>>
>> On 31/08/2025 20:00, Anand Moon wrote:
>>> Currently, the driver acquires clocks and prepare/enable/disable/unprepare
>>> the clocks individually thereby making the driver complex to read.
>>>
>>> The driver can be simplified by using the clk_bulk*() APIs.
>>>
>>> Use:
>>> - devm_clk_bulk_get_all() API to acquire all the clocks
>>> - clk_bulk_prepare_enable() to prepare/enable clocks
>>> - clk_bulk_disable_unprepare() APIs to disable/unprepare them in bulk
>>>
>>> As part of this cleanup, the legacy has_cml_clk flag and explicit handling
>>> of individual clocks (pex, afi, pll_e, cml) are removed. Clock sequencing
>>> is now implicitly determined by the order defined in the device tree,
>>> eliminating hardcoded logic and improving maintainability.
>>
>> What platforms have you tested this change on?
>>
> I'm using a Jetson Nano 4GB model as my test platform.
Thanks. One concern I have about this is that right now the DT binding
doc for this device is still in the legacy text format and not converted
to yaml. Therefore, there is no way to validate the device-tree bindings
for this driver. So by making this change we are susceptible to people
getting the device-tree incorrect and there is no way to check. Right
now the driver will fail is a given clock is missing but after this
change we are completely reliant that the device-tree is correct but no
way to validate.
It would be great to convert the text binding doc to yaml as part of
this series.
Also if you look at the dwmac-tegra.c driver this one still populates
the clock names when using the bulk APIs so that we know that the clocks
that we require are present.
Jon
[0] drivers/net/ethernet/stmicro/stmmac/dwmac-tegra.c
--
nvpublic
next prev parent reply other threads:[~2025-09-18 9:17 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-31 19:00 [RFC v1 0/2] PCI: tegra: A couple of cleanups Anand Moon
2025-08-31 19:00 ` [RFC v1 1/2] PCI: tegra: Simplify clock handling by using clk_bulk*() functions Anand Moon
2025-09-17 13:44 ` Jon Hunter
2025-09-17 18:26 ` Anand Moon
2025-09-18 9:17 ` Jon Hunter [this message]
2025-09-18 15:06 ` Anand Moon
2025-09-18 16:46 ` Jon Hunter
2025-08-31 19:00 ` [RFC v1 2/2] PCI: tegra: Use readl_poll_timeout() for link status polling Anand Moon
2025-09-17 3:14 ` Mikko Perttunen
2025-09-17 7:45 ` Anand Moon
2025-09-18 1:25 ` Mikko Perttunen
2025-09-18 4:20 ` Anand Moon
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=8fac00fe-2ad4-4202-a6f2-c5043f7343f9@nvidia.com \
--to=jonathanh@nvidia.com \
--cc=bhelgaas@google.com \
--cc=kwilczynski@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=linux.amoon@gmail.com \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=robh@kernel.org \
--cc=thierry.reding@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