[PATCH] drm/lima: Mark simple_ondemand governor as softdep

Qiang Yu yuq825 at gmail.com
Tue Jun 18 04:33:50 UTC 2024


I see the problem that initramfs need to build a module dependency chain,
but lima does not call any symbol from simpleondemand governor module.

softdep module seems to be optional while our dependency is hard one,
can we just add MODULE_INFO(depends, _depends), or create a new
macro called MODULE_DEPENDS()?

On Tue, Jun 18, 2024 at 4:22 AM Dragan Simic <dsimic at manjaro.org> wrote:
>
> Lima DRM driver uses devfreq to perform DVFS, while using simple_ondemand
> devfreq governor by default.  This causes driver initialization to fail on
> boot when simple_ondemand governor isn't built into the kernel statically,
> as a result of the missing module dependency and, consequently, the required
> governor module not being included in the initial ramdisk.  Thus, let's mark
> simple_ondemand governor as a softdep for Lima, to have its kernel module
> included in the initial ramdisk.
>
> This is a rather longstanding issue that has forced distributions to build
> devfreq governors statically into their kernels, [1][2] or may have forced
> some users to introduce unnecessary workarounds.
>
> Having simple_ondemand marked as a softdep for Lima may not resolve this
> issue for all Linux distributions.  In particular, it will remain unresolved
> for the distributions whose utilities for the initial ramdisk generation do
> not handle the available softdep information [3] properly yet.  However, some
> Linux distributions already handle softdeps properly while generating their
> initial ramdisks, [4] and this is a prerequisite step in the right direction
> for the distributions that don't handle them properly yet.
>
> [1] https://gitlab.manjaro.org/manjaro-arm/packages/core/linux-pinephone/-/blob/6.7-megi/config?ref_type=heads#L5749
> [2] https://gitlab.com/postmarketOS/pmaports/-/blob/7f64e287e7732c9eaa029653e73ca3d4ba1c8598/main/linux-postmarketos-allwinner/config-postmarketos-allwinner.aarch64#L4654
> [3] https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/commit/?id=49d8e0b59052999de577ab732b719cfbeb89504d
> [4] https://github.com/archlinux/mkinitcpio/commit/97ac4d37aae084a050be512f6d8f4489054668ad
>
> Cc: Philip Muller <philm at manjaro.org>
> Cc: Oliver Smith <ollieparanoid at postmarketos.org>
> Cc: Daniel Smith <danct12 at disroot.org>
> Cc: stable at vger.kernel.org
> Fixes: 1996970773a3 ("drm/lima: Add optional devfreq and cooling device support")
> Signed-off-by: Dragan Simic <dsimic at manjaro.org>
> ---
>  drivers/gpu/drm/lima/lima_drv.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/lima/lima_drv.c b/drivers/gpu/drm/lima/lima_drv.c
> index 739c865b556f..10bce18b7c31 100644
> --- a/drivers/gpu/drm/lima/lima_drv.c
> +++ b/drivers/gpu/drm/lima/lima_drv.c
> @@ -501,3 +501,4 @@ module_platform_driver(lima_platform_driver);
>  MODULE_AUTHOR("Lima Project Developers");
>  MODULE_DESCRIPTION("Lima DRM Driver");
>  MODULE_LICENSE("GPL v2");
> +MODULE_SOFTDEP("pre: governor_simpleondemand");


More information about the dri-devel mailing list