Hi Rob, On 5/2/19 10:24 PM, Rob Herring wrote: > On Thu, May 2, 2019 at 3:52 AM Lukasz Luba <l.luba@xxxxxxxxxxxxxxxxxxx> wrote: >> >> Hi Rob, >> >> On 5/1/19 12:36 AM, Rob Herring wrote: >>> On Fri, Apr 19, 2019 at 03:48:07PM +0200, Lukasz Luba wrote: >>>> Extend the documenation by events description with new 'event-data-type' >>>> field. Add example how the event might be defined in DT. >>> >>> Why do we need event types in DT? We don't do this for other h/w such as >>> ARM PMU. >> In ARM PMU all the events are hard-coded into the driver code i.e. in v7 >> arch/arm/kernel/perf_event_v7.c >> and are seen from perf. They are different type and for different >> purpose. The Ecynos PPMU events are not seen in perf, they are >> for internal monitoring and must not be reset by other actors like perf. >> They are used by the 'bus drivers' to made some heuristics and tune the >> internal settings, like frequency. >> >> Chanwoo has written PPMU driver which relies on DT definition. >> The DT events are used by other DT devices by phandle. > > How is that done? I don't see anything in the binding for that. Here are the DT devices and how they are pinned together: - declared devfreq events: https://elixir.bootlin.com/linux/latest/source/arch/arm/boot/dts/exynos4412-ppmu-common.dtsi - devfreq events pinned to the bus device: https://elixir.bootlin.com/linux/latest/source/arch/arm/boot/dts/exynos4412-odroid-common.dtsi#L107 - the bus device itself: https://elixir.bootlin.com/linux/latest/source/arch/arm/boot/dts/exynos4412.dtsi#L457 Regards, Lukasz > > Rob > >