[PATCH] Add the Performance Monitoring Unit to the Trimslice device tree
wcohen at redhat.com
Thu Apr 26 16:09:55 EDT 2012
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:
>>>>> 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?
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.
>> 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.
More information about the linux-arm-kernel