* [PATCH] Add the Performance Monitoring Unit to the Trimslice device tree [not found] <1330740413-29260-1-git-send-email-wcohen@redhat.com> @ 2012-03-05 10:32 ` Will Deacon 2012-04-23 17:56 ` William Cohen 0 siblings, 1 reply; 9+ messages in thread From: Will Deacon @ 2012-03-05 10:32 UTC (permalink / raw) To: linux-arm-kernel On Sat, Mar 03, 2012 at 02:06:53AM +0000, William Cohen wrote: > The tegra processor has a performance monitoring unit. However, this > was not listed on the board-trimslice.c devices. This patch adds > it to the list of devices and allows one to use hardware performance > monitoring events on the trimslice machine. > > Signed-off-by: William Cohen <wcohen@redhat.com> > --- > arch/arm/mach-tegra/board-trimslice.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/mach-tegra/board-trimslice.c b/arch/arm/mach-tegra/board-trimslice.c > index cd52820..0484903 100644 > --- a/arch/arm/mach-tegra/board-trimslice.c > +++ b/arch/arm/mach-tegra/board-trimslice.c > @@ -82,6 +82,7 @@ static struct platform_device trimslice_audio_device = { > > static struct platform_device *trimslice_devices[] __initdata = { > &debug_uart, > + &tegra_pmu_device, > &tegra_sdhci_device1, > &tegra_sdhci_device4, > &tegra_i2s_device1, > -- > 1.7.5.2 Olof - would you be able to pick this up please? I've not been able to test it, but since the device is already defined I'm assuming the IRQ numbers are correct. Cheers, Will ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] Add the Performance Monitoring Unit to the Trimslice device tree 2012-03-05 10:32 ` [PATCH] Add the Performance Monitoring Unit to the Trimslice device tree Will Deacon @ 2012-04-23 17:56 ` William Cohen 2012-04-26 15:16 ` William Cohen 0 siblings, 1 reply; 9+ messages in thread From: William Cohen @ 2012-04-23 17:56 UTC (permalink / raw) To: linux-arm-kernel On 03/05/2012 05:32 AM, Will Deacon wrote: > On Sat, Mar 03, 2012 at 02:06:53AM +0000, William Cohen wrote: >> The tegra processor has a performance monitoring unit. However, this >> was not listed on the board-trimslice.c devices. This patch adds >> it to the list of devices and allows one to use hardware performance >> monitoring events on the trimslice machine. >> >> Signed-off-by: William Cohen <wcohen@redhat.com> >> --- >> arch/arm/mach-tegra/board-trimslice.c | 1 + >> 1 files changed, 1 insertions(+), 0 deletions(-) >> >> diff --git a/arch/arm/mach-tegra/board-trimslice.c b/arch/arm/mach-tegra/board-trimslice.c >> index cd52820..0484903 100644 >> --- a/arch/arm/mach-tegra/board-trimslice.c >> +++ b/arch/arm/mach-tegra/board-trimslice.c >> @@ -82,6 +82,7 @@ static struct platform_device trimslice_audio_device = { >> >> static struct platform_device *trimslice_devices[] __initdata = { >> &debug_uart, >> + &tegra_pmu_device, >> &tegra_sdhci_device1, >> &tegra_sdhci_device4, >> &tegra_i2s_device1, >> -- >> 1.7.5.2 > > Olof - would you be able to pick this up please? I've not been able to test > it, but since the device is already defined I'm assuming the IRQ numbers are > correct. > > Cheers, > > Will Hi Will and Olof, Has this patch been pulled into the git tree? -Will (Cohen) ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] Add the Performance Monitoring Unit to the Trimslice device tree 2012-04-23 17:56 ` William Cohen @ 2012-04-26 15:16 ` William Cohen 2012-04-26 15:22 ` Will Deacon 0 siblings, 1 reply; 9+ messages in thread From: William Cohen @ 2012-04-26 15:16 UTC (permalink / raw) To: linux-arm-kernel On 04/23/2012 01:56 PM, William Cohen wrote: > On 03/05/2012 05:32 AM, Will Deacon wrote: >> On Sat, Mar 03, 2012 at 02:06:53AM +0000, William Cohen wrote: >>> The tegra processor has a performance monitoring unit. However, this >>> was not listed on the board-trimslice.c devices. This patch adds >>> it to the list of devices and allows one to use hardware performance >>> monitoring events on the trimslice machine. >>> >>> Signed-off-by: William Cohen <wcohen@redhat.com> >>> --- >>> arch/arm/mach-tegra/board-trimslice.c | 1 + >>> 1 files changed, 1 insertions(+), 0 deletions(-) >>> >>> diff --git a/arch/arm/mach-tegra/board-trimslice.c b/arch/arm/mach-tegra/board-trimslice.c >>> index cd52820..0484903 100644 >>> --- a/arch/arm/mach-tegra/board-trimslice.c >>> +++ b/arch/arm/mach-tegra/board-trimslice.c >>> @@ -82,6 +82,7 @@ static struct platform_device trimslice_audio_device = { >>> >>> static struct platform_device *trimslice_devices[] __initdata = { >>> &debug_uart, >>> + &tegra_pmu_device, >>> &tegra_sdhci_device1, >>> &tegra_sdhci_device4, >>> &tegra_i2s_device1, >>> -- >>> 1.7.5.2 >> >> Olof - would you be able to pick this up please? I've not been able to test >> it, but since the device is already defined I'm assuming the IRQ numbers are >> correct. >> >> Cheers, >> >> Will > > Hi Will and Olof, > > Has this patch been pulled into the git tree? -Will (Cohen) This patch pretty much duplicates what is already done for in board-seaboard.c: http://lxr.linux.no/#linux+v3.3.3/arch/arm/mach-tegra/board-seaboard.c#L147 I have tested the patch out with oprofile, papi, and perf. Things seem to function properly with the patch on a trimslice. -Will ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] Add the Performance Monitoring Unit to the Trimslice device tree 2012-04-26 15:16 ` William Cohen @ 2012-04-26 15:22 ` Will Deacon 2012-04-26 15:58 ` Stephen Warren 0 siblings, 1 reply; 9+ messages in thread From: Will Deacon @ 2012-04-26 15:22 UTC (permalink / raw) To: linux-arm-kernel On Thu, Apr 26, 2012 at 04:16:27PM +0100, William Cohen wrote: > On 04/23/2012 01:56 PM, William Cohen wrote: > > Has this patch been pulled into the git tree? -Will (Cohen) > > > This patch pretty much duplicates what is already done for in board-seaboard.c: > > http://lxr.linux.no/#linux+v3.3.3/arch/arm/mach-tegra/board-seaboard.c#L147 > > I have tested the patch out with oprofile, papi, and perf. Things seem to function properly with the patch on a trimslice. Right, that sounds good to me. This should go via the tegra/arm-soc tree. For some reason, I can't find the original patch in the list archives so perhaps you could repost it to linux-arm-kernel and CC Olof and Arnd? Cheers, Will ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] Add the Performance Monitoring Unit to the Trimslice device tree 2012-04-26 15:22 ` Will Deacon @ 2012-04-26 15:58 ` Stephen Warren 2012-04-26 18:28 ` William Cohen 0 siblings, 1 reply; 9+ messages in thread From: Stephen Warren @ 2012-04-26 15:58 UTC (permalink / raw) To: linux-arm-kernel On 04/26/2012 09:22 AM, Will Deacon wrote: > On Thu, Apr 26, 2012 at 04:16:27PM +0100, William Cohen wrote: >> On 04/23/2012 01:56 PM, William Cohen wrote: >>> Has this patch been pulled into the git tree? -Will (Cohen) >> >> >> This patch pretty much duplicates what is already done for in board-seaboard.c: >> >> http://lxr.linux.no/#linux+v3.3.3/arch/arm/mach-tegra/board-seaboard.c#L147 >> >> I have tested the patch out with oprofile, papi, and perf. Things seem to function properly with the patch on a trimslice. > > Right, that sounds good to me. This should go via the tegra/arm-soc tree. > For some reason, I can't find the original patch in the list archives so > perhaps you could repost it to linux-arm-kernel and CC Olof and Arnd? Is there actually any reason to proceed with this patch? When booting Tegra using device tree (i.e. CONFIG_OF rather than the way the phrase is used in the email subject), the ARM PMU is enabled on all boards. So, I'd recommend switching to DT rather than continuing to patch up the board files, which will hopefully be removed in the nearish future. (BTW, best to cc linux-tegra at vger.kernel.org too) ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] Add the Performance Monitoring Unit to the Trimslice device tree 2012-04-26 15:58 ` Stephen Warren @ 2012-04-26 18:28 ` William Cohen 2012-04-26 18:57 ` Stephen Warren 0 siblings, 1 reply; 9+ messages in thread From: William Cohen @ 2012-04-26 18:28 UTC (permalink / raw) To: linux-arm-kernel On 04/26/2012 11:58 AM, Stephen Warren wrote: > On 04/26/2012 09:22 AM, Will Deacon wrote: >> On Thu, Apr 26, 2012 at 04:16:27PM +0100, William Cohen wrote: >>> On 04/23/2012 01:56 PM, William Cohen wrote: >>>> Has this patch been pulled into the git tree? -Will (Cohen) >>> >>> >>> This patch pretty much duplicates what is already done for in board-seaboard.c: >>> >>> http://lxr.linux.no/#linux+v3.3.3/arch/arm/mach-tegra/board-seaboard.c#L147 >>> >>> I have tested the patch out with oprofile, papi, and perf. Things seem to function properly with the patch on a trimslice. >> >> Right, that sounds good to me. This should go via the tegra/arm-soc tree. >> For some reason, I can't find the original patch in the list archives so >> perhaps you could repost it to linux-arm-kernel and CC Olof and Arnd? > > Is there actually any reason to proceed with this patch? When booting > Tegra using device tree (i.e. CONFIG_OF rather than the way the phrase > is used in the email subject), the ARM PMU is enabled on all boards. So, > I'd recommend switching to DT rather than continuing to patch up the > board files, which will hopefully be removed in the nearish future. > > (BTW, best to cc linux-tegra at vger.kernel.org too) Hi Stephen, The fedora 17 arm kernels are not yet using the DT. That is the motivations to get this fix into the upstream kernel so that people could use performance monitoring hardware. Has the pmu support been verified to work on Nvidia Tegra when using the DT? In the past I was not successful in getting the trimslice to boot up using device tree. Are there some clear instructions somewhere on how to do this? -Will ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] Add the Performance Monitoring Unit to the Trimslice device tree 2012-04-26 18:28 ` William Cohen @ 2012-04-26 18:57 ` Stephen Warren 2012-04-26 20:09 ` William Cohen 0 siblings, 1 reply; 9+ messages in thread From: Stephen Warren @ 2012-04-26 18:57 UTC (permalink / raw) To: linux-arm-kernel On 04/26/2012 12:28 PM, William Cohen wrote: > On 04/26/2012 11:58 AM, Stephen Warren wrote: >> On 04/26/2012 09:22 AM, Will Deacon wrote: >>> On Thu, Apr 26, 2012 at 04:16:27PM +0100, William Cohen wrote: >>>> On 04/23/2012 01:56 PM, William Cohen wrote: >>>>> Has this patch been pulled into the git tree? -Will (Cohen) >>>> >>>> >>>> This patch pretty much duplicates what is already done for in board-seaboard.c: >>>> >>>> http://lxr.linux.no/#linux+v3.3.3/arch/arm/mach-tegra/board-seaboard.c#L147 >>>> >>>> I have tested the patch out with oprofile, papi, and perf. Things seem to function properly with the patch on a trimslice. >>> >>> Right, that sounds good to me. This should go via the tegra/arm-soc tree. >>> For some reason, I can't find the original patch in the list archives so >>> perhaps you could repost it to linux-arm-kernel and CC Olof and Arnd? >> >> Is there actually any reason to proceed with this patch? When booting >> Tegra using device tree (i.e. CONFIG_OF rather than the way the phrase >> is used in the email subject), the ARM PMU is enabled on all boards. So, >> I'd recommend switching to DT rather than continuing to patch up the >> board files, which will hopefully be removed in the nearish future. >> >> (BTW, best to cc linux-tegra at vger.kernel.org too) > > Hi Stephen, > > The fedora 17 arm kernels are not yet using the DT. That is the motivations to get this fix into the upstream kernel so that people could use performance monitoring hardware. Are people using the mainline kernel for Fedora on Tegra then? > Has the pmu support been verified to work on Nvidia Tegra when using the DT? In the past I was not successful in getting the trimslice to boot up using device tree. Are there some clear instructions somewhere on how to do this? I believe I validated the PMU functionality when booting using DT when I created the patch to add it to the device tree files. Booting with DT is very simple. You can do either: a) Grab arch/arm/boot/tegra-trimslice.dtb from the kernel build tree, load it into memory from U-Boot just like the kernel and initrd, and pass the address as the third parameter to "bootm". This is the preferred option. b) Enable CONFIG_ARM_APPENDED_DTB, then concatenate zImage and tegra-trimslice.dtb into a single file, and use that as the kernel image. this is probably marginally easier to get working the first time around, since the only difference is you package a slightly different kernel file onto the boot media. Either way, I'd recommend passing root=UUID=xxx to the kernel instead of an explicit block device name, since it's possible the naming is different between booting with board files and device tree. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] Add the Performance Monitoring Unit to the Trimslice device tree 2012-04-26 18:57 ` Stephen Warren @ 2012-04-26 20:09 ` William Cohen 2012-04-27 21:44 ` Stephen Warren 0 siblings, 1 reply; 9+ messages in thread From: William Cohen @ 2012-04-26 20:09 UTC (permalink / raw) To: linux-arm-kernel On 04/26/2012 02:57 PM, Stephen Warren wrote: > On 04/26/2012 12:28 PM, William Cohen wrote: >> On 04/26/2012 11:58 AM, Stephen Warren wrote: >>> On 04/26/2012 09:22 AM, Will Deacon wrote: >>>> On Thu, Apr 26, 2012 at 04:16:27PM +0100, William Cohen wrote: >>>>> On 04/23/2012 01:56 PM, William Cohen wrote: >>>>>> Has this patch been pulled into the git tree? -Will (Cohen) >>>>> >>>>> >>>>> This patch pretty much duplicates what is already done for in board-seaboard.c: >>>>> >>>>> http://lxr.linux.no/#linux+v3.3.3/arch/arm/mach-tegra/board-seaboard.c#L147 >>>>> >>>>> I have tested the patch out with oprofile, papi, and perf. Things seem to function properly with the patch on a trimslice. >>>> >>>> Right, that sounds good to me. This should go via the tegra/arm-soc tree. >>>> For some reason, I can't find the original patch in the list archives so >>>> perhaps you could repost it to linux-arm-kernel and CC Olof and Arnd? >>> >>> Is there actually any reason to proceed with this patch? When booting >>> Tegra using device tree (i.e. CONFIG_OF rather than the way the phrase >>> is used in the email subject), the ARM PMU is enabled on all boards. So, >>> I'd recommend switching to DT rather than continuing to patch up the >>> board files, which will hopefully be removed in the nearish future. >>> >>> (BTW, best to cc linux-tegra at vger.kernel.org too) >> >> Hi Stephen, >> >> The fedora 17 arm kernels are not yet using the DT. That is the motivations to get this fix into the upstream kernel so that people could use performance monitoring hardware. > > Are people using the mainline kernel for Fedora on Tegra then? Hi Stephen, The Fedora 17 Arm kernel is currently based on 3.3.2 with patches. Right now the Fedora arm kernels enable device tree support, but do not use the device trees. board-trimslice.c is eventually going to be pruned away. However, in the meantime it would be nice if the arm kernel performance monitoring support worked on trimslice regardless whether one was using device trees or not. In the past I unsuccesfully tried method b below. There may be issues with the particular version of uboot on trimslice, but I am not sure. -Will >> Has the pmu support been verified to work on Nvidia Tegra when using the DT? In the past I was not successful in getting the trimslice to boot up using device tree. Are there some clear instructions somewhere on how to do this? > > I believe I validated the PMU functionality when booting using DT when I > created the patch to add it to the device tree files. > > Booting with DT is very simple. You can do either: > > a) Grab arch/arm/boot/tegra-trimslice.dtb from the kernel build tree, > load it into memory from U-Boot just like the kernel and initrd, and > pass the address as the third parameter to "bootm". This is the > preferred option. > > b) Enable CONFIG_ARM_APPENDED_DTB, then concatenate zImage and > tegra-trimslice.dtb into a single file, and use that as the kernel > image. this is probably marginally easier to get working the first time > around, since the only difference is you package a slightly different > kernel file onto the boot media. > > Either way, I'd recommend passing root=UUID=xxx to the kernel instead of > an explicit block device name, since it's possible the naming is > different between booting with board files and device tree. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] Add the Performance Monitoring Unit to the Trimslice device tree 2012-04-26 20:09 ` William Cohen @ 2012-04-27 21:44 ` Stephen Warren 0 siblings, 0 replies; 9+ messages in thread From: Stephen Warren @ 2012-04-27 21:44 UTC (permalink / raw) To: linux-arm-kernel On 04/26/2012 02:09 PM, William Cohen wrote: > On 04/26/2012 02:57 PM, Stephen Warren wrote: >> On 04/26/2012 12:28 PM, William Cohen wrote: >>> On 04/26/2012 11:58 AM, Stephen Warren wrote: >>>> On 04/26/2012 09:22 AM, Will Deacon wrote: >>>>> On Thu, Apr 26, 2012 at 04:16:27PM +0100, William Cohen wrote: >>>>>> On 04/23/2012 01:56 PM, William Cohen wrote: >>>>>>> Has this patch been pulled into the git tree? -Will (Cohen) >>>>>> >>>>>> >>>>>> This patch pretty much duplicates what is already done for in board-seaboard.c: >>>>>> >>>>>> http://lxr.linux.no/#linux+v3.3.3/arch/arm/mach-tegra/board-seaboard.c#L147 >>>>>> >>>>>> I have tested the patch out with oprofile, papi, and perf. Things seem to function properly with the patch on a trimslice. >>>>> >>>>> Right, that sounds good to me. This should go via the tegra/arm-soc tree. >>>>> For some reason, I can't find the original patch in the list archives so >>>>> perhaps you could repost it to linux-arm-kernel and CC Olof and Arnd? >>>> >>>> Is there actually any reason to proceed with this patch? When booting >>>> Tegra using device tree (i.e. CONFIG_OF rather than the way the phrase >>>> is used in the email subject), the ARM PMU is enabled on all boards. So, >>>> I'd recommend switching to DT rather than continuing to patch up the >>>> board files, which will hopefully be removed in the nearish future. >>>> >>>> (BTW, best to cc linux-tegra at vger.kernel.org too) >>> >>> Hi Stephen, >>> >>> The fedora 17 arm kernels are not yet using the DT. That is the motivations to get this fix into the upstream kernel so that people could use performance monitoring hardware. >> >> Are people using the mainline kernel for Fedora on Tegra then? > > Hi Stephen, > > The Fedora 17 Arm kernel is currently based on 3.3.2 with patches. Right now the Fedora arm kernels enable device tree support, but do not use the device trees. > > board-trimslice.c is eventually going to be pruned away. However, in the meantime it would be nice if the arm kernel performance monitoring support worked on trimslice regardless whether one was using device trees or not. > > In the past I unsuccesfully tried method b below. There may be issues with the particular version of uboot on trimslice, but I am not sure. FYI, I just did some work on TrimSlice. Method (a) won't work because the U-Boot they ship doesn't have DT support. However, method (b) worked fine, and the U-Boot version shouldn't affect it at all (and I have a very old U-Boot, since I have one of the early developer boards anyway). > > -Will > >>> Has the pmu support been verified to work on Nvidia Tegra when using the DT? In the past I was not successful in getting the trimslice to boot up using device tree. Are there some clear instructions somewhere on how to do this? >> >> I believe I validated the PMU functionality when booting using DT when I >> created the patch to add it to the device tree files. >> >> Booting with DT is very simple. You can do either: >> >> a) Grab arch/arm/boot/tegra-trimslice.dtb from the kernel build tree, >> load it into memory from U-Boot just like the kernel and initrd, and >> pass the address as the third parameter to "bootm". This is the >> preferred option. >> >> b) Enable CONFIG_ARM_APPENDED_DTB, then concatenate zImage and >> tegra-trimslice.dtb into a single file, and use that as the kernel >> image. this is probably marginally easier to get working the first time >> around, since the only difference is you package a slightly different >> kernel file onto the boot media. >> >> Either way, I'd recommend passing root=UUID=xxx to the kernel instead of >> an explicit block device name, since it's possible the naming is >> different between booting with board files and device tree. > ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-04-27 21:44 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <1330740413-29260-1-git-send-email-wcohen@redhat.com> 2012-03-05 10:32 ` [PATCH] Add the Performance Monitoring Unit to the Trimslice device tree Will Deacon 2012-04-23 17:56 ` William Cohen 2012-04-26 15:16 ` William Cohen 2012-04-26 15:22 ` Will Deacon 2012-04-26 15:58 ` Stephen Warren 2012-04-26 18:28 ` William Cohen 2012-04-26 18:57 ` Stephen Warren 2012-04-26 20:09 ` William Cohen 2012-04-27 21:44 ` Stephen Warren
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).