* [PATCH] arm64: configs: defconfig: Convert TISCI to modules
@ 2026-09-10 13:44 Nishanth Menon
2026-09-22 14:24 ` Nishanth Menon
2026-09-24 17:00 ` Thomas Richard
0 siblings, 2 replies; 3+ messages in thread
From: Nishanth Menon @ 2026-09-10 13:44 UTC (permalink / raw)
To: Nishanth Menon
Cc: linux-kernel, linux-arm-kernel, Siddharth Vadapalli,
Vignesh Raghavendra, Krzysztof Kozlowski, Geert Uytterhoeven,
Catalin Marinas, Bjorn Andersson, alexander.sverdlin, jan.kiszka,
ayush, robertcnelson, upstream, francesco.dolcini,
leonardo.costa, matthias.schiffer, stefano.r, eblanc, msp,
thomas.richard, miquel.raynal, mwalle
Now that all relevant drivers have are ready, convert the
TISCI drivers to modules. This impacts all K3 platforms for
boot, recommendation (based on empirical evidence) is to use
deferred_probe_timeout=60 in kernel command line to allow for driver
probes to complete successfully based on the initrd used.
NET Savings: (Ubuntu Clang 23.0.0)
./scripts/bloat-o-meter vmlinux_previous vmlinux
add/remove: 4/380 grow/shrink: 0/5 up/down: 32/-143248 (-143216)
Signed-off-by: Nishanth Menon <nm@ti.com>
---
NOTE:
a) This patch is based off v7.3-rc1 and will create a merge conflict
in linux-next (next-20260909), but the resolution is trivial (vs
bd94bea7165be450903c6d64bbcb4862e36798f9).
b) Emperical experiments that Siddharth Vadapalli did,
it seems like some driver probes might be taking much
longer than the default deferred_probe_timeout of 10
seconds that is used when CONFIG_MODULES=y. Testing log[1]
a deferred_probe_timeout=60 seems to have worked fine.
c) Full bloatometer report is available in [1] as well.
d) related lore discussions[2]
[1] https://gist.github.com/nmenon/5f1587b373e6ca27170593010188d968
[2] https://lore.kernel.org/all/20260429-defconfig-v2-5-e4ed4186028b@oss.qualcomm.com/
See headsup I gave on #linux-ti irc channel https://libera.catirclogs.org/linux-ti/2026-05-20
https://lore.kernel.org/linux-arm-kernel/20240821110054.35u5ubgaogzjv6c4@rover/
(original thread that triggered various changes)
Cc: Siddharth Vadapalli <s-vadapalli@ti.com>
Cc: Vignesh Raghavendra <vigneshr@ti.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: alexander.sverdlin@siemens.com
Cc: jan.kiszka@siemens.com
Cc: ayush@beagleboard.org
Cc: robertcnelson@gmail.com
Cc: upstream@lists.phytec.de
Cc: francesco.dolcini@toradex.com
Cc: leonardo.costa@toradex.com
Cc: matthias.schiffer@ew.tq-group.com
Cc: stefano.r@variscite.com
Cc: eblanc@baylibre.com
Cc: msp@baylibre.com
Cc: thomas.richard@bootlin.com
Cc: miquel.raynal@bootlin.com
Cc: mwalle@kernel.org
arch/arm64/configs/defconfig | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 6ec8d3a69c98..ed5aebf96080 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -267,6 +267,7 @@ CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_INTEL_STRATIX10_SERVICE=y
CONFIG_INTEL_STRATIX10_RSU=m
CONFIG_MTK_ADSP_IPC=m
+CONFIG_TI_SCI_PROTOCOL=m
CONFIG_GOOGLE_FIRMWARE=y
CONFIG_GOOGLE_CBMEM=m
CONFIG_GOOGLE_COREBOOT_TABLE=m
@@ -1403,8 +1404,8 @@ CONFIG_DW_EDMA=m
CONFIG_RCAR_DMAC=y
CONFIG_RENESAS_USB_DMAC=m
CONFIG_RZ_DMAC=y
-CONFIG_TI_K3_UDMA=y
-CONFIG_TI_K3_UDMA_GLUE_LAYER=y
+CONFIG_TI_K3_UDMA=m
+CONFIG_TI_K3_UDMA_GLUE_LAYER=m
CONFIG_STM32_DMA3=m
CONFIG_DMABUF_HEAPS=y
CONFIG_DMABUF_HEAPS_SYSTEM=m
@@ -1456,7 +1457,7 @@ CONFIG_CLK_IMX8QXP=y
CONFIG_CLK_IMX8ULP=y
CONFIG_CLK_IMX93=y
CONFIG_CLK_IMX95_BLK_CTL=y
-CONFIG_TI_SCI_CLK=y
+CONFIG_TI_SCI_CLK=m
CONFIG_COMMON_CLK_MT8192_AUDSYS=y
CONFIG_COMMON_CLK_MT8192_CAMSYS=y
CONFIG_COMMON_CLK_MT8192_IMGSYS=y
@@ -1678,7 +1679,7 @@ CONFIG_QCOM_CPR=y
CONFIG_QCOM_RPMHPD=y
CONFIG_QCOM_RPMPD=y
CONFIG_ROCKCHIP_PM_DOMAINS=y
-CONFIG_TI_SCI_PM_DOMAINS=y
+CONFIG_TI_SCI_PM_DOMAINS=m
CONFIG_ARM_IMX_BUS_DEVFREQ=y
CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
CONFIG_ARM_MEDIATEK_CCI_DEVFREQ=m
@@ -1745,15 +1746,15 @@ CONFIG_SL28CPLD_INTC=y
CONFIG_XILINX_INTC=y
CONFIG_QCOM_PDC=y
CONFIG_QCOM_MPM=y
-CONFIG_TI_SCI_INTR_IRQCHIP=y
-CONFIG_TI_SCI_INTA_IRQCHIP=y
+CONFIG_TI_SCI_INTR_IRQCHIP=m
+CONFIG_TI_SCI_INTA_IRQCHIP=m
CONFIG_RESET_GPIO=m
CONFIG_RESET_IMX7=y
CONFIG_RESET_QCOM_AOSS=y
CONFIG_RESET_QCOM_PDC=m
CONFIG_RESET_RZG2L_USBPHY_CTRL=y
CONFIG_RESET_RZV2H_USB2PHY=m
-CONFIG_RESET_TI_SCI=y
+CONFIG_RESET_TI_SCI=m
CONFIG_PHY_CAN_TRANSCEIVER=m
CONFIG_PHY_NXP_PTN3222=m
CONFIG_PHY_SNPS_EUSB2=m
--
2.47.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] arm64: configs: defconfig: Convert TISCI to modules
2026-09-10 13:44 [PATCH] arm64: configs: defconfig: Convert TISCI to modules Nishanth Menon
@ 2026-09-22 14:24 ` Nishanth Menon
2026-09-24 17:00 ` Thomas Richard
1 sibling, 0 replies; 3+ messages in thread
From: Nishanth Menon @ 2026-09-22 14:24 UTC (permalink / raw)
To: Nishanth Menon
Cc: linux-kernel, linux-arm-kernel, Siddharth Vadapalli,
Vignesh Raghavendra, Krzysztof Kozlowski, Geert Uytterhoeven,
Catalin Marinas, Bjorn Andersson, alexander.sverdlin, jan.kiszka,
ayush, robertcnelson, upstream, francesco.dolcini,
leonardo.costa, matthias.schiffer, stefano.r, eblanc, msp,
thomas.richard, miquel.raynal, mwalle
Hi Nishanth Menon,
On Thu, 10 Sep 2026 08:44:09 -0500, Nishanth Menon wrote:
> Now that all relevant drivers have are ready, convert the
> TISCI drivers to modules. This impacts all K3 platforms for
> boot, recommendation (based on empirical evidence) is to use
> deferred_probe_timeout=60 in kernel command line to allow for driver
> probes to complete successfully based on the initrd used.
>
> NET Savings: (Ubuntu Clang 23.0.0)
> ./scripts/bloat-o-meter vmlinux_previous vmlinux
> add/remove: 4/380 grow/shrink: 0/5 up/down: 32/-143248 (-143216)
>
> [...]
I have applied the following to branch ti-k3-config-next on [1].
Thank you!
[1/1] arm64: configs: defconfig: Convert TISCI to modules
commit: e557da9b756dba66f9b1ae8bb27add2b7719baf4
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent up the chain during
the next merge window (or sooner if it is a relevant bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
https://ti.com/opensource
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] arm64: configs: defconfig: Convert TISCI to modules
2026-09-10 13:44 [PATCH] arm64: configs: defconfig: Convert TISCI to modules Nishanth Menon
2026-09-22 14:24 ` Nishanth Menon
@ 2026-09-24 17:00 ` Thomas Richard
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Richard @ 2026-09-24 17:00 UTC (permalink / raw)
To: Nishanth Menon
Cc: linux-kernel, linux-arm-kernel, Siddharth Vadapalli,
Vignesh Raghavendra, Krzysztof Kozlowski, Geert Uytterhoeven,
Catalin Marinas, Bjorn Andersson, alexander.sverdlin, jan.kiszka,
ayush, robertcnelson, upstream, francesco.dolcini,
leonardo.costa, matthias.schiffer, stefano.r, eblanc, msp,
miquel.raynal, mwalle
Hi Nishanth,
On 9/10/26 3:44 PM, Nishanth Menon wrote:
> Now that all relevant drivers have are ready, convert the
> TISCI drivers to modules. This impacts all K3 platforms for
> boot, recommendation (based on empirical evidence) is to use
> deferred_probe_timeout=60 in kernel command line to allow for driver
> probes to complete successfully based on the initrd used.
>
It's maybe a bit late, but I did test your patch (linux next-20260923)
on J7200. Indeed with default deferred_probe_timeout value I got some
deferred probe.
[ 16.869217] platform 2830000.serial: deferred probe pending: (reason
unknown)
[ 16.869241] platform 24c0000.timer: deferred probe pending: (reason
unknown)
Using deferred_probe_timeout=60 fixes sometimes deferred probe for
24c0000.timer, but never not for 2830000.serial.
[ 68.582069] platform 2830000.serial: deferred probe pending: (reason
unknown)
[ 68.582094] platform 24c0000.timer: deferred probe pending: (reason
unknown)
[ 68.582128] ti_sci_pm_domains
44083000.system-controller:power-controller: sync_state() pending due to
24c0000.timer
[ 68.582144] ti_sci_pm_domains
44083000.system-controller:power-controller: sync_state() pending due to
2830000.serial
But switching all TISCI drivers to 'y' fixed them. Looks like an
ordering issue.
I also did test suspend-to-ram, it works as expected. Fun fact, doing a
suspend-to-ram allows to probe these 2 missing devices during resume. I
guess it confirms a timing/ordering issue during the boot. At the end of
the resume, no device anymore in /sys/kernel/debug/devices_deferred.
[ 124.053571] Restarting tasks: Starting
[ 124.053861] Restarting tasks: Done
[ 124.053907] random: crng reseeded on system resumption
[ 124.053970] PM: suspend exit
[ 124.058833] 2830000.serial: ttyS0 MMIO:0x0000000002830000 (irq = 700,
base_baud = 3000000) is a 8250
Best Regards,
Thomas
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-09-24 17:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-10 13:44 [PATCH] arm64: configs: defconfig: Convert TISCI to modules Nishanth Menon
2026-09-22 14:24 ` Nishanth Menon
2026-09-24 17:00 ` Thomas Richard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®