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.
Signed-off-by: Inki Dae inki.dae@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))
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@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))
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@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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On czw, 2014-11-06 at 21:32 +0900, Inki Dae wrote:
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.
model = "Samsung Rinato board"; compatible = "samsung,rinato-rev05", "samsung,exynos3250", "samsung,exynos3";
The problem is "samsung,exynos3" because the patch solves only issue on multiplatform kernel run on non-exynos board. It does not solve the problem on exynos board with DRM enabled but without all drivers.
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?
Just boot up next-2014110{456} with kernel config attached in mentioned email.
Best regards, Krzysztof
On 2014년 11월 06일 22:00, Krzysztof Kozlowski wrote:
On czw, 2014-11-06 at 21:32 +0900, Inki Dae wrote:
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.
model = "Samsung Rinato board"; compatible = "samsung,rinato-rev05", "samsung,exynos3250", "samsung,exynos3";
The problem is "samsung,exynos3" because the patch solves only issue on multiplatform kernel run on non-exynos board. It does not solve the problem on exynos board with DRM enabled but without all drivers.
Right, if you disabled all kms drivers and enabled only non-kms drivers then the infinite loop will occur. However, this should be handled in separated issue because without this patch, same issue will occur.
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?
Just boot up next-2014110{456} with kernel config attached in mentioned email.
It looks like other issue regardless of this patch. If the board dts file includes compatible string that Exynos drm driver is checking then Exynos drm driver has no any change - having same logic.
Thanks, Inki Dae
Best regards, Krzysztof
-- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
dri-devel@lists.freedesktop.org