Re: [PATCH] clocksource/drivers/timer-mediatek: Split out CPUXGPT timers

From: AngeloGioacchino Del Regno
Date: Wed Mar 29 2023 - 09:10:57 EST


Il 29/03/23 09:51, Walter Chang (張維哲) ha scritto:
On Thu, 2023-03-09 at 11:39 +0100, AngeloGioacchino Del Regno wrote:
On MediaTek platforms, CPUXGPT is the source for the AArch64 System
Timer, read through CNTVCT_EL0.

The handling for starting this timer ASAP was introduced in commit
327e93cf9a59 ("clocksource/drivers/timer-mediatek: Implement CPUXGPT
timers")
which description also contains an important full explanation of the
reasons why this driver is necessary and cannot be a module.

In preparation for an eventual conversion of timer-mediatek to a
platform_driver that would be possibly built as a module, split out
the CPUXGPT timers driver to a new timer-mediatek-cpux.c driver.

This commit brings no functional changes.

Signed-off-by: AngeloGioacchino Del Regno <
angelogioacchino.delregno@xxxxxxxxxxxxx>
---

Note: I've added a mention to the commit that is introducing CPUXGPT
because it contains a broad explanation about why this is needed and
why it is mandatory to have it as built-in and initialized as early
as possible. This is mostly because this question was asked multiple
times and I've been pointing people to that commit to explain it all.

This commit was made because of a discussion about the impossibility
to convert timer-mediatek to a module: even though that's definitely
not easy at all, this will make sure that whatever cannot (ever) be
built as module goes out of that driver.

I tried to tackle a timer-mediatek conversion to platform_driver as
well, but I don't currently have the required bandwidth to do so:
as a first step I moved that, so I'm pushing this commit as to try
to reduce duplicated work.

This commit was tested on MT6795 Sony Xperia M5.

..snip..

@@ -452,4 +339,3 @@ static int __init mtk_gpt_init(struct device_node
*node)
}
TIMER_OF_DECLARE(mtk_mt6577, "mediatek,mt6577-timer", mtk_gpt_init);
TIMER_OF_DECLARE(mtk_mt6765, "mediatek,mt6765-timer",
mtk_syst_init);
-TIMER_OF_DECLARE(mtk_mt6795, "mediatek,mt6795-systimer",
mtk_cpux_init);

This patch looks good to me. Thanks for assisting us in spliting out
the CPUX driver.


Hello Walter,

thanks for checking this patch. If you have actually reviewed this one,
you could help the maintainers to know by releasing your Reviewed-by tag
on this patch.

Regards,
Angelo