[PATCH] drm/exynos: resolve infinite loop issue on multi-platform

Inki Dae inki.dae at samsung.com
Thu Nov 6 04:32:34 PST 2014


On 2014년 11월 06일 21:11, Krzysztof Kozłowski wrote:
> 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...
> -----------------------

Can you show me compatible string placed on top of exynos3250-rinato.dts
file? If the compatible has "samsung,exynos3" it should be no problem
with this patch. And the rinato dts file we posted to mainline has the
compatible string.

> 
> 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
> 

hmm... it's strange because my trats2 board works well with this patch.
Which kernel did you test? And how can I reproduce above lockup?

Thanks,
Inki Dae

> 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))
>>
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 



More information about the dri-devel mailing list