Re: [PATCH 0/2] clk: Implement a clock request API

From: Maxime Ripard
Date: Mon May 24 2021 - 08:48:20 EST


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

Attachment: signature.asc
Description: PGP signature