From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergei Shtylyov Date: Tue, 10 Dec 2013 17:01:18 +0000 Subject: Re: [PATCH] ARM: rcar-gen2: Do not setup timer in non-secure mode Message-Id: <52A748DE.8000508@cogentembedded.com> List-Id: References: <1386690813-15070-1-git-send-email-ben.dooks@codethink.co.uk> In-Reply-To: <1386690813-15070-1-git-send-email-ben.dooks@codethink.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-arm-kernel@lists.infradead.org Hello. On 10-12-2013 19:53, Ben Dooks wrote: > If the system has been started in non-secure mode, then the ARM generic > timer is not configurable during the kernel initialisation. Currently > the only thing we can check for is if the timer has been correctly > configured during the boot process. > Signed-off-by: Ben Dooks > Reviewed-by: Ian Molton > --- > arch/arm/mach-shmobile/setup-rcar-gen2.c | 18 +++++++++++++----- > 1 file changed, 13 insertions(+), 5 deletions(-) > diff --git a/arch/arm/mach-shmobile/setup-rcar-gen2.c b/arch/arm/mach-shmobile/setup-rcar-gen2.c > index 5734c24..6b7b7f1 100644 > --- a/arch/arm/mach-shmobile/setup-rcar-gen2.c > +++ b/arch/arm/mach-shmobile/setup-rcar-gen2.c > @@ -78,12 +78,20 @@ void __init rcar_gen2_timer_init(void) > /* Remap "armgcnt address map" space */ > base = ioremap(0xe6080000, PAGE_SIZE); > > - /* Update registers with correct frequency */ > - iowrite32(freq, base + CNTFID0); > - asm volatile("mcr p15, 0, %0, c14, c0, 0" : : "r" (freq)); > + /* Update the timer if it is either not running, or is not at the > + * right frequency. The timer is only configurable in secure mode > + * so this avoids an abort if the loader started the timer and > + * started the kernel in non-secure mode. */ The preferred style of the multi-line comments is this: /* * bla * bla */ WBR, Sergei From mboxrd@z Thu Jan 1 00:00:00 1970 From: sergei.shtylyov@cogentembedded.com (Sergei Shtylyov) Date: Tue, 10 Dec 2013 21:01:18 +0400 Subject: [PATCH] ARM: rcar-gen2: Do not setup timer in non-secure mode In-Reply-To: <1386690813-15070-1-git-send-email-ben.dooks@codethink.co.uk> References: <1386690813-15070-1-git-send-email-ben.dooks@codethink.co.uk> Message-ID: <52A748DE.8000508@cogentembedded.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hello. On 10-12-2013 19:53, Ben Dooks wrote: > If the system has been started in non-secure mode, then the ARM generic > timer is not configurable during the kernel initialisation. Currently > the only thing we can check for is if the timer has been correctly > configured during the boot process. > Signed-off-by: Ben Dooks > Reviewed-by: Ian Molton > --- > arch/arm/mach-shmobile/setup-rcar-gen2.c | 18 +++++++++++++----- > 1 file changed, 13 insertions(+), 5 deletions(-) > diff --git a/arch/arm/mach-shmobile/setup-rcar-gen2.c b/arch/arm/mach-shmobile/setup-rcar-gen2.c > index 5734c24..6b7b7f1 100644 > --- a/arch/arm/mach-shmobile/setup-rcar-gen2.c > +++ b/arch/arm/mach-shmobile/setup-rcar-gen2.c > @@ -78,12 +78,20 @@ void __init rcar_gen2_timer_init(void) > /* Remap "armgcnt address map" space */ > base = ioremap(0xe6080000, PAGE_SIZE); > > - /* Update registers with correct frequency */ > - iowrite32(freq, base + CNTFID0); > - asm volatile("mcr p15, 0, %0, c14, c0, 0" : : "r" (freq)); > + /* Update the timer if it is either not running, or is not at the > + * right frequency. The timer is only configurable in secure mode > + * so this avoids an abort if the loader started the timer and > + * started the kernel in non-secure mode. */ The preferred style of the multi-line comments is this: /* * bla * bla */ WBR, Sergei