From mboxrd@z Thu Jan 1 00:00:00 1970 From: soni.trilok@gmail.com (Trilok Soni) Date: Fri, 6 Mar 2009 12:03:31 +0530 Subject: [ltt-dev] [patch 7/9] omap trace clock In-Reply-To: <20090219030504.083768548@polymtl.ca> References: <20090219030213.010652037@polymtl.ca> <20090219030504.083768548@polymtl.ca> Message-ID: <5d5443650903052233u25e63e07x725169a74141f45f@mail.gmail.com> Hi Mathieu, > + > +/* > + * Cycle counter management. > + */ > + > +static inline void write_pmnc(u32 val) > +{ > + ? ? ? __asm__ __volatile__ ("mcr p15, 0, %0, c9, c12, 0" : : "r" (val)); > +} > + > +static inline u32 read_pmnc(void) > +{ > + ? ? ? u32 val; > + ? ? ? __asm__ __volatile__ ("mrc p15, 0, %0, c9, c12, 0" : "=r" (val)); > + ? ? ? ?return val; > +} > + > +static inline void write_ctens(u32 val) > +{ > + ? ? ? __asm__ __volatile__ ("mcr p15, 0, %0, c9, c12, 1" : : "r" (val)); > +} > + > +static inline u32 read_ctens(void) > +{ > + ? ? ? u32 val; > + ? ? ? __asm__ __volatile__ ("mrc p15, 0, %0, c9, c12, 1" : "=r" (val)); > + ? ? ? return val; > +} > + > +static inline void write_intenc(u32 val) > +{ > + ? ? ? __asm__ __volatile__ ("mcr p15, 0, %0, c9, c14, 2" : : "r" (val)); > +} > + > +static inline u32 read_intenc(void) > +{ > + ? ? ? u32 val; > + ? ? ? ?__asm__ __volatile__ ("mrc p15, 0, %0, c9, c14, 2" : "=r" (val)); > + ? ? ? return val; > +} > + > +static inline void write_useren(u32 val) > +{ > + ? ? ? __asm__ __volatile__ ("mcr p15, 0, %0, c9, c14, 0" : : "r" (val)); > +} > + > +static inline u32 read_useren(void) > +{ > + ? ? ? u32 val; > + ? ? ? ?__asm__ __volatile__ ("mrc p15, 0, %0, c9, c14, 0" : "=r" (val)); > + ? ? ? return val; > +} > + > +/* > + * Must disable counter before writing to it. > + */ > +static inline void write_ccnt(u32 val) > +{ > + ? ? ? __asm__ __volatile__ ("mcr p15, 0, %0, c9, c13, 0" : : "r" (val)); > +} Isn't is some of this cycle counter management code remain same for any cortext-A8 based SoC. I mean this doesn't seem to be specific to OMAP3 but to cortex-a8 it seems. -- ---Trilok Soni http://triloksoni.wordpress.com http://www.linkedin.com/in/triloksoni