Re: kernel panic when booting on exynos 5440

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



+CC: Thomas Abraham

Hi Ming,

On Thursday 25 December 2014 02:18 PM, Ming Lei wrote:
Hi Pankaj,

In your commit fce9e5bb2(ARM: EXYNOS: Add support for
mapping PMU base address via DT), 'pmu_base_addr' is
only parsed for very limited machines from the table of
'exynos_dt_pmu_match'.  For other boards, 'pmu_base_addr'
will keep its default value of null, then panic() is triggered.


Yes, it will.
As exynos5440 DT does not have PMU device node, neither above mentioned patch added corresponding matching device_id. If I remember correctly, I might have missed this because exynos5440 DT was not having PMU node.

What do you think about the problem?

I missed this part, and I should have taken care of this in original patch itself. Well as of now I can think of only one solution that if we really want to keep support for exynos5440 in mainline kernel, to avoid above issue we should skip pmu mapping for exynos5440. In this case following patch will do this work.

Also I will like to know from Kukjin that what best can be done now.
If he is OK with below solution I can post the same.

---------------------------------------------------------------

Subject: [PATCH] ARM: EXYNOS: do not try to map PMU for exynos5440

Commit id: 2e94ac42898f84d76e3c21dd91bc is not taking care
of mapping of exynos5440 PMU register which will result in kernel panic.
As of now let's avoid mapping of exynos5440 PMU.

Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx>
---
 arch/arm/mach-exynos/exynos.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index c13d083..1891b8c 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -208,7 +208,8 @@ static void __init exynos_init_irq(void)
         * DT is not unflatten so we can't use DT APIs before
         * init_irq
         */
-       exynos_map_pmu();
+       if (!of_machine_is_compatible("samsung,exynos5440"))
+               exynos_map_pmu();
 }

 static void __init exynos_dt_machine_init(void)

------------------------------------------------------

Thanks,
Ming Lei


Thanks,
Pankaj Dubey
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  Powered by Linux