Message ID | 1346909447-12526-2-git-send-email-koba@kmckk.co.jp (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Sep 06, 2012 at 06:30:46AM +0100, Tetsuyuki Kobayshi wrote: > From: Tetsuyuki Kobayashi <koba@kmckk.co.jp> > > This patch enables PMU(Performance Monitoring Unit) for sh73a0. > > Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp> > --- > Changes for v2: > - Removed #ifdef CONFIG_HW_PERF_EVENTS > - Added kzm9g_defconfig > > arch/arm/configs/kzm9g_defconfig | 1 + > arch/arm/mach-shmobile/setup-sh73a0.c | 22 ++++++++++++++++++++++ > 2 files changed, 23 insertions(+) > > diff --git a/arch/arm/configs/kzm9g_defconfig b/arch/arm/configs/kzm9g_defconfig > index 2388c86..5d0c667 100644 > --- a/arch/arm/configs/kzm9g_defconfig > +++ b/arch/arm/configs/kzm9g_defconfig > @@ -14,6 +14,7 @@ CONFIG_NAMESPACES=y > CONFIG_CC_OPTIMIZE_FOR_SIZE=y > CONFIG_SYSCTL_SYSCALL=y > CONFIG_EMBEDDED=y > +CONFIG_PERF_EVENTS=y > CONFIG_SLAB=y > CONFIG_MODULES=y > CONFIG_MODULE_FORCE_LOAD=y > diff --git a/arch/arm/mach-shmobile/setup-sh73a0.c b/arch/arm/mach-shmobile/setup-sh73a0.c > index d230af6..8186a08 100644 > --- a/arch/arm/mach-shmobile/setup-sh73a0.c > +++ b/arch/arm/mach-shmobile/setup-sh73a0.c > @@ -39,6 +39,7 @@ > #include <asm/mach/map.h> > #include <asm/mach/arch.h> > #include <asm/mach/time.h> > +#include <asm/pmu.h> > > static struct map_desc sh73a0_io_desc[] __initdata = { > /* create a 1:1 entity map for 0xe6xxxxxx > @@ -734,6 +735,26 @@ static struct platform_device mpdma0_device = { > }, > }; > > +static struct resource pmu_resources[] = { > + [0] = { > + .start = gic_spi(55), > + .end = gic_spi(55), > + .flags = IORESOURCE_IRQ, > + }, > + [1] = { > + .start = gic_spi(56), > + .end = gic_spi(56), > + .flags = IORESOURCE_IRQ, > + }, > +}; > + > +static struct platform_device pmu_device = { > + .name = "arm-pmu", > + .id = ARM_PMU_DEVICE_CPU, > + .num_resources = ARRAY_SIZE(pmu_resources), > + .resource = pmu_resources, > +}; Please check my latest perf stuff to go into arm-soc (pmu/cleanup). The ARM_PMU_DEVICE_CPU crap has disappeared and you won't need to include asm/pmu.h anymore. Will
Hello, Will (2012/09/06 18:11), Will Deacon wrote: > On Thu, Sep 06, 2012 at 06:30:46AM +0100, Tetsuyuki Kobayshi wrote: >> From: Tetsuyuki Kobayashi <koba@kmckk.co.jp> >> >> This patch enables PMU(Performance Monitoring Unit) for sh73a0. >> >> Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp> >> --- >> Changes for v2: >> - Removed #ifdef CONFIG_HW_PERF_EVENTS >> - Added kzm9g_defconfig >> >> arch/arm/configs/kzm9g_defconfig | 1 + >> arch/arm/mach-shmobile/setup-sh73a0.c | 22 ++++++++++++++++++++++ >> 2 files changed, 23 insertions(+) >> >> diff --git a/arch/arm/configs/kzm9g_defconfig b/arch/arm/configs/kzm9g_defconfig >> index 2388c86..5d0c667 100644 >> --- a/arch/arm/configs/kzm9g_defconfig >> +++ b/arch/arm/configs/kzm9g_defconfig >> @@ -14,6 +14,7 @@ CONFIG_NAMESPACES=y >> CONFIG_CC_OPTIMIZE_FOR_SIZE=y >> CONFIG_SYSCTL_SYSCALL=y >> CONFIG_EMBEDDED=y >> +CONFIG_PERF_EVENTS=y >> CONFIG_SLAB=y >> CONFIG_MODULES=y >> CONFIG_MODULE_FORCE_LOAD=y >> diff --git a/arch/arm/mach-shmobile/setup-sh73a0.c b/arch/arm/mach-shmobile/setup-sh73a0.c >> index d230af6..8186a08 100644 >> --- a/arch/arm/mach-shmobile/setup-sh73a0.c >> +++ b/arch/arm/mach-shmobile/setup-sh73a0.c >> @@ -39,6 +39,7 @@ >> #include <asm/mach/map.h> >> #include <asm/mach/arch.h> >> #include <asm/mach/time.h> >> +#include <asm/pmu.h> >> >> static struct map_desc sh73a0_io_desc[] __initdata = { >> /* create a 1:1 entity map for 0xe6xxxxxx >> @@ -734,6 +735,26 @@ static struct platform_device mpdma0_device = { >> }, >> }; >> >> +static struct resource pmu_resources[] = { >> + [0] = { >> + .start = gic_spi(55), >> + .end = gic_spi(55), >> + .flags = IORESOURCE_IRQ, >> + }, >> + [1] = { >> + .start = gic_spi(56), >> + .end = gic_spi(56), >> + .flags = IORESOURCE_IRQ, >> + }, >> +}; >> + >> +static struct platform_device pmu_device = { >> + .name = "arm-pmu", >> + .id = ARM_PMU_DEVICE_CPU, >> + .num_resources = ARRAY_SIZE(pmu_resources), >> + .resource = pmu_resources, >> +}; > > Please check my latest perf stuff to go into arm-soc (pmu/cleanup). The > ARM_PMU_DEVICE_CPU crap has disappeared and you won't need to include > asm/pmu.h anymore. > Thak you, Will. I'm checking out pmu/cleanup branch of arm-soc. I will post v3 patch based on it.
From: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Hello, Will
Could you apply this patch set to your pmu/cleanup branch on arm-soc?
The follewing patches enables PMU(Performance Monitoring Unit) for sh73a0 and emev2 SoCs. I tested these patches on kzm9g board and kzm9d board.
Tetsuyuki Kobayashi (2):
ARM: shmobile: sh73a0: enable PMU(Performance Monitoring Unit)
ARM: shmobile: emev2: enable PMU(Performance Monitoring Unit)
arch/arm/configs/kzm9d_defconfig | 1 +
arch/arm/configs/kzm9g_defconfig | 1 +
arch/arm/mach-shmobile/setup-emev2.c | 21 +++++++++++++++++++++
arch/arm/mach-shmobile/setup-sh73a0.c | 21 +++++++++++++++++++++
4 files changed, 44 insertions(+)
On Thu, Sep 06, 2012 at 12:14:05PM +0100, Tetsuyuki Kobayshi wrote: > From: Tetsuyuki Kobayashi <koba@kmckk.co.jp> > > Hello, Will Hi, Thanks for updating the patches. > Could you apply this patch set to your pmu/cleanup branch on arm-soc? Actually, it's better if you just base your branch against that one when you send it to arm-soc for merging. That way, other SoCs can also develop against that branch without having to worry about each other. Cheers, Will
Hi, Will Hi, Simon (2012/09/06 20:21), Will Deacon wrote: > On Thu, Sep 06, 2012 at 12:14:05PM +0100, Tetsuyuki Kobayshi wrote: >> From: Tetsuyuki Kobayashi <koba@kmckk.co.jp> >> >> Hello, Will > > Hi, > > Thanks for updating the patches. > >> Could you apply this patch set to your pmu/cleanup branch on arm-soc? > > Actually, it's better if you just base your branch against that one when you > send it to arm-soc for merging. That way, other SoCs can also develop > against that branch without having to worry about each other. > I see. I thought that removing ARM_PMU_DEVICE_CPU depends on your pmu/cleanup branch, but I found it does not. I verified this v3 patch can apply cleanly to soc branch on renesus.git and works fine. Simon-san, could you apply this v3 patch to soc branch after review ?
On Fri, Sep 07, 2012 at 02:50:47AM +0100, Tetsuyuki Kobayashi wrote: > (2012/09/06 20:21), Will Deacon wrote: > > On Thu, Sep 06, 2012 at 12:14:05PM +0100, Tetsuyuki Kobayshi wrote: > >> From: Tetsuyuki Kobayashi <koba@kmckk.co.jp> > > Actually, it's better if you just base your branch against that one when you > > send it to arm-soc for merging. That way, other SoCs can also develop > > against that branch without having to worry about each other. > > > I see. > I thought that removing ARM_PMU_DEVICE_CPU depends on your pmu/cleanup > branch, but I found it does not. It will probably build alright for you without my patches, but I don't thinkt it will work correctly as we'll fail to reserve the PMU. Will
On Fri, Sep 07, 2012 at 10:50:47AM +0900, Tetsuyuki Kobayashi wrote: > Hi, Will > Hi, Simon > > (2012/09/06 20:21), Will Deacon wrote: > >On Thu, Sep 06, 2012 at 12:14:05PM +0100, Tetsuyuki Kobayshi wrote: > >>From: Tetsuyuki Kobayashi <koba@kmckk.co.jp> > >> > >>Hello, Will > > > >Hi, > > > >Thanks for updating the patches. > > > >>Could you apply this patch set to your pmu/cleanup branch on arm-soc? > > > >Actually, it's better if you just base your branch against that one when you > >send it to arm-soc for merging. That way, other SoCs can also develop > >against that branch without having to worry about each other. > > > I see. > I thought that removing ARM_PMU_DEVICE_CPU depends on your > pmu/cleanup branch, but I found it does not. > I verified this v3 patch can apply cleanly to soc branch on renesus.git > and works fine. > > Simon-san, could you apply this v3 patch to soc branch after review ? Sure, will do.
On Thu, Sep 06, 2012 at 08:14:05PM +0900, Tetsuyuki Kobayshi wrote: > From: Tetsuyuki Kobayashi <koba@kmckk.co.jp> > > Hello, Will > > Could you apply this patch set to your pmu/cleanup branch on arm-soc? > > The follewing patches enables PMU(Performance Monitoring Unit) for sh73a0 and emev2 SoCs. I tested these patches on kzm9g board and kzm9d board. Thanks, I have pushed this to the pmu/cleanup branch of my renesas tree and sent a pull-request to Will.
diff --git a/arch/arm/configs/kzm9g_defconfig b/arch/arm/configs/kzm9g_defconfig index 2388c86..5d0c667 100644 --- a/arch/arm/configs/kzm9g_defconfig +++ b/arch/arm/configs/kzm9g_defconfig @@ -14,6 +14,7 @@ CONFIG_NAMESPACES=y CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL_SYSCALL=y CONFIG_EMBEDDED=y +CONFIG_PERF_EVENTS=y CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_FORCE_LOAD=y diff --git a/arch/arm/mach-shmobile/setup-sh73a0.c b/arch/arm/mach-shmobile/setup-sh73a0.c index d230af6..8186a08 100644 --- a/arch/arm/mach-shmobile/setup-sh73a0.c +++ b/arch/arm/mach-shmobile/setup-sh73a0.c @@ -39,6 +39,7 @@ #include <asm/mach/map.h> #include <asm/mach/arch.h> #include <asm/mach/time.h> +#include <asm/pmu.h> static struct map_desc sh73a0_io_desc[] __initdata = { /* create a 1:1 entity map for 0xe6xxxxxx @@ -734,6 +735,26 @@ static struct platform_device mpdma0_device = { }, }; +static struct resource pmu_resources[] = { + [0] = { + .start = gic_spi(55), + .end = gic_spi(55), + .flags = IORESOURCE_IRQ, + }, + [1] = { + .start = gic_spi(56), + .end = gic_spi(56), + .flags = IORESOURCE_IRQ, + }, +}; + +static struct platform_device pmu_device = { + .name = "arm-pmu", + .id = ARM_PMU_DEVICE_CPU, + .num_resources = ARRAY_SIZE(pmu_resources), + .resource = pmu_resources, +}; + static struct platform_device *sh73a0_early_devices[] __initdata = { &scif0_device, &scif1_device, @@ -757,6 +778,7 @@ static struct platform_device *sh73a0_late_devices[] __initdata = { &i2c4_device, &dma0_device, &mpdma0_device, + &pmu_device, }; #define SRCR2 0xe61580b0