[PATCH] ARM: test for PMU feature on v7 (v2 with typo fix)

Nicolas Pitre nico at fluxnic.net
Fri Mar 30 13:40:59 EDT 2012


On Fri, 30 Mar 2012, Will Deacon wrote:

> Hi Nicolas,
> 
> On Wed, Mar 28, 2012 at 03:17:29PM +0100, Nicolas Pitre wrote:
> > On Mon, 26 Mar 2012, Will Deacon wrote:
> > 
> > > Now, if everything was device-tree based then we could simply use a
> > > different binding for each CPU but since we support perf on non-DT
> > > platforms, probing the CPU type is the best solution. I would like to avoid
> > > the probing code if we are initialised from DT, but I've not got round to it
> > > yet (this would be useful for big.LITTLE).
> > 
> > Still... my opinion is that we should try to autodetect as much as 
> > possible and avoid overstuffing the DT with content that can otherwise 
> > be run-time probed.  OK to use DT to override the probe for corner 
> > cases, but IMHO the probe should be the default method of 
> > initialization.  The rational is that we want to spread knowledge about 
> > part of the system and have it confined into respective drivers and 
> > subsystems for easier maintenance.  If the guy who has to maintain the 
> > dts has to know all the details for everything then that won't scale and 
> > the risk for discrepancies is increased.
> 
> I agree that probing is preferable where possible but, since the PMUs are
> banked, we cannot reliably probe them on big.LITTLE platforms.

Are they tied to each cluster power domains?  If so you'll have to 
preserve/restore their state when clusters are suspended even if the 
interface tries to present a consistent view to users.  The probe can be 
done there, and differences in capabilities adjusted dynamically.


Nicolas



More information about the linux-arm-kernel mailing list