Message ID | CAHbNUh2kbYUa1OegRrOXMAEmKRjsf4PifT6tZnKdBx7NoDkq6A@mail.gmail.com |
---|---|
State | New |
Headers | show |
On 04.03.2014 13:01, Tushar Behera wrote: > On 4 March 2014 16:09, Javi Merino <javi.merino@arm.com> wrote: >> On Tue, Mar 04, 2014 at 10:30:19AM +0000, Sylwester Nawrocki wrote: >>> On 04/03/14 11:16, Javi Merino wrote: >>>> Yes, with [1] applied I don't get a kernel panic but the kernel fails >>>> to boot later on with an Imprecise external abort. Removing the mdma >>>> nodes from the dts gets rid of that. I guess what's missing is what >>>> you said: clocks for the mdma devices. >>> >>> Is removing mdm0 node enough to fix the boot failure, or both have to be >>> removed ? >> >> Actually, you it's only mdma1. Just removing the mdma1 node from the >> dt fixes the imprecise external abort. >> > > MDMA1 can support both secure and non-secure AXI transactions, the > actual behaviour is controlled by trustzone software. It may be the > case that MDMA1 is configured to be used in secure mode only, hence > accessing it in non-secure mode is causing the oops. > > Right now, the only solution looks like disabling this node in > Arndale-Octa dts file. > > --- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts > +++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts > @@ -354,4 +354,16 @@ > samsung,i2s-controller = <&i2s0>; > samsung,audio-codec = <&i2s_stub>; > }; > + > + amba { > + mdma1: mdma@11C10000 { > + /* > + * MDMA1 can support both secure and non-secure > + * AXI transactions. When this is enabled in the kernel > + * for boards that run in secure mode, we are getting > + * imprecise external aborts causing the kernel to oops. > + */ > + status = "disabled"; > + }; > + }; > > If it works, I will submit this patch. On Exynos 4 SoCs there were two instances of MDMA1, one secure and one non-secure. Isn't it the case for Exynos5420 as well? If yes, the common DTSI could be changed to always use the non-secure one. Best regards, Tomasz -- 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 4 March 2014 17:33, Tomasz Figa <tomasz.figa@gmail.com> wrote: > On 04.03.2014 13:01, Tushar Behera wrote: >> >> On 4 March 2014 16:09, Javi Merino <javi.merino@arm.com> wrote: >>> >>> On Tue, Mar 04, 2014 at 10:30:19AM +0000, Sylwester Nawrocki wrote: >>>> >>>> On 04/03/14 11:16, Javi Merino wrote: >>>>> >>>>> Yes, with [1] applied I don't get a kernel panic but the kernel fails >>>>> to boot later on with an Imprecise external abort. Removing the mdma >>>>> nodes from the dts gets rid of that. I guess what's missing is what >>>>> you said: clocks for the mdma devices. >>>> >>>> >>>> Is removing mdm0 node enough to fix the boot failure, or both have to be >>>> removed ? >>> >>> >>> Actually, you it's only mdma1. Just removing the mdma1 node from the >>> dt fixes the imprecise external abort. >>> >> >> MDMA1 can support both secure and non-secure AXI transactions, the >> actual behaviour is controlled by trustzone software. It may be the >> case that MDMA1 is configured to be used in secure mode only, hence >> accessing it in non-secure mode is causing the oops. >> >> Right now, the only solution looks like disabling this node in >> Arndale-Octa dts file. >> >> --- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts >> +++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts >> @@ -354,4 +354,16 @@ >> samsung,i2s-controller = <&i2s0>; >> samsung,audio-codec = <&i2s_stub>; >> }; >> + >> + amba { >> + mdma1: mdma@11C10000 { >> + /* >> + * MDMA1 can support both secure and non-secure >> + * AXI transactions. When this is enabled in the >> kernel >> + * for boards that run in secure mode, we are >> getting >> + * imprecise external aborts causing the kernel to >> oops. >> + */ >> + status = "disabled"; >> + }; >> + }; >> >> If it works, I will submit this patch. > > > On Exynos 4 SoCs there were two instances of MDMA1, one secure and one > non-secure. Isn't it the case for Exynos5420 as well? If yes, the common > DTSI could be changed to always use the non-secure one. > AFAICS, there is only one MDMA1 controller in Exynos5420. > Best regards, > Tomasz
Hi Tushar, On Tue, Mar 04, 2014 at 12:01:26PM +0000, Tushar Behera wrote: > On 4 March 2014 16:09, Javi Merino <javi.merino@arm.com> wrote: > > On Tue, Mar 04, 2014 at 10:30:19AM +0000, Sylwester Nawrocki wrote: > >> On 04/03/14 11:16, Javi Merino wrote: > >> > Yes, with [1] applied I don't get a kernel panic but the kernel fails > >> > to boot later on with an Imprecise external abort. Removing the mdma > >> > nodes from the dts gets rid of that. I guess what's missing is what > >> > you said: clocks for the mdma devices. > >> > >> Is removing mdm0 node enough to fix the boot failure, or both have to be > >> removed ? > > > > Actually, you it's only mdma1. Just removing the mdma1 node from the > > dt fixes the imprecise external abort. > > > > MDMA1 can support both secure and non-secure AXI transactions, the > actual behaviour is controlled by trustzone software. It may be the > case that MDMA1 is configured to be used in secure mode only, hence > accessing it in non-secure mode is causing the oops. > > Right now, the only solution looks like disabling this node in > Arndale-Octa dts file. > > --- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts > +++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts > @@ -354,4 +354,16 @@ > samsung,i2s-controller = <&i2s0>; > samsung,audio-codec = <&i2s_stub>; > }; > + > + amba { > + mdma1: mdma@11C10000 { > + /* > + * MDMA1 can support both secure and non-secure > + * AXI transactions. When this is enabled in the kernel > + * for boards that run in secure mode, we are getting > + * imprecise external aborts causing the kernel to oops. > + */ > + status = "disabled"; > + }; > + }; > > If it works, I will submit this patch. It works. Please submit it. Cheers, Javi -- 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
--- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts +++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts @@ -354,4 +354,16 @@ samsung,i2s-controller = <&i2s0>; samsung,audio-codec = <&i2s_stub>; }; + + amba { + mdma1: mdma@11C10000 { + /* + * MDMA1 can support both secure and non-secure + * AXI transactions. When this is enabled in the kernel + * for boards that run in secure mode, we are getting + * imprecise external aborts causing the kernel to oops. + */ + status = "disabled"; + }; + };