linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hongxing Zhu <hongxing.zhu@nxp.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: "l.stach@pengutronix.de" <l.stach@pengutronix.de>,
	"bhelgaas@google.com" <bhelgaas@google.com>,
	"lorenzo.pieralisi@arm.com" <lorenzo.pieralisi@arm.com>,
	"shawnguo@kernel.org" <shawnguo@kernel.org>,
	"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>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>
Subject: RE: [RFC 2/2] PCI: imx6: Enable imx6qp pcie power management support
Date: Tue, 15 Feb 2022 03:16:37 +0000	[thread overview]
Message-ID: <AS8PR04MB86760E0FD82440CF718551A38C349@AS8PR04MB8676.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20220211165318.GA714416@bhelgaas>

> -----Original Message-----
> From: Bjorn Helgaas <helgaas@kernel.org>
> Sent: 2022年2月12日 0:53
> To: Hongxing Zhu <hongxing.zhu@nxp.com>
> Cc: l.stach@pengutronix.de; bhelgaas@google.com;
> lorenzo.pieralisi@arm.com; shawnguo@kernel.org; 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>; Rafael J. Wysocki
> <rjw@rjwysocki.net>
> Subject: Re: [RFC 2/2] PCI: imx6: Enable imx6qp pcie power management
> support
> 
> [+cc Rafael, beginning of thread:
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.ker
> nel.org%2Fr%2F1644390156-5940-2-git-send-email-hongxing.zhu%40nxp.com
> &amp;data=04%7C01%7Chongxing.zhu%40nxp.com%7Ca40c2a3d7c03497f8c
> f208d9ed7f0463%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63
> 7801952076367918%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMD
> AiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=
> BnzoSbb92HEw%2BQAMspyCT72787aFUhmPiZX2ZVAztJo%3D&amp;reserved
> =0]
> 
> On Fri, Feb 11, 2022 at 02:05:24AM +0000, Hongxing Zhu wrote:
> > > -----Original Message-----
> > > From: Bjorn Helgaas <helgaas@kernel.org>
> > > Sent: 2022年2月11日 6:05
> > > To: Hongxing Zhu <hongxing.zhu@nxp.com>
> > > Cc: l.stach@pengutronix.de; bhelgaas@google.com;
> > > lorenzo.pieralisi@arm.com; shawnguo@kernel.org;
> > > 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: [RFC 2/2] PCI: imx6: Enable imx6qp pcie power
> > > management support
> > >
> > > On Thu, Feb 10, 2022 at 03:23:19AM +0000, Hongxing Zhu wrote:
> > > > > -----Original Message-----
> > > > > From: Bjorn Helgaas <helgaas@kernel.org>
> > > > > Sent: 2022年2月9日 23:37
> > > > > To: Hongxing Zhu <hongxing.zhu@nxp.com>
> > > > > Cc: l.stach@pengutronix.de; bhelgaas@google.com;
> > > > > lorenzo.pieralisi@arm.com; shawnguo@kernel.org;
> > > > > 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: [RFC 2/2] PCI: imx6: Enable imx6qp pcie power
> > > > > management support
> > > > >
> > > > > On Wed, Feb 09, 2022 at 03:02:36PM +0800, Richard Zhu wrote:
> > > > > > i.MX6QP PCIe supports the RESET logic, thus it can support the
> > > > > > L2 exit by the reset mechanism.
> > > > > > Enable the i.MX6QP PCIe suspend/resume operations support.
> > >
> > > > > What does "L2 exit by reset mechanism" mean?  Is this an
> > > > > i.MX6-specific thing?  If not, can you point me to the relevant
> > > > > part of the PCIe spec?
> > > >
> > > > No, it's not i.MX6 specific thing. i.MX6Q/DL doesn't have the
> > > > self-reset mechanism.  Thus, it can't reset itself to an
> > > > initialized stat when link exit from the L2 or L3 stats.  i.MX6QP
> > > > PCIe has the self-reset mechanism, and it can reset itself when
> > > > link exit from L2 or L3 stats.  The commit description might not
> > > > accurate.  How about change them to "i.MX6QP PCIe supports the
> > > > RESET logic, thus it can reset itself to the initialized stat when exit from L2
> or L3 stats."
> > >
> > > Ugh, I have all sorts of questions now, but I don't think I want to
> > > know much more about this ;)
> > >
> > > Seems like this device requires software assist when bringing the
> > > link out of L2 or L3.  Is that allowed per PCIe spec, or is this an
> > > erratum?
> > >
> > > Does this mean the driver needs to be involved when we take a device
> > > out of D3 (where the link was in L2 or L3)?
> >
> > Yes, the SW should be involved when bringing the link out of L2 or L3.
> > I looked through the SPEC, didn't find that they are forbidden by
> > SPEC.  It might be a design limitation, I think.
> 
> OK.  I don't understand all the details of L2 and L3, so I'll take your word for it
> that this is allowed by spec.
> 
> The case I was wondering about is when software puts a device in D3hot,
> which can be done via pci_set_power_state(), without any help from the imx6
> driver.  What state will the link be in, and can we also put the device back in
> D0 without help from imx6?
Hi Bjorn:
Regarding my understand, i.MX6QP PCIe would broadcast the PME message,
 handshake with remote EP, let link state to be L1 or L2/L3. Then, the EP
 device driver would put the device into D3 mode accordingly.

Since i.MX PCIe doesn't support the L2 and the beacon to exit the L2 link
 power state. The reset and link retraining would be done to re-setup the
 link when exit the L3 link power state.

Best Regards
Richard
> 
> Sec 5.3.2 says L1 is a permissible link state for D3hot, so maybe L2 and L3 are
> not involved in this case.
> 
> Bjorn

  reply	other threads:[~2022-02-15  3:16 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-09  7:02 [RFC 1/2] ARM: dts: imx6qp-sabresd: Enable pcie support Richard Zhu
2022-02-09  7:02 ` [RFC 2/2] PCI: imx6: Enable imx6qp pcie power management support Richard Zhu
2022-02-09  9:07   ` Lucas Stach
2022-02-10  1:58     ` Hongxing Zhu
2022-02-09 15:36   ` Bjorn Helgaas
2022-02-10  3:23     ` Hongxing Zhu
2022-02-10 22:04       ` Bjorn Helgaas
2022-02-11  2:05         ` Hongxing Zhu
2022-02-11 16:53           ` Bjorn Helgaas
2022-02-15  3:16             ` Hongxing Zhu [this message]
2022-02-09  9:05 ` [RFC 1/2] ARM: dts: imx6qp-sabresd: Enable pcie support Lucas Stach
2022-02-10  1:49   ` 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=AS8PR04MB86760E0FD82440CF718551A38C349@AS8PR04MB8676.eurprd04.prod.outlook.com \
    --to=hongxing.zhu@nxp.com \
    --cc=bhelgaas@google.com \
    --cc=helgaas@kernel.org \
    --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 \
    --cc=rjw@rjwysocki.net \
    --cc=shawnguo@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).