Re: kernel panic when booting on exynos 5440

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

 




On Thursday 25 December 2014 04:13 PM, Ming Lei wrote:
On Thu, Dec 25, 2014 at 6:32 PM, Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> wrote:
+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();
  }

If I remember correctly, there are other SoCs which have not been
included in the pmu mapping list, and looks these SoCs need
to be handled too.


As far as I can see in today's linux-next and kgene/for-next tree, only exynos5440 PMU mapping is missing. If I am missing anything please specify exact SoC name, which you think need to be handled.

Thanks,
Pankaj Dubey


Thanks,
Ming Lei

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