[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e364818a-daa3-7313-3ad2-41dbe6e5be62@gmail.com>
Date: Mon, 29 Mar 2021 14:09:58 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: Mark Brown <broonie@...nel.org>, Jim Quinlan <jim2101024@...il.com>
Cc: linux-pci <linux-pci@...r.kernel.org>,
Nicolas Saenz Julienne <nsaenzjulienne@...e.de>,
Rob Herring <robh@...nel.org>,
bcm-kernel-feedback-list <bcm-kernel-feedback-list@...adcom.com>,
Jim Quinlan <james.quinlan@...adcom.com>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
"moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE"
<linux-rpi-kernel@...ts.infradead.org>,
"moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE"
<linux-arm-kernel@...ts.infradead.org>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3 2/6] PCI: brcmstb: Add control of EP voltage regulators
On 3/29/21 1:45 PM, Mark Brown wrote:
> On Mon, Mar 29, 2021 at 03:48:46PM -0400, Jim Quinlan wrote:
>
>> I'm not concerned about a namespace collision and I don't think you
>> should be concerned either. First, this driver is for Broadcom STB
>> PCIe chips and boards, and we also deliver the DT to the customers.
>> We typically do not have any other regulators in the DT besides the
>> ones I am proposing. For example, the 7216 SOC DT has 0 other
>
> You may not describe these regulators in the DT but you must have other
> regulators in your system, most devices need power to operate. In any
> case "this works for me with my DT on my system and nobody will ever
> change our reference design" isn't really a great approach, frankly it's
> not a claim I entirely believe and even if it turns out to be true for
> your systems if we establish this as being how regulators work for
> soldered down PCI devices everyone else is going to want to do the same
> thing, most likely making the same claims for how much control they have
> over the systems things will run on.
>
>> regulators -- no namespace collision possible. Our DT-generating
>> scripts also flag namespace issues. I admit that this driver is also
>> used by RPi chips, but I can easily exclude this feature from the RPI
>> if Nicolas has any objection.
>
> That's certainly an issue, obviously the RPI is the sort of system where
> I'd imagine this would be particularly useful.
>
>> Further, if you want, I can restrict the search to the two regulators
>> I am proposing to add to pci-bus.yaml: "vpcie12v-supply" and
>> "vpcie3v3-supply".
>
> No, that doesn't help - what happens if someone uses separate regulators
> for different PCI devices? The reason the supplies are device namespaced
> is that each device can look up it's own supplies and label them how it
> wants without reference to anything else on the board. Alternatively
> what happens if some device has another supply it needs to power on (eg,
> something that wants a clean LDO output for analogue use)?
>
>> Is the above enough to alleviate your concerns about global namespace collision?
>
> Not really. TBH it looks like this driver is keeping the regulators
> enabled all the time except for suspend and resume anyway, if that's all
> that's going on I'd have thought that you wouldn't need any explicit
> management in the driver anyway? Just mark the regualtors as always on
> and set up an appropriate suspend mode configuration and everything
> should work without the drivers doing anything. Unless your PMIC isn't
> able to provide separate suspend mode configuration for the regulators?
>
We have typically GPIO-controlled and PMIC (via SCMI) controlled
regulators. During PCIe enumeration we need these regulators turned on
to be successful in training the PCIe link and discover the end-point
attached, so there an always on regulator would work.
When we enter a system suspend state however there are really two cases:
- the end-point supports Wake-on (typically wake-on-WLAN) and we need
its power supplied kept on to support that
- the end-point does not support or participate in any wake-up, there we
want to turn its supplies off to save power
How would we go about supporting such an use case with an always on
regulator?
--
Florian
Powered by blists - more mailing lists