Message ID | cover.1532701430.git.damien.hedde@greensocs.com (mailing list archive) |
---|---|
Headers | show |
Series | Clock and power gating support | expand |
On 27 July 2018 at 15:37, Damien Hedde <damien.hedde@greensocs.com> wrote: > This set of patches add support for power and clock gating in device objects. > It adds two booleans to the state, one for power state and one of clock state. > > The state is controlled trough 2 functions, one for power and one for clock. > Two new methods *power_update* and *clock_update* is added to the device class > which are called on state change and can be overriden. So, you folks at Greensocs had a series a couple of years ago to try to add clocktree support (which included handling things like guests configuring clock rates, some clocks being "downstream" of others, and so on). It didn't make it into mainline, though it did get a fair amount of design/code review. How does this approach fit into / compare with that ? thanks -- PMM
Le 07/27/2018 à 04:59 PM, Peter Maydell a écrit : > On 27 July 2018 at 15:37, Damien Hedde <damien.hedde@greensocs.com> wrote: >> This set of patches add support for power and clock gating in device objects. >> It adds two booleans to the state, one for power state and one of clock state. >> >> The state is controlled trough 2 functions, one for power and one for clock. >> Two new methods *power_update* and *clock_update* is added to the device class >> which are called on state change and can be overriden. > > So, you folks at Greensocs had a series a couple of years ago to try > to add clocktree support (which included handling things like guests > configuring clock rates, some clocks being "downstream" of others, and > so on). It didn't make it into mainline, though it did get a fair amount > of design/code review. How does this approach fit into / compare with > that ? > > thanks > -- PMM > Hi all, I didn't have time to push a new version of the clock series and I lost the track a little bit (was 13 months ago). Sorry for that :(.. Would be still nice to have I think. Cheers, Fred
Hi Pete, sorry for the tardy reply, Im not in the office. Your right we shoujd have co-ordinated better the 2 patches, sorry for that. Regarding this new patchset, we think there is a degree of complementary to the clocktree one. Here we simply add a couple of generic power states to a device. We introduce an interface to control power and clock gating on any devices, with sensible generic behaviour (reset on power on, disabling memory regions when asleep or off). The device can specialize this to adopt specific behaviours. It allows easy implementation of commonly found "system controller", "pin controllers", "power management unit", or similar blocks in SoCs. Specialization of devices can be implemented as-needed when a machine requires it. Cheers Mark On 27 July 2018 17:22:30 KONRAD Frederic <frederic.konrad@adacore.com> wrote: > Le 07/27/2018 à 04:59 PM, Peter Maydell a écrit : >> On 27 July 2018 at 15:37, Damien Hedde <damien.hedde@greensocs.com> wrote: >>> This set of patches add support for power and clock gating in device objects. >>> It adds two booleans to the state, one for power state and one of clock state. >>> >>> The state is controlled trough 2 functions, one for power and one for clock. >>> Two new methods *power_update* and *clock_update* is added to the device class >>> which are called on state change and can be overriden. >> >> So, you folks at Greensocs had a series a couple of years ago to try >> to add clocktree support (which included handling things like guests >> configuring clock rates, some clocks being "downstream" of others, and >> so on). It didn't make it into mainline, though it did get a fair amount >> of design/code review. How does this approach fit into / compare with >> that ? >> >> thanks >> -- PMM > > Hi all, > > I didn't have time to push a new version of the clock series and > I lost the track a little bit (was 13 months ago). Sorry for > that :(.. Would be still nice to have I think. > > Cheers, > Fred