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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux