[Skiboot] [PATCH v3 3/9] Device-Tree(DT) entry for per-chip HOMER offset
Madhavan Srinivasan
maddy at linux.vnet.ibm.com
Mon Aug 17 11:52:05 AEST 2015
On Saturday 15 August 2015 08:03 AM, Daniel Axtens wrote:
>> Yes. Kernel side patchset is designed to have a generic driver code,
>> which will parse the device tree and create nest pmu drivers.
>> Kernel side patchset does not have any specific processor type
>> checks, it only check for the device tree entries for the nest units
>> created by OPAL side. This way kernel side will need no changes
>> when a new nest unit is added or remove in the device tree.
>>
> This is not quite what I mean by a generic driver.
My bad. I did not look at this comment, but have sent out a new version
of the code. I will look in it.
Maddy
>
> By a generic driver I mean a driver that uses an of_device_id table to
> be automatically bound to devices in the device tree. I've found [1] to
> be a very useful introduction.
>
> If you can implement the kernel side as this, I think it will
> dramatically simplify things: it will automatically do detection for
> you, without you having to write code to to that in the kernel. It will
> require you to add a compatible property in Skiboot, and may require
> some changes to the structure, but I think it will be worth it.
> Restructuring things this way might also allow you to remove some of the
> static limits in your kernel side patches, which will help with forwards
> compatibility.
>
> The one possible complication that I was trying to explain but didn't do
> a very good job of in my previous email is the fact that you have to
> create PMU events, and I'm not sure if there are requirements on when in
> bootup they are created. Looking at patch 6 in your v6 kernel side
> patches, it looks like they don't need to be created really early, so
> this might work...
>
> Regards,
> Daniel
>
> [1] http://events.linuxfoundation.org/sites/events/files/slides/petazzoni-device-tree-dummies.pdf
>
>> i.e, Today, OPAL side patchset creates device tree entries
>> for nest units like MCS, PowerBus, Xlink and Alink. Tomorrow, if
>> CAPP unit is added (by creating device tree entries) in OPAL side,
>> kernel side will pick it up without any modifications. In the same way
>> if we want to remove one of the units says Alink, OPAl side just
>> need to remove device tree entries created for Alink.
>>
>>> hooking into the perf infrastructure in the kernel, but if it is
>>> possible it'd be a much nicer solution.
>> Kernel side patchset is intended for perf support. Cover letter
>> in the kernel side patchset will explain the perf tool usage.
>>
>>
>> On the 'compatible' property, Yes. we can add it to the device tree.
>> But wondering how/when to use it, since kernel side does not
>> have any 'processor type' checks currently and OPAL side
>> patchset does not pass any data structures to kernel side.
>>
>> Maddy
>>
>>> [1]
>>> http://devicetree.org/Device_Tree_Usage#Understanding_the_compatible_Property
>>>
>>>
More information about the Skiboot
mailing list