Thread (8 messages) 8 messages, 2 authors, 2021-06-16

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

From: Maxime Ripard <hidden>
Date: 2021-05-03 08:32:28
Also in: dri-devel, lkml

Hi Stephen,

On Fri, Apr 30, 2021 at 01:59:39PM -0700, Stephen Boyd wrote:
Quoting Maxime Ripard (2021-04-13 03:13:18)
quoted
Hi,

This is a follow-up of the discussion here:
https://lore.kernel.org/linux-clk/20210319150355.xzw7ikwdaga2dwhv@gilmour/ (local)

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?

Maxime

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help