Re: [PATCH 1/2] regulator: Add support for power budget

From: Kory Maincent
Date: Mon Jan 13 2025 - 09:48:52 EST


On Mon, 13 Jan 2025 14:11:16 +0000
Mark Brown <broonie@xxxxxxxxxx> wrote:

> On Mon, Jan 13, 2025 at 02:07:45PM +0100, Kory Maincent wrote:
>
> > + rdev->pw_available_mW -= pw_req;
>
> ...
>
> > + if (!of_property_read_u32(np, "regulator-power-budget-milliwatt",
> > &pval))
> > + constraints->pw_budget_mW = pval;
> > +
>
> This is only tracking the currently free power budget which both
> restricts what we can do for tracking things like mismatched or missing
> frees and means there's less information for diagnostic tools. I'd
> prefer to keep track of how much is in use and check against the budget
> when trying to increase it, allowing us to check for releasing more
> budget than was requested.

Ack.

> There's also an interaction with hardware with support for enforcing
> power limits, either via alarms or by actually limiting. Current
> limiting/warning support is reasonably common, we should probably be
> joining it up with the power limiting. It's fortunately not used
> dynamically by anything at the minute so we could just remove that API
> and replace it by a power one, given that nobody uses it and there do
> appear to be users for the power based API. We do have some things that
> set current limits in constraints IIRC.

There is few users for the regulator_set_current_limit function.
https://elixir.bootlin.com/linux/v6.12.6/A/ident/regulator_set_current_limit

Not sure we could replace it to power limit that easily.

> We probably also need something explicit about how we handle baseline
> load from things like passive components, the assumption probably needs
> to be that it's negligable.

We could add a devicetree property on the consumer node, but lets keep it for
later.

Regards,
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com