From: William McVicker <willmcvicker@google.com>
To: Youngmin Nam <youngmin.nam@samsung.com>
Cc: "Catalin Marinas" <catalin.marinas@arm.com>,
"Will Deacon" <will@kernel.org>,
"Peter Griffin" <peter.griffin@linaro.org>,
"André Draszik" <andre.draszik@linaro.org>,
"Tudor Ambarus" <tudor.ambarus@linaro.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Alim Akhtar" <alim.akhtar@samsung.com>,
"Daniel Lezcano" <daniel.lezcano@linaro.org>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Saravana Kannan" <saravanak@google.com>,
"Donghoon Yu" <hoony.yu@samsung.com>,
kernel-team@android.com, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org,
"Krzysztof Kozlowski" <krzk@kernel.org>,
linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org,
semen.protsenko@linaro.org
Subject: Re: [PATCH v2 0/7] Add module support for Arm64 Exynos MCT driver
Date: Tue, 8 Apr 2025 12:57:57 -0700 [thread overview]
Message-ID: <Z_V_xXsAedUSZURp@google.com> (raw)
In-Reply-To: <Z+8xrLbya9/oFg7y@perf>
On 04/04/2025, Youngmin Nam wrote:
> On Wed, Apr 02, 2025 at 04:33:51PM -0700, Will McVicker wrote:
> > This series adds support to build the Arm64 Exynos MCT driver as a module. This
> > is only possible on Arm64 SoCs since they can use the Arm architected timer as
> > the clocksource. Once the Exynos MCT module is loaded and the device probes,
> > the MCT is used as the wakeup source for the arch_timer to ensure the device
> > can wakeup from the "c2" idle state.
> >
> > These patches are originally from the downstream Pixel 6 (gs101) kernel found
> > at [1] and have been adapted for upstream. Not only has the Exynos MCT driver
> > been shipping as a module in the field with Android, but I've also tested this
> > seris with the upstream kernel on my Pixel 6 Pro.
> >
> > Thanks,
> > Will
> >
> > Note1, instructions to build and flash a Pixel 6 device with the upstream kernel
> > can be found at [2].
> >
> > Note2, this series is based off of linux-next/master commit 405e2241def8 ("Add
> > linux-next specific files for 20250331").
> >
> > [1] https://android.googlesource.com/kernel/gs/+log/refs/heads/android-gs-raviole-5.10-android12-d1
> > [2] https://protect2.fireeye.com/v1/url?k=d287bb1b-b30cae21-d2863054-74fe4860008a-f0cb7ae29f3b1b85&q=1&e=4e8467a4-13da-4dd4-a8fd-4ddfc38e89b4&u=https%3A%2F%2Fgit.codelinaro.org%2Flinaro%2Fgooglelt%2Fpixelscripts%2F-%2Fblob%2Fclo%2Fmain%2FREADME.md%3Fref_type%3Dheads
> >
> > Cc: Alim Akhtar <alim.akhtar@samsung.com>
> > Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> > Cc: Donghoon Yu <hoony.yu@samsung.com>
> > Cc: Hosung Kim <hosung0.kim@samsung.com>
> > Cc: kernel-team@android.com
> > Cc: linux-arm-kernel@lists.infradead.org
> > Cc: linux-kernel@vger.kernel.org
> > Cc: Rob Herring <robh@kernel.org>
> > Cc: Saravana Kannan <saravanak@google.com>
> > Cc: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Youngmin Nam <youngmin.nam@samsung.com>
> > Cc: Peter Griffin <peter.griffin@linaro.org>
> > Cc: Tudor Ambarus <tudor.ambarus@linaro.org>
> > Cc: André Draszik <andre.draszik@linaro.org>
> > Cc: Will Deacon <will@kernel.org>
> > Cc: Conor Dooley <conor+dt@kernel.org>
> > Cc: Krzysztof Kozlowski <krzk@kernel.org>
> > Cc: linux-samsung-soc@vger.kernel.org
> >
> > ---
> > Changes in v2:
> > - Re-worked patch v1 5 based on Rob Herring's review to use the compatible data
> > for retrieving the mct_init function pointer.
> > - Updated the Kconfig logic to disallow building the Exynos MCT driver as
> > a module for ARM32 configurations based on Krzysztof Kozlowski's findings.
> > - Added comments and clarified commit messages in patches 1 and 2 based on
> > reviews from John Stultz and Youngmin Nam.
> > - Fixed an issue found during testing that resulted in the device getting
> > stuck on boot. This is included in v2 as patch 5.
> > - Collected *-by tags
> > - Rebased to the latest linux-next/master.
> >
> > ---
> > Donghoon Yu (1):
> > clocksource/drivers/exynos_mct: Add module support
> >
> > Hosung Kim (1):
> > clocksource/drivers/exynos_mct: Set local timer interrupts as percpu
> >
> > Will Deacon (1):
> > arm64: dts: exynos: gs101: Add 'local-timer-stop' to cpuidle nodes
> >
> > Will McVicker (4):
> > of/irq: Export of_irq_count for modules
> > clocksource/drivers/exynos_mct: Don't register as a sched_clock on
> > arm64
> > clocksource/drivers/exynos_mct: Fix uninitialized irq name warning
> > arm64: exynos: Drop select CLKSRC_EXYNOS_MCT
> >
> > arch/arm64/Kconfig.platforms | 1 -
> > arch/arm64/boot/dts/exynos/google/gs101.dtsi | 3 +
> > drivers/clocksource/Kconfig | 3 +-
> > drivers/clocksource/exynos_mct.c | 73 ++++++++++++++++----
> > drivers/of/irq.c | 1 +
> > 5 files changed, 67 insertions(+), 14 deletions(-)
> >
> > --
> > 2.49.0.472.ge94155a9ec-goog
> >
> >
>
> Hi Will.
>
> I tested this series on a E850-96(Exynos3830 based) board and it's working as a moudle.
>
> # dmesg | grep mct
> [7.376224] clocksource: mct-frc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 73510017198 ns
>
> # lsmod | grep exynos_mct
> exynos_mct 12288 0
>
> # cat /sys/devices/system/clocksource/clocksource0/current_clocksource
> arch_sys_counter
> # cat /sys/devices/system/clockevents/clockevent0/current_device
> arch_sys_timer
>
> # cat /proc/interrupts
> CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
> 12: 2566 2752 2467 4026 3372 2822 2115 3227 GIC-0 27 Level arch_timer
> ...
> 77: 0 0 0 0 0 0 0 0 GIC-0 235 Level mct_comp_irq
> 78: 0 0 0 0 0 0 0 0 GIC-0 239 Level mct_tick0
> 79: 0 0 0 0 0 0 0 0 GIC-0 240 Level mct_tick1
> 80: 0 0 0 0 0 0 0 0 GIC-0 241 Level mct_tick2
> 81: 0 0 0 0 0 0 0 0 GIC-0 242 Level mct_tick3
> 82: 0 0 0 0 0 0 0 0 GIC-0 243 Level mct_tick4
> 83: 0 0 0 0 0 0 0 0 GIC-0 244 Level mct_tick5
> 84: 0 0 0 0 0 0 0 0 GIC-0 245 Level mct_tick6
> 85: 0 0 0 0 0 0 0 0 GIC-0 246 Level mct_tick7
>
> Reviewed-by: Youngmin Nam <youngmin.nam@samsung.com>
> Tested-by: Youngmin Nam <youngmin.nam@samsung.com>
>
> Thanks,
> Youngmin
Thanks Youngmin for the reviews and testing!
Regards,
Will
prev parent reply other threads:[~2025-04-08 19:58 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20250402233425epcas2p479285add99d27dc18aabd2295bfcbdc8@epcas2p4.samsung.com>
2025-04-02 23:33 ` [PATCH v2 0/7] Add module support for Arm64 Exynos MCT driver Will McVicker
2025-04-02 23:33 ` [PATCH v2 1/7] of/irq: Export of_irq_count for modules Will McVicker
2025-04-02 23:33 ` [PATCH v2 2/7] clocksource/drivers/exynos_mct: Don't register as a sched_clock on arm64 Will McVicker
2025-04-02 23:51 ` John Stultz
2025-04-08 19:57 ` William McVicker
2025-04-02 23:33 ` [PATCH v2 3/7] clocksource/drivers/exynos_mct: Set local timer interrupts as percpu Will McVicker
2025-05-08 10:12 ` Peter Griffin
2025-04-02 23:33 ` [PATCH v2 4/7] arm64: dts: exynos: gs101: Add 'local-timer-stop' to cpuidle nodes Will McVicker
2025-05-08 10:11 ` Peter Griffin
2025-04-02 23:33 ` [PATCH v2 5/7] clocksource/drivers/exynos_mct: Fix uninitialized irq name warning Will McVicker
2025-05-08 10:19 ` Peter Griffin
2025-04-02 23:33 ` [PATCH v2 6/7] clocksource/drivers/exynos_mct: Add module support Will McVicker
2025-04-15 16:50 ` Daniel Lezcano
2025-04-15 21:25 ` William McVicker
2025-04-16 11:15 ` Daniel Lezcano
2025-05-08 11:44 ` Peter Griffin
2025-04-16 0:48 ` John Stultz
2025-04-16 13:46 ` Daniel Lezcano
2025-04-16 19:48 ` John Stultz
2025-04-16 21:00 ` John Stultz
2025-05-13 14:52 ` Daniel Lezcano
2025-05-14 23:16 ` William McVicker
2025-05-23 15:03 ` Daniel Lezcano
2025-05-23 17:06 ` William McVicker
2025-05-23 18:06 ` Saravana Kannan
2025-05-23 20:39 ` Daniel Lezcano
2025-04-02 23:33 ` [PATCH v2 7/7] arm64: exynos: Drop select CLKSRC_EXYNOS_MCT Will McVicker
2025-04-04 1:11 ` [PATCH v2 0/7] Add module support for Arm64 Exynos MCT driver Youngmin Nam
2025-04-04 6:02 ` Krzysztof Kozlowski
2025-04-04 6:17 ` Youngmin Nam
2025-04-08 19:57 ` William McVicker [this message]
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=Z_V_xXsAedUSZURp@google.com \
--to=willmcvicker@google.com \
--cc=alim.akhtar@samsung.com \
--cc=andre.draszik@linaro.org \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=daniel.lezcano@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=hoony.yu@samsung.com \
--cc=kernel-team@android.com \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=peter.griffin@linaro.org \
--cc=robh@kernel.org \
--cc=saravanak@google.com \
--cc=semen.protsenko@linaro.org \
--cc=tglx@linutronix.de \
--cc=tudor.ambarus@linaro.org \
--cc=will@kernel.org \
--cc=youngmin.nam@samsung.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;
as well as URLs for NNTP newsgroup(s).