[PATCH] drm/exynos: resolve infinite loop issue on multi-platform
Krzysztof Kozłowski
k.kozlowski at samsung.com
Thu Nov 6 04:11:27 PST 2014
On 06.11.2014 11:32, Inki Dae wrote:
> This patch resolves temporarily infinite loop issue incurred
> when Exynos drm driver is enabled and multi-platform kernel
> is used by registering Exynos drm device object only in case
> of Exynos SoC. So this patch will be replaced with more generic
> way later.
Does not help for Rinato board.
On Rinato:
-----------------------
Failed to find PMU node
Registering SWP/SWPB emulation handler
mmc0: BKOPS_EN bit is not set
mmc_host mmc0: Bus speed (slot 0) = 100000000Hz (slot req 100000000Hz,
actual 100000000HZ div = 0)
exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully.
mmc0: new HS200 MMC card at address 0001
platform exynos-drm: Driver exynos-drm requests probe deferral
mmcblk0: mmc0:0001 F5X5MA 3.64 GiB
mmcblk0boot0: mmc0:0001 F5X5MA partition 1 4.00 MiB
exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully.
mmcblk0boot1: mmc0:0001 F5X5MA partition 2 4.00 MiB
platform exynos-drm: Driver exynos-drm requests probe deferral
mmcblk0rpmb: mmc0:0001 F5X5MA partition 3 512 KiB
exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully.
platform exynos-drm: Driver exynos-drm requests probe deferral
mmcblk0: p1 p2 p3 p4 p5 p6 p7
exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully.
platform exynos-drm: Driver exynos-drm requests probe deferral
exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully.
platform exynos-drm: Driver exynos-drm requests probe deferral
and so on...
-----------------------
I do not know whether it is related but Trats2 board cannot boot due to
lockup after:
[drm] Initialized drm 1.1.0 20060810
(with or without the patch)
https://lkml.org/lkml/2014/11/6/125
Best regards,
Krzysztof
>
> Signed-off-by: Inki Dae <inki.dae at samsung.com>
> ---
> drivers/gpu/drm/exynos/exynos_drm_drv.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> index 443a206..ecc86aa 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> @@ -734,6 +734,18 @@ static int exynos_drm_init(void)
> {
> int ret;
>
> + /*
> + * Register device object only in case of Exynos SoC.
> + *
> + * Below codes resolves temporarily infinite loop issue incurred
> + * by Exynos drm driver when using multi-platform kernel.
> + * So these codes will be replaced with more generic way later.
> + */
> + if (!of_machine_is_compatible("samsung,exynos3") &&
> + !of_machine_is_compatible("samsung,exynos4") &&
> + !of_machine_is_compatible("samsung,exynos5"))
> + return -ENODEV;
> +
> exynos_drm_pdev = platform_device_register_simple("exynos-drm", -1,
> NULL, 0);
> if (IS_ERR(exynos_drm_pdev))
>
More information about the dri-devel
mailing list