All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Hongxing Zhu <hongxing.zhu@nxp.com>
Cc: "l.stach@pengutronix.de" <l.stach@pengutronix.de>,
	"bhelgaas@google.com" <bhelgaas@google.com>,
	"broonie@kernel.org" <broonie@kernel.org>,
	"lorenzo.pieralisi@arm.com" <lorenzo.pieralisi@arm.com>,
	"jingoohan1@gmail.com" <jingoohan1@gmail.com>,
	"festevam@gmail.com" <festevam@gmail.com>,
	"francesco.dolcini@toradex.com" <francesco.dolcini@toradex.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"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>,
	dl-linux-imx <linux-imx@nxp.com>
Subject: Re: [PATCH v8 6/8] PCI: dwc: Add dw_pcie_host_ops.host_exit() callback
Date: Mon, 4 Apr 2022 09:39:33 -0500	[thread overview]
Message-ID: <YksDJfterGl9uPjs@robh.at.kernel.org> (raw)
In-Reply-To: <AS8PR04MB8676A8E85BBDA507481E12C78CE39@AS8PR04MB8676.eurprd04.prod.outlook.com>

On Sat, Apr 02, 2022 at 03:03:00AM +0000, Hongxing Zhu wrote:
> > -----Original Message-----
> > From: Rob Herring <robh@kernel.org>
> > Sent: 2022年4月2日 4:44
> > To: Hongxing Zhu <hongxing.zhu@nxp.com>
> > Cc: l.stach@pengutronix.de; bhelgaas@google.com; broonie@kernel.org;
> > lorenzo.pieralisi@arm.com; jingoohan1@gmail.com; festevam@gmail.com;
> > francesco.dolcini@toradex.com; linux-pci@vger.kernel.org;
> > linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org;
> > kernel@pengutronix.de; dl-linux-imx <linux-imx@nxp.com>
> > Subject: Re: [PATCH v8 6/8] PCI: dwc: Add dw_pcie_host_ops.host_exit()
> > callback
> > 
> > On Fri, Feb 25, 2022 at 11:44:25AM +0800, Richard Zhu wrote:
> > > When the link never comes up after ->host_init(), some drivers,
> > > especially those that don't support hotplug, want to turn off clocks
> > > and power supplies.
> > 
> > Isn't supporting hotplug or not a board level decision? And hotplug doesn't
> > have to mean physical plug/unplug. For example, you could have a soldered
> > down PCIe device which needs regulators, resets, clocks, etc.
> > for that device to be initialized before the link comes up. If that device is
> > handled by a module loaded some time later, then the link may be down when
> > you probe.
> > 
> > I think the way this all needs to work is with runtime PM. If that's all in place,
> > then either you shutdown clocks/power on timeout or via sysfs suspend. If
> > there's a child device, then that should prevent suspending.
> Hi Rob:
> Thanks a lot for your review comments.
> Understand what you mean.
> i.MX PCIe doesn't support hot-plug from chip design view.

The scenario I described is not hotplug.


> The ops.host_exit() callback is invoked only when the iMX PCIe driver hooked
>  callback ops->start_link return an error.
> For the platforms, that support the hot-plug feature, they can just return one
> zero from their own ops->start_link.

You cannot have a per board start_link().

> In the current situation, i.MX PCIe does just return one zero when probe failed.
> See the discussion and commit issued by Fabio below.
> https://patchwork.kernel.org/project/linux-pci/patch/1641368602-20401-6-git-send-email-hongxing.zhu@nxp.com/
> https://patchwork.ozlabs.org/project/linux-pci/patch/20220106103645.2790803-1-festevam@gmail.com/

That's a stable fix and different discussion.

> > > Add a new ->host_exit() callback in dw_pcie_host_ops so these drivers
> > > can clean up if ->host_init() fails.
> > 
> > I'm not really a fan of adding more ops nor the ops which aren't too specific
> > about what they do. 'init' and 'exit' can be anything. I'd rather see more
> > specific ops with the DWC core driver in charge of sequence of operations and
> > the state.
> Understand. 

