lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
 <AS8PR04MB8676112C7752009DE7833BE68C4E2@AS8PR04MB8676.eurprd04.prod.outlook.com>
Date: Thu, 24 Oct 2024 07:42:55 +0000
From: Hongxing Zhu <hongxing.zhu@....com>
To: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
CC: "kw@...ux.com" <kw@...ux.com>, "bhelgaas@...gle.com"
	<bhelgaas@...gle.com>, "lpieralisi@...nel.org" <lpieralisi@...nel.org>, Frank
 Li <frank.li@....com>, "l.stach@...gutronix.de" <l.stach@...gutronix.de>,
	"robh+dt@...nel.org" <robh+dt@...nel.org>, "conor+dt@...nel.org"
	<conor+dt@...nel.org>, "shawnguo@...nel.org" <shawnguo@...nel.org>,
	"krzysztof.kozlowski+dt@...aro.org" <krzysztof.kozlowski+dt@...aro.org>,
	"festevam@...il.com" <festevam@...il.com>, "s.hauer@...gutronix.de"
	<s.hauer@...gutronix.de>, "linux-pci@...r.kernel.org"
	<linux-pci@...r.kernel.org>, "linux-arm-kernel@...ts.infradead.org"
	<linux-arm-kernel@...ts.infradead.org>, "linux-kernel@...r.kernel.org"
	<linux-kernel@...r.kernel.org>, "devicetree@...r.kernel.org"
	<devicetree@...r.kernel.org>, "kernel@...gutronix.de"
	<kernel@...gutronix.de>, "imx@...ts.linux.dev" <imx@...ts.linux.dev>
Subject: RE: [PATCH v4 2/9] PCI: imx6: Add ref clock for i.MX95 PCIe


> -----Original Message-----
> From: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
> Sent: 2024年10月23日 0:46
> To: Hongxing Zhu <hongxing.zhu@....com>
> Cc: kw@...ux.com; bhelgaas@...gle.com; lpieralisi@...nel.org; Frank Li
> <frank.li@....com>; l.stach@...gutronix.de; robh+dt@...nel.org;
> conor+dt@...nel.org; shawnguo@...nel.org;
> krzysztof.kozlowski+dt@...aro.org; festevam@...il.com;
> s.hauer@...gutronix.de; linux-pci@...r.kernel.org;
> linux-arm-kernel@...ts.infradead.org; linux-kernel@...r.kernel.org;
> devicetree@...r.kernel.org; kernel@...gutronix.de; imx@...ts.linux.dev
> Subject: Re: [PATCH v4 2/9] PCI: imx6: Add ref clock for i.MX95 PCIe
> 
> On Tue, Oct 15, 2024 at 04:33:26PM +0800, Richard Zhu wrote:
> > Add "ref" clock to enable reference clock.
> >
> > If use external clock, ref clock should point to external reference.
> >
> > If use internal clock, CREF_EN in LAST_TO_REG controls reference
> > output, which implement in drivers/clk/imx/clk-imx95-blk-ctl.c.
> >
> 
> So this means the driver won't work with old devicetrees. Am I right? Then
> you are breaking the DT compatibility.
> 
> You should make the clock optional in the driver.
Anyway, old DTBs can't work even probe is complete successfully. Since this
 bit would be gated off by released boot firmware.

i.MX95 is a pretty new chip, it's my fault that I didn't figure out this bit
can gate the clock out when internal PLL is used as reference clock in the
initial i.MX95 PCIe support upstream.
 
So, there is no different results whatever this commit is applied or not, when
old DTBs are used.
 
How about just keep this commit?
Since the ref clock is not optional for i.MX95 PCIe from HW view actually.

At end, the commit of this patch is updated as below.
"
PCI: imx6: Add ref clock support for i.MX95 PCIe
 
Add "ref" clock to enable the PCIe reference clock on i.MX95, despite breaking
DT compatibility. This change addresses issues with older DTBs, which would not 
work even if probing was successful, as the reference clock bit is gated off by 
the production boot firmware.
 
For systems using an external clock, the ref clock should point to the external 
reference. For systems using the internal clock, the CREF_EN bit in LAST_TO_REG 
will control the reference output, which is implemented in the 
drivers/clk/imx/clk-imx95-blk-ctl.c driver.
"
Best Regards
Richard Zhu
> 
> - Mani
> 
> > Signed-off-by: Richard Zhu <hongxing.zhu@....com>
> > Reviewed-by: Frank Li <Frank.Li@....com>
> > ---
> >  drivers/pci/controller/dwc/pci-imx6.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/pci/controller/dwc/pci-imx6.c
> > b/drivers/pci/controller/dwc/pci-imx6.c
> > index 808d1f105417..52a8b2dc828a 100644
> > --- a/drivers/pci/controller/dwc/pci-imx6.c
> > +++ b/drivers/pci/controller/dwc/pci-imx6.c
> > @@ -1480,6 +1480,7 @@ static const char * const imx8mm_clks[] =
> > {"pcie_bus", "pcie", "pcie_aux"};  static const char * const
> > imx8mq_clks[] = {"pcie_bus", "pcie", "pcie_phy", "pcie_aux"};  static
> > const char * const imx6sx_clks[] = {"pcie_bus", "pcie", "pcie_phy",
> > "pcie_inbound_axi"};  static const char * const imx8q_clks[] =
> > {"mstr", "slv", "dbi"};
> > +static const char * const imx95_clks[] = {"pcie_bus", "pcie",
> > +"pcie_phy", "pcie_aux", "ref"};
> >
> >  static const struct imx_pcie_drvdata drvdata[] = {
> >  	[IMX6Q] = {
> > @@ -1593,8 +1594,8 @@ static const struct imx_pcie_drvdata drvdata[] = {
> >  	[IMX95] = {
> >  		.variant = IMX95,
> >  		.flags = IMX_PCIE_FLAG_HAS_SERDES,
> > -		.clk_names = imx8mq_clks,
> > -		.clks_cnt = ARRAY_SIZE(imx8mq_clks),
> > +		.clk_names = imx95_clks,
> > +		.clks_cnt = ARRAY_SIZE(imx95_clks),
> >  		.ltssm_off = IMX95_PE0_GEN_CTRL_3,
> >  		.ltssm_mask = IMX95_PCIE_LTSSM_EN,
> >  		.mode_off[0]  = IMX95_PE0_GEN_CTRL_1,
> > --
> > 2.37.1
> >
> 
> --
> மணிவண்ணன் சதாசிவம்

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