linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Richard Zhu <hongxing.zhu@nxp.com>
To: Mark Brown <broonie@kernel.org>
Cc: Francesco Dolcini <francesco.dolcini@toradex.com>,
	"l.stach@pengutronix.de" <l.stach@pengutronix.de>,
	"bhelgaas@google.com" <bhelgaas@google.com>,
	"lorenzo.pieralisi@arm.com" <lorenzo.pieralisi@arm.com>,
	"jingoohan1@gmail.com" <jingoohan1@gmail.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	dl-linux-imx <linux-imx@nxp.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>
Subject: RE: [PATCH v3 3/7] PCI: imx6: Fix the regulator dump when link never came up
Date: Thu, 28 Oct 2021 06:50:58 +0000	[thread overview]
Message-ID: <AS8PR04MB8676AF8685A951E19B1CE0688C869@AS8PR04MB8676.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <YXffRmvPYwetsg3L@sirena.org.uk>

> -----Original Message-----
> From: Mark Brown <broonie@kernel.org>
> Sent: Tuesday, October 26, 2021 6:58 PM
> To: Richard Zhu <hongxing.zhu@nxp.com>
> Cc: Francesco Dolcini <francesco.dolcini@toradex.com>;
> l.stach@pengutronix.de; bhelgaas@google.com;
> lorenzo.pieralisi@arm.com; jingoohan1@gmail.com;
> linux-pci@vger.kernel.org; dl-linux-imx <linux-imx@nxp.com>;
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org;
> kernel@pengutronix.de
> Subject: Re: [PATCH v3 3/7] PCI: imx6: Fix the regulator dump when link
> never came up
> 
> On Tue, Oct 26, 2021 at 02:18:18AM +0000, Richard Zhu wrote:
> 
> > > I should probably also say that the check for the regulator looks
> > > buggy as well, regulators should only be optional if they can be
> > > physically absent which does not seem likely for PCI devices.  If
> > > the driver is not doing something to reconfigure the hardware to
> > > account for a missing supply this is generally a big warning sign.
> > >
> > > I really don't understand why regulator support is so frequently
> > > problematic for PCI controllers.  :(
> 
> > [Richard Zhu] Hi Mark:
> > The _enabled check is used because that this regulator is optional in the
> HW design.
> > To make the codes clean and aligned on different HW boards, the
> _enabled check is added.
> 
> I would be really surprised to see PCI hardware that was able to support a
> supply being physically absent, and this use of _is_enabled() is quite
> simply not how any of this is supposed to work in the regulator API even
> for regulators that can be optional.
[Richard Zhu] Actually, this regulator is one GPIO fixed regulator.
Controlled by SW to turn on (GPIO high) or turn off (GPIO low) the supply.
In some boards designs, this supply might be always on(GPIO high).
So, in point of SW driver view, this regulator is optional.

> 
> > The root cause is that the error return is not handled properly by the
> controller driver.
> > I.MX PCIe controller doesn't support the Hot-Plug, and it would return
> > -110 error when PCIe link never came up. Thus, the _probe would be
> failed in the end.
> > The clocks/regulator usage balance should be considered by i.MX PCIe
> controller, that's all.
> > It's not a general case, and the problem is not caused by the regulator
> support.
> 
> Perhaps it's not causing problems in this design but if the supply is ever
> shared with anything else then the software will run into trouble.
> There will also be problems with the error handling on a system where
> the regulator needs to be controlled.
[Richard Zhu] This GPIO fixed regulator is only used by controller driver.
It makes sense to disable the enabled regulator when driver probe is failed.

> 
> Please fix your mail client to word wrap within paragraphs at something
> substantially less than 80 columns.  Doing this makes your messages
> much easier to read and reply to.
[Richard] Sorry about that.
BR
Richard

  reply	other threads:[~2021-10-28  6:51 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-22  7:12 [PATCH v3 0/7] PCI: imx6: refine codes and add compliance tests mode support Richard Zhu
2021-10-22  7:12 ` [PATCH v3 1/7] PCI: imx6: Encapsulate the clock enable into one standalone function Richard Zhu
2021-10-22  7:12 ` [PATCH v3 2/7] PCI: imx6: Add the error propagation from host_init Richard Zhu
2021-10-22  7:12 ` [PATCH v3 3/7] PCI: imx6: Fix the regulator dump when link never came up Richard Zhu
2021-10-25 11:13   ` Francesco Dolcini
2021-10-25 11:23     ` Mark Brown
2021-10-26  2:18       ` Richard Zhu
2021-10-26  8:52         ` Francesco Dolcini
2021-10-26  9:06           ` Richard Zhu
2021-10-26  9:11             ` Francesco Dolcini
2021-10-26  9:18               ` Richard Zhu
2021-10-26  9:48                 ` Francesco Dolcini
2021-10-28  6:48                   ` Richard Zhu
2021-10-26 10:58         ` Mark Brown
2021-10-28  6:50           ` Richard Zhu [this message]
2021-10-28 11:50             ` Mark Brown
2021-10-29  3:58               ` Richard Zhu
2021-10-29 11:46                 ` Mark Brown
2021-11-01  1:46                   ` Richard Zhu
2021-10-26  1:57     ` Richard Zhu
2021-10-22  7:12 ` [PATCH v3 4/7] PCI: imx6: move the clock disable function to a proper place Richard Zhu
2021-10-22  7:12 ` [PATCH v3 5/7] PCI: dwc: add a new callback host exit function into host ops Richard Zhu
2021-10-22  7:12 ` [PATCH v3 6/7] PCI: imx6: Fix the reference handling unbalance when link never came up Richard Zhu
2021-10-22  7:12 ` [PATCH v3 7/7] PCI: imx6: Add the compliance tests mode support Richard Zhu

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=AS8PR04MB8676AF8685A951E19B1CE0688C869@AS8PR04MB8676.eurprd04.prod.outlook.com \
    --to=hongxing.zhu@nxp.com \
    --cc=bhelgaas@google.com \
    --cc=broonie@kernel.org \
    --cc=francesco.dolcini@toradex.com \
    --cc=jingoohan1@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=l.stach@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    /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).