From: Bjorn Helgaas <helgaas@kernel.org>
To: Krishna Chaitanya Chundru <quic_krichai@quicinc.com>
Cc: Rob Herring <robh@kernel.org>,
Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>,
andersson@kernel.org, dmitry.baryshkov@linaro.org,
manivannan.sadhasivam@linaro.org, krzk@kernel.org,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
lpieralisi@kernel.org, kw@linux.com, conor+dt@kernel.org,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
devicetree-spec@vger.kernel.org, quic_vbadigan@quicinc.com
Subject: Re: [PATCH V1] schemas: pci: bridge: Document PCI L0s & L1 entry delay and nfts
Date: Tue, 7 Jan 2025 14:42:28 -0600 [thread overview]
Message-ID: <20250107204228.GA180123@bhelgaas> (raw)
In-Reply-To: <6d75827d-5285-35ff-bf9b-aec77cd8304e@quicinc.com>
On Tue, Jan 07, 2025 at 07:49:00PM +0530, Krishna Chaitanya Chundru wrote:
> On 1/6/2025 8:37 PM, Rob Herring wrote:
> > On Mon, Jan 6, 2025 at 3:33 AM Krishna Chaitanya Chundru
> > <krishna.chundru@oss.qualcomm.com> wrote:
> > >
> > > Some controllers and endpoints provide provision to program the entry
> > > delays of L0s & L1 which will allow the link to enter L0s & L1 more
> > > aggressively to save power.
> > >
> > > As per PCIe spec 6 sec 4.2.5.6, the number of Fast Training Sequence (FTS)
> > > can be programmed by the controllers or endpoints that is used for bit and
> > > Symbol lock when transitioning from L0s to L0 based upon the PCIe data rate
> > > FTS value can vary. So define a array for each data rate for nfts.
> > >
> > > These values needs to be programmed before link training.
> > Do these properties apply to any link like downstream ports on a
> > PCIe switch?
> >
> These applies to downstream ports also on a switch.
IIUC every PCIe component with a Link, i.e., Upstream Ports (on a
Switch or Endpoint) and Downstream Ports (a Root Port or Switch), has
an N_FTS value that it advertises during Link training.
I suppose N_FTS depends on the component electrical design and maybe
the Link, and it only makes sense to have this n-fts property for
specific devices that support this kind of configuration, right? I
don't think we would know what to do with n-fts for random plug-in
Switches or Endpoints because there's no generic way to configure
N_FTS, and we *couldn't* do it before the Link is trained anyway
unless there's some sideband mechanism.
> > > + description:
> > > + Number of Fast Training Sequence (FTS) used during L0s to L0 exit for bit
> > > + and Symbol lock.
> > > + $ref: /schemas/types.yaml#/definitions/uint32-array
> > > + minItems: 1
> > > + maxItems: 5
> >
> > Need to define what is each entry? Gen 1 to 5?
> >
> yes there are from Gen1 to Gen 5, I will update this in next patch these
> details.
Components are permitted to advertise different N_FTS values at
different *speeds*, not "GenX" (PCIe r6.0, sec 4.2.5.6)
The spec discourages use of Gen1, etc because they are ambiguous (sec
1.2):
Terms like "PCIe Gen3" are ambiguous and should be avoided. For
example, "gen3" could mean (1) compliant with Base 3.0, (2)
compliant with Base 3.1 (last revision of 3.x), (3) compliant with
Base 3.0 and supporting 8.0 GT/s, (4) compliant with Base 3.0 or
later and supporting 8.0 GT/s, ....
We're stuck with the use of genX for max-link-speed, but we should use
speeds when we can for clarity, e.g., in the description here.
next prev parent reply other threads:[~2025-01-07 20:42 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-06 9:33 [PATCH V1] schemas: pci: bridge: Document PCI L0s & L1 entry delay and nfts Krishna Chaitanya Chundru
2025-01-06 15:07 ` Rob Herring
2025-01-07 14:19 ` Krishna Chaitanya Chundru
2025-01-07 20:42 ` Bjorn Helgaas [this message]
2025-01-08 2:42 ` Krishna Chaitanya Chundru
2025-01-06 23:32 ` Bjorn Helgaas
2025-01-07 14:21 ` Krishna Chaitanya Chundru
2025-01-07 14:22 ` Rob Herring
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=20250107204228.GA180123@bhelgaas \
--to=helgaas@kernel.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree-spec@vger.kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=krishna.chundru@oss.qualcomm.com \
--cc=krzk@kernel.org \
--cc=kw@linux.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=quic_krichai@quicinc.com \
--cc=quic_vbadigan@quicinc.com \
--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