diff mbox

kernel panic when booting on exynos 5440

Message ID 549BE7CC.1000005@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Pankaj Dubey Dec. 25, 2014, 10:32 a.m. UTC
+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@samsung.com>
---
  arch/arm/mach-exynos/exynos.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)


------------------------------------------------------
>
> Thanks,
> Ming Lei
>

Thanks,
Pankaj Dubey

Comments

Ming Lei Dec. 25, 2014, 10:43 a.m. UTC | #1
On Thu, Dec 25, 2014 at 6:32 PM, Pankaj Dubey <pankaj.dubey@samsung.com> 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@samsung.com>
> ---
>  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.


Thanks,
Ming Lei
Pankaj Dubey Dec. 25, 2014, 10:53 a.m. UTC | #2
On Thursday 25 December 2014 04:13 PM, Ming Lei wrote:
> On Thu, Dec 25, 2014 at 6:32 PM, Pankaj Dubey <pankaj.dubey@samsung.com> 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@samsung.com>
>> ---
>>   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
>
Ming Lei Dec. 26, 2014, 1:39 a.m. UTC | #3
On Thu, Dec 25, 2014 at 6:53 PM, Pankaj Dubey <pankaj.dubey@samsung.com> wrote:
>> 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.

You are right, it is my fault.

Thanks
Ming Lei
Ming Lei Jan. 4, 2015, 2:57 a.m. UTC | #4
Hi Guys,

On Thu, Dec 25, 2014 at 6:32 PM, Pankaj Dubey <pankaj.dubey@samsung.com> 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@samsung.com>

Is there any opportunity to merge the fix? Or exynos5440 will not be
supported in future?


Thanks,
Ming Lei
kgene@kernel.org Jan. 5, 2015, 10:13 a.m. UTC | #5
Ming Lei wrote:
> 
> Hi Guys,
> 
Hi,

Sorry for late response. 

> On Thu, Dec 25, 2014 at 6:32 PM, Pankaj Dubey <pankaj.dubey@samsung.com> 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@samsung.com>
> 
> Is there any opportunity to merge the fix? Or exynos5440 will not be
> supported in future?
> 
Basically, I'm fine on the change like others for exynos5440 at this moment
and if any other comments, I'll let you know on the patch in mailing list.

Happy new year.

Thanks,
Kukjin
Ming Lei Jan. 5, 2015, 12:13 p.m. UTC | #6
On 1/5/15, Kukjin Kim <kgene@kernel.org> wrote:
> Ming Lei wrote:
>>
>> Hi Guys,
>>
> Hi,
>
> Sorry for late response.
>
>> On Thu, Dec 25, 2014 at 6:32 PM, Pankaj Dubey <pankaj.dubey@samsung.com>
>> 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@samsung.com>
>>
>> Is there any opportunity to merge the fix? Or exynos5440 will not be
>> supported in future?
>>
> Basically, I'm fine on the change like others for exynos5440 at this moment
> and if any other comments, I'll let you know on the patch in mailing list.

Great thanks for your response!


Thanks,
Ming Lei
diff mbox

Patch

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)