Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: [PATCH 6/7] clk: scmi: Allocate CLK operations dynamically | From | Stephen Boyd <> | Date | Wed, 28 Feb 2024 18:20:34 -0800 |
| |
Quoting Cristian Marussi (2024-02-22 00:28:41) > On Wed, Feb 21, 2024 at 09:44:14PM -0800, Stephen Boyd wrote: > > > > It's not great to move these function pointer structs out of RO memory > > to RW. I'm also not convinced that it's any better to construct them at > > runtime. Isn't there a constant set of possible clk configurations? Or > > why can't we simply add some failures to the clk_ops functions instead? > > Well, the real clock devices managed by the SCMI server can be a of
SCMI is a server!? :)
> varying nature and so the minimum set of possible clk configurations > to cover will amount to all the possible combinations of supported ops > regarding the specific clock properties (i.e. .set_parent / .set_rate / > .enable / .get/set_duty_cycle / atomic_capability ... for now)...we > simply cannot know in advance what the backend SCMI server is handling. > > These seemed to me too much in number (and growing) to be pre-allocated > in all possible combinations. (and mostly wasted since you dont really > probably use all combinations all the time) > > Moreover, SCMI latest spec now exposes some clock properties (or not) to > be able avoid even sending an actual SCMI message that we know will be > denied all the time; one option is that we return an error,, as you said, > but what is the point (I thought) to provide at all a clk-callback that > we know upfront will fail to be executed every time ? (and some consumer > drivers have been reported by partners not to be happy with these errors) > > What I think could be optimized here instead, and I will try in the next > respin, it is that now I am allocating one set of custom ops for each clock > at the end, even if exactly the same ops are provided since the clock > capabilities are the same; I could instead allocate dynamically and fill only > one single set of ops for each distinct set of combinations, so as to avoid > useless duplication and use only the miminum strict amount of RW memory > needed. >
Yes please don't allocate a clk_op per clk. And, please add these answers to the commit text so that we know why it's not possible to know all combinations or fail clk_ops calls.
| ![\](/images/icornerr.gif) |