You don't seem to...

> i.MX PCIe can't handle the error exit properly in this case by itself. So I
>  add one more ops.host_exit() in this series.
> 
> Best Regards
> Richard Zhu
> > 
> > Rob

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Hongxing Zhu <hongxing.zhu@nxp.com>
Cc: "l.stach@pengutronix.de" <l.stach@pengutronix.de>,
	"bhelgaas@google.com" <bhelgaas@google.com>,
	"broonie@kernel.org" <broonie@kernel.org>,
	"lorenzo.pieralisi@arm.com" <lorenzo.pieralisi@arm.com>,
	"jingoohan1@gmail.com" <jingoohan1@gmail.com>,
	"festevam@gmail.com" <festevam@gmail.com>,
	"francesco.dolcini@toradex.com" <francesco.dolcini@toradex.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"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>,
	dl-linux-imx <linux-imx@nxp.com>
Subject: Re: [PATCH v8 6/8] PCI: dwc: Add dw_pcie_host_ops.host_exit() callback
Date: Mon, 4 Apr 2022 09:39:33 -0500	[thread overview]
Message-ID: <YksDJfterGl9uPjs@robh.at.kernel.org> (raw)
In-Reply-To: <AS8PR04MB8676A8E85BBDA507481E12C78CE39@AS8PR04MB8676.eurprd04.prod.outlook.com>

On Sat, Apr 02, 2022 at 03:03:00AM +0000, Hongxing Zhu wrote:
> > -----Original Message-----
> > From: Rob Herring <robh@kernel.org>
> > Sent: 2022年4月2日 4:44
> > To: Hongxing Zhu <hongxing.zhu@nxp.com>
> > Cc: l.stach@pengutronix.de; bhelgaas@google.com; broonie@kernel.org;
> > lorenzo.pieralisi@arm.com; jingoohan1@gmail.com; festevam@gmail.com;
> > francesco.dolcini@toradex.com; linux-pci@vger.kernel.org;
> > linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org;
> > kernel@pengutronix.de; dl-linux-imx <linux-imx@nxp.com>
> > Subject: Re: [PATCH v8 6/8] PCI: dwc: Add dw_pcie_host_ops.host_exit()
> > callback
> > 
> > On Fri, Feb 25, 2022 at 11:44:25AM +0800, Richard Zhu wrote:
> > > When the link never comes up after ->host_init(), some drivers,
> > > especially those that don't support hotplug, want to turn off clocks
> > > and power supplies.
> > 
> > Isn't supporting hotplug or not a board level decision? And hotplug doesn't
> > have to mean physical plug/unplug. For example, you could have a soldered
> > down PCIe device which needs regulators, resets, clocks, etc.
> > for that device to be initialized before the link comes up. If that device is
> > handled by a module loaded some time later, then the link may be down when
> > you probe.
> > 
> > I think the way this all needs to work is with runtime PM. If that's all in place,
> > then either you shutdown clocks/power on timeout or via sysfs suspend. If
> > there's a child device, then that should prevent suspending.
> Hi Rob:
> Thanks a lot for your review comments.
> Understand what you mean.
> i.MX PCIe doesn't support hot-plug from chip design view.

The scenario I described is not hotplug.


> The ops.host_exit() callback is invoked only when the iMX PCIe driver hooked
>  callback ops->start_link return an error.
> For the platforms, that support the hot-plug feature, they can just return one
> zero from their own ops->start_link.

You cannot have a per board start_link().

> In the current situation, i.MX PCIe does just return one zero when probe failed.
> See the discussion and commit issued by Fabio below.
> https://patchwork.kernel.org/project/linux-pci/patch/1641368602-20401-6-git-send-email-hongxing.zhu@nxp.com/
> https://patchwork.ozlabs.org/project/linux-pci/patch/20220106103645.2790803-1-festevam@gmail.com/

That's a stable fix and different discussion.

> > > Add a new ->host_exit() callback in dw_pcie_host_ops so these drivers
> > > can clean up if ->host_init() fails.
> > 
> > I'm not really a fan of adding more ops nor the ops which aren't too specific
> > about what they do. 'init' and 'exit' can be anything. I'd rather see more
> > specific ops with the DWC core driver in charge of sequence of operations and
> > the state.
> Understand. 

You don't seem to...

> i.MX PCIe can't handle the error exit properly in this case by itself. So I
>  add one more ops.host_exit() in this series.
> 
> Best Regards
> Richard Zhu
> > 
> > Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-04-04 14:43 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-25  3:44 [PATCH v8 0/8] PCI: imx6: refine codes and add compliance tests mode support Richard Zhu
2022-02-25  3:44 ` Richard Zhu
2022-02-25  3:44 ` [PATCH v8 1/8] PCI: imx6: Encapsulate the clock enable into one standalone function Richard Zhu
2022-02-25  3:44   ` Richard Zhu
2022-02-25  3:44 ` [PATCH v8 2/8] PCI: imx6: Add the error propagation from host_init Richard Zhu
2022-02-25  3:44   ` Richard Zhu
2022-02-25  3:44 ` [PATCH v8 3/8] PCI: imx6: Move imx6_pcie_clk_disable() earlier Richard Zhu
2022-02-25  3:44   ` Richard Zhu
2022-02-25  3:44 ` [PATCH v8 4/8] PCI: imx6: Disable iMX6QDL PCIe REF clock when disable PCIe clocks Richard Zhu
2022-02-25  3:44   ` Richard Zhu
2022-02-25  3:44 ` [PATCH v8 5/8] PCI: imx6: Refine the regulator usage Richard Zhu
2022-02-25  3:44   ` Richard Zhu
2022-02-25  9:43   ` Francesco Dolcini
2022-02-25  9:43     ` Francesco Dolcini
2022-02-28  3:43     ` Hongxing Zhu
2022-02-28  3:43       ` Hongxing Zhu
2022-03-04  7:45       ` Francesco Dolcini
2022-03-04  7:45         ` Francesco Dolcini
2022-03-04  8:44         ` Hongxing Zhu
2022-03-04  8:44           ` Hongxing Zhu
2022-02-25  3:44 ` [PATCH v8 6/8] PCI: dwc: Add dw_pcie_host_ops.host_exit() callback Richard Zhu
2022-02-25  3:44   ` Richard Zhu
2022-04-01 20:43   ` Rob Herring
2022-04-01 20:43     ` Rob Herring
2022-04-02  3:03     ` Hongxing Zhu
2022-04-02  3:03       ` Hongxing Zhu
2022-04-04 14:39       ` Rob Herring [this message]
2022-04-04 14:39         ` Rob Herring
2022-04-05  3:15         ` Hongxing Zhu
2022-04-05  3:15           ` Hongxing Zhu
2022-02-25  3:44 ` [PATCH v8 7/8] PCI: imx6: Disable clocks and regulators after link is down Richard Zhu
2022-02-25  3:44   ` Richard Zhu
2022-02-25  3:44 ` [PATCH v8 8/8] PCI: imx6: Add compliance tests mode support Richard Zhu
2022-02-25  3:44   ` Richard Zhu
2022-04-01 20:26   ` Rob Herring
2022-04-01 20:26     ` Rob Herring
2022-04-02  3:03     ` Hongxing Zhu
2022-04-02  3:03       ` Hongxing Zhu
2022-03-14  5:26 ` [PATCH v8 0/8] PCI: imx6: refine codes and add " Hongxing Zhu
2022-03-14  5:26   ` Hongxing 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=YksDJfterGl9uPjs@robh.at.kernel.org \
    --to=robh@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=broonie@kernel.org \
    --cc=festevam@gmail.com \
    --cc=francesco.dolcini@toradex.com \
    --cc=hongxing.zhu@nxp.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.