Hi Stephen, Mike, On Mon, May 03, 2021 at 10:32:21AM +0200, Maxime Ripard wrote: > Hi Stephen, > > On Fri, Apr 30, 2021 at 01:59:39PM -0700, Stephen Boyd wrote: > > Quoting Maxime Ripard (2021-04-13 03:13:18) > > > Hi, > > > > > > This is a follow-up of the discussion here: > > > https://lore.kernel.org/linux-clk/20210319150355.xzw7ikwdaga2dwhv@gilmour/ > > > > > > This implements a mechanism to raise and lower clock rates based on consumer > > > workloads, with an example of such an implementation for the RaspberryPi4 HDMI > > > controller. > > > > > > There's a couple of things worth discussing: > > > > > > - The name is in conflict with clk_request_rate, and even though it feels > > > like the right name to me, we should probably avoid any confusion > > > > > > - The code so far implements a policy of always going for the lowest rate > > > possible. While we don't have an use-case for something else, this should > > > maybe be made more flexible? > > > > I'm definitely confused how it is different from the > > clk_set_rate_exclusive() API and associated > > clk_rate_exclusive_get()/clk_rate_exclusive_put(). Can you explain > > further the differences in the cover letter here? > > The exclusive API is meant to prevent the clock rate from changing, > allowing a single user to make sure that no other user will be able to > change it. > > What we want here is instead to allow multiple users to be able to > express a set of minimum rates and then let the CCF figure out a rate > for that clock that matches those constraints (so basically what > clk_set_min_rate does), but then does allow for the clock to go back to > its initial rate once that constraint is not needed anymore. > > So I guess it's more akin to clk_set_min_rate with rollback than the > exclusive API? Is that rationale good enough, or did you expect something else? Maxime