linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jim Quinlan <james.quinlan@broadcom.com>
To: Mark Brown <broonie@kernel.org>
Cc: "Rob Herring" <robh@kernel.org>,
	"Jim Quinlan" <jim2101024@gmail.com>,
	"open list:PCI NATIVE HOST BRIDGE AND ENDPOINT DRIVERS"
	<linux-pci@vger.kernel.org>,
	"Nicolas Saenz Julienne" <nsaenz@kernel.org>,
	"maintainer:BROADCOM BCM7XXX ARM ARCHITECTURE"
	<bcm-kernel-feedback-list@broadcom.com>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Lorenzo Pieralisi" <lorenzo.pieralisi@arm.com>,
	"Krzysztof Wilczyński" <kw@linux.com>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	"moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE"
	<linux-rpi-kernel@lists.infradead.org>,
	"moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE"
	<linux-arm-kernel@lists.infradead.org>,
	"open list" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v5 4/6] PCI: brcmstb: Add control of subdevice voltage regulators
Date: Mon, 25 Oct 2021 09:50:09 -0400	[thread overview]
Message-ID: <CA+-6iNxQAekCQTJKE5L7LO6QF+UC6xnyE=XVq_7z3=4hp8ASXQ@mail.gmail.com> (raw)
In-Reply-To: <YXMVSVpeC1Kqsg5x@sirena.org.uk>

On Fri, Oct 22, 2021 at 3:47 PM Mark Brown <broonie@kernel.org> wrote:
>
> On Fri, Oct 22, 2021 at 03:15:59PM -0400, Jim Quinlan wrote:
>
> > Each different SOC./board we deal with may present different ways of
> > making the EP device power on.  We are using
> > an abstraction name "brcm-ep-a"  to represent some required regulator
> > to make the EP  work for a specific board.  The RC
> > driver cannot hard code a descriptive name as it must work for all
> > boards designed by us, others, and third parties.
> > The EP driver also doesn't know  or care about the regulator name, and
> > this driver is often closed source and often immutable.  The EP
> > device itself may come from Brcm, a third party,  or sometimes a competitor.
>
> > Basically, we find using a generic name such as "brcm-ep-a-supply"
> > quite handy and many of our customers embrace this feature.
> > I know that Rob was initially against such a generic name, but I
> > vaguely remember him seeing some merit to this, perhaps a tiny bit :-)
> > Or my memory is shot, which could very well be the case.
>
> That sounds like it just shouldn't be a regulator at all, perhaps the
> board happens to need a regulator there but perhaps it needs a clock,
> GPIO or some specific sequence of actions.  It sounds like you need some
> sort of quirking mechanism to cope with individual boards with board
> specific bindings.
The boards involved may have no PCIe sockets, or run the gamut of the different
PCIe sockets.  They all offer gpio(s) to turn off/on their power supply(s) to
make their PCIe device endpoint functional.  It is not viable to add
new Linux quirk or DT
code for each board.  First is the volume and variety of the boards
that use our SOCs.. Second, is
our lack of information/control:  often, the board is designed by one
company (not us), and
given to another company as the middleman, and then they want the
features outlined
in my aforementioned commit message.

>
> I'd suggest as a first pass omitting this and then looking at some
> actual systems later when working out how to support them, no sense in
> getting the main thing held up by difficult edge cases.

These are not edge cases -- some of these are major customers.

Regards,
Jim

>
> > > > +     /* This is for Broadcom STB/CM chips only */
> > > > +     if (pcie->type == BCM2711)
> > > > +             return 0;
>
> > > It is a relief that other chips have managed to work out how to avoid
> > > requiring power.
>
> > I'm not sure that the other Broadcom groups have our customers, our
> > customers' requirements, and the amount and variation of boards that
> > run our PCIe driver on the SOC.
>
> Sure, but equally they might (even if they didn't spot it yet) and in
> general it's safer to err on the side of describing the hardware so we
> can use that information later.

  reply	other threads:[~2021-10-25 13:50 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-22 14:06 [PATCH v5 0/6] PCI: brcmstb: have host-bridge turn on sub-device power Jim Quinlan
2021-10-22 14:06 ` [PATCH v5 1/6] dt-bindings: PCI: Add bindings for Brcmstb EP voltage regulators Jim Quinlan
2021-10-22 14:49   ` Mark Brown
2021-10-22 19:24     ` Jim Quinlan
2021-10-22 19:49       ` Mark Brown
2021-10-22 21:15   ` Rob Herring
2021-10-25 22:24   ` Rob Herring
2021-10-26 21:27     ` Jim Quinlan
2021-10-27 16:58       ` Bjorn Helgaas
2021-10-27 21:37         ` Pali Rohár
2021-10-27 20:54       ` Rob Herring
2021-10-27 21:31         ` Jim Quinlan
2021-10-22 14:06 ` [PATCH v5 2/6] PCI: allow for callback to prepare nascent subdev Jim Quinlan
2021-10-22 14:34   ` Greg Kroah-Hartman
2021-10-22 15:01     ` Jim Quinlan
2021-10-22 14:06 ` [PATCH v5 3/6] PCI: brcmstb: split brcm_pcie_setup() into two funcs Jim Quinlan
2021-10-22 14:06 ` [PATCH v5 4/6] PCI: brcmstb: Add control of subdevice voltage regulators Jim Quinlan
2021-10-22 14:31   ` Mark Brown
2021-10-22 19:15     ` Jim Quinlan
2021-10-22 19:47       ` Mark Brown
2021-10-25 13:50         ` Jim Quinlan [this message]
2021-10-25 14:58           ` Mark Brown
2021-10-25 22:04             ` Florian Fainelli
2021-10-25 22:43               ` Rob Herring
2021-10-25 22:51                 ` Florian Fainelli
2021-10-26 13:22               ` Mark Brown
2021-10-25 22:16       ` Rob Herring
2021-10-22 14:06 ` [PATCH v5 5/6] PCI: brcmstb: Do not turn off regulators if EP can wake up Jim Quinlan
2021-10-22 14:39   ` Mark Brown
2021-10-22 15:06     ` Jim Quinlan
2021-10-22 14:06 ` [PATCH v5 6/6] PCI: brcmstb: change brcm_phy_stop() to return void Jim Quinlan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA+-6iNxQAekCQTJKE5L7LO6QF+UC6xnyE=XVq_7z3=4hp8ASXQ@mail.gmail.com' \
    --to=james.quinlan@broadcom.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=bhelgaas@google.com \
    --cc=broonie@kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=jim2101024@gmail.com \
    --cc=kw@linux.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=nsaenz@kernel.org \
    --cc=robh@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).