Re: [PATCH v3 13/15] phy: cadence: Sierra: Add PCIe + QSGMII PHY multilink configuration

From: Vinod Koul
Date: Thu Dec 09 2021 - 06:54:09 EST


On 02-12-21, 14:12, Swapnil Kashinath Jakhade wrote:
> Hi Vinod,
>
> > -----Original Message-----
> > From: Vinod Koul <vkoul@xxxxxxxxxx>
> > Sent: Thursday, November 25, 2021 10:41 AM
> > To: Swapnil Kashinath Jakhade <sjakhade@xxxxxxxxxxx>
> > Cc: kishon@xxxxxx; robh+dt@xxxxxxxxxx; p.zabel@xxxxxxxxxxxxxx; linux-
> > phy@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> > devicetree@xxxxxxxxxxxxxxx; Milind Parab <mparab@xxxxxxxxxxx>; a-
> > govindraju@xxxxxx
> > Subject: Re: [PATCH v3 13/15] phy: cadence: Sierra: Add PCIe + QSGMII PHY
> > multilink configuration
> >
> > EXTERNAL MAIL
> >
> >
> > On 24-11-21, 07:33, Swapnil Kashinath Jakhade wrote:
> >
> > > > so this is pcie->qsgmii ->ssc/external/internal ... ok
> > > >
> > > > > + [NO_SSC] =
> > > > &pcie_100_no_ssc_plllc_cmn_vals,
> > > > > + [EXTERNAL_SSC] =
> > > > &pcie_100_ext_ssc_plllc_cmn_vals,
> > > > > + [INTERNAL_SSC] =
> > > > &pcie_100_int_ssc_plllc_cmn_vals,
> > > > > + },
> > > > > },
> > > > > [TYPE_USB] = {
> > > > > [TYPE_NONE] = {
> > > > > [EXTERNAL_SSC] =
> > > > &usb_100_ext_ssc_cmn_vals,
> > > > > },
> > > > > },
> > > > > + [TYPE_QSGMII] = {
> > > > > + [TYPE_PCIE] = {
> > > >
> > > > now it is reverse! qsgmii -> pcie -> ... why?
> > > >
> > > > what is meant by pcie->qsgmii and qsgmii-> pcie?
> > > >
> > >
> > > Multi-protocol configuration is done in 2 phases, each for one protocol.
> > > e.g. for PCIe + QSGMII case,
> > > [TYPE_PCIE][TYPE_QSGMII] will configure common and lane registers for
> > > PCIe and [TYPE_QSGMII][TYPE_PCIE] will configure common and lane
> > registers for QSGMII.
> >
> > Then it should be always common + protocol or protocol + common, not
> > both please! Pls make an order and stick to it everywhere... If that is not
> > possible, I would like to understand why
>
> Could you please elaborate what do you mean by
> " common + protocol or protocol + common, not both please!"?
> The order is same everywhere which is common + lane configuration for protocol 1
> and then for protocol 2. For multiprotocol case, PHY configuration is based on which
> protocols are operating simultaneously. So e.g.
> [TYPE_QSGMII][TYPE_PCIE] -> QSGMII configuration when other protocol is PCIe
> Which might be different than
> [TYPE_QSGMII][TYPE_*] -> QSGMII configuration with other protocol.

As I said I would like to understand what is the difference b/w
[TYPE_QSGMII][TYPE_PCIE] & [TYPE_PCIE][TYPE_QSGMII] and why?

--
~Vinod