Re: [PATCH 4/6] PCI/pwrctrl: tc9563: Skip Tx amplitude and DFE tuning for DSP3

From: Bjorn Helgaas

Date: Tue Jul 28 2026 - 12:05:43 EST


On Tue, Jul 28, 2026 at 03:25:29PM +0200, Manivannan Sadhasivam wrote:
> On Mon, Jul 27, 2026 at 10:59:11AM -0500, Alex Elder wrote:
> > On 7/25/26 3:59 AM, Manivannan Sadhasivam via B4 Relay wrote:
> > > From: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxxxxxxxx>
> > >
> > > DSP3 doesn't support tuning Tx amplitude and DFE settings. So just skip
> > > the setting if DT has passed the tuning properties. There is no need to
> > > error out the whole driver because of it.
> > >
> > > Fixes: 4c9c7be47310 ("PCI: pwrctrl: Add power control driver for TC9563")
> > > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxxxxxxxx>
> >
> > So to keep things simple, tc9563_pwrctrl_parse_device_dt() is called
> > for all downstream ports but you ignore the setting (with a warning)
> > for those that do not apply to DSP3.
> >
> > What about tc9563_pwrctrl_set_nfts()?
>
> Good catch! I missed adding the check for N_FTS as well:
>
> ```
> diff --git a/drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c b/drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c
> index 9d869483b6b3..978907aa0ce5 100644
> --- a/drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c
> +++ b/drivers/pci/pwrctrl/pci-pwrctrl-tc9563.c
> @@ -410,11 +410,17 @@ static int tc9563_pwrctrl_set_nfts(struct tc9563_pwrctrl *tc9563,
> {TC9563_NFTS_2_5_GT, nfts[0]},
> {TC9563_NFTS_5_GT, nfts[1]},
> };
> + struct device *dev = tc9563->pwrctrl.dev;
> int ret;
>
> if (!nfts[0])
> return 0;
>
> + if (port == TC9563_VDSP) {
> + dev_dbg(dev, "N_FTS tuning not supported for VDSP\n");
> + return 0;
> + }
> +
> ret = tc9563_pwrctrl_i2c_write(tc9563->client, TC9563_PORT_SELECT,
> BIT(port));
> if (ret)
> ```
>
> @Bjorn: Could you please amend the above diff with this commit?

It didn't apply cleanly (maybe whitespace damage?), but I applied it
by hand:
https://git.kernel.org/cgit/linux/kernel/git/pci/pci.git/commit/?id=b859b9366b44