diff mbox series

PM / devfreq: exynos: add Exynos PPMU as a soft module dependency

Message ID 20230518074403.2894799-1-m.szyprowski@samsung.com
State Accepted
Commit ccb69e228ea48f8ea1e4a7dfeedf501329a9fdf4
Headers show
Series PM / devfreq: exynos: add Exynos PPMU as a soft module dependency | expand

Commit Message

Marek Szyprowski May 18, 2023, 7:44 a.m. UTC
Commit adf8238ef403 ("ARM: dts: exynos: move exynos-bus nodes out of soc
in Exynos4412") changed the order of the exynos-bus nodes, what results
in different probe order of the Exynos Bus devices. Although the driver
properly handles the deferred probe and all devices seems to be finally
properly registered, this change revealed some kind of a bug related to
PPMU counters registration and passive governor operation. Usually in 1
of 10 boots this results in complete board freeze during loading of the
kernel modules.

To avoid that freeze, ensure that the Exynos PPMU driver is already
loaded before the Exynos Bus driver starts probing.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
This is a follow-up of the following discussion:
https://lore.kernel.org/all/d287ca9f-b056-d39a-aa93-b0e2cb279f73@linaro.org/
---
 drivers/devfreq/exynos-bus.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Chanwoo Choi May 29, 2023, 2:25 p.m. UTC | #1
On 23. 5. 18. 16:44, Marek Szyprowski wrote:
> Commit adf8238ef403 ("ARM: dts: exynos: move exynos-bus nodes out of soc
> in Exynos4412") changed the order of the exynos-bus nodes, what results
> in different probe order of the Exynos Bus devices. Although the driver
> properly handles the deferred probe and all devices seems to be finally
> properly registered, this change revealed some kind of a bug related to
> PPMU counters registration and passive governor operation. Usually in 1
> of 10 boots this results in complete board freeze during loading of the
> kernel modules.
> 
> To avoid that freeze, ensure that the Exynos PPMU driver is already
> loaded before the Exynos Bus driver starts probing.
> 
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
> This is a follow-up of the following discussion:
> https://lore.kernel.org/all/d287ca9f-b056-d39a-aa93-b0e2cb279f73@linaro.org/
> ---
>  drivers/devfreq/exynos-bus.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/devfreq/exynos-bus.c b/drivers/devfreq/exynos-bus.c
> index 88414445adf3..245898f1a88e 100644
> --- a/drivers/devfreq/exynos-bus.c
> +++ b/drivers/devfreq/exynos-bus.c
> @@ -518,6 +518,7 @@ static struct platform_driver exynos_bus_platdrv = {
>  };
>  module_platform_driver(exynos_bus_platdrv);
>  
> +MODULE_SOFTDEP("pre: exynos_ppmu");
>  MODULE_DESCRIPTION("Generic Exynos Bus frequency driver");
>  MODULE_AUTHOR("Chanwoo Choi <cw00.choi@samsung.com>");
>  MODULE_LICENSE("GPL v2");

Applied it. Thanks.
diff mbox series

Patch

diff --git a/drivers/devfreq/exynos-bus.c b/drivers/devfreq/exynos-bus.c
index 88414445adf3..245898f1a88e 100644
--- a/drivers/devfreq/exynos-bus.c
+++ b/drivers/devfreq/exynos-bus.c
@@ -518,6 +518,7 @@  static struct platform_driver exynos_bus_platdrv = {
 };
 module_platform_driver(exynos_bus_platdrv);
 
+MODULE_SOFTDEP("pre: exynos_ppmu");
 MODULE_DESCRIPTION("Generic Exynos Bus frequency driver");
 MODULE_AUTHOR("Chanwoo Choi <cw00.choi@samsung.com>");
 MODULE_LICENSE("GPL v2");