Re: [PATCH net-next 1/2] net: pcs: xpcs: enable skip xPCS soft reset

From: Florian Fainelli
Date: Wed Aug 11 2021 - 04:37:06 EST




On 8/10/2021 4:55 PM, Wong Vee Khee wrote:
Hi Andrew,
On Mon, Aug 09, 2021 at 03:35:09PM +0200, Andrew Lunn wrote:
On Mon, Aug 09, 2021 at 06:22:28PM +0800, Wong Vee Khee wrote:
From: Michael Sit Wei Hong <michael.wei.hong.sit@xxxxxxxxx>

Unlike any other platforms, Intel AlderLake-S uses Synopsys SerDes where
all the SerDes PLL configurations are controlled by the xPCS at the BIOS
level. If the driver perform a xPCS soft reset on initialization, these
settings will be switched back to the power on reset values.

This changes the xpcs_create function to take in an additional argument
to check if the platform request to skip xPCS soft reset during device
initialization.

Why not just call into the BIOS and ask it to configure the SERDES?
Isn't that what ACPI is all about, hiding the details from the OS? Or
did the BIOS writers not add a control method to do this?

Andrew

BIOS does configured the SerDes. The problem here is that all the
configurations done by BIOS are being reset at xpcs_create().

We would want user of the pcs-xpcs module (stmmac, sja1105) to have
control whether or not we need to perform to the soft reset in the
xpcs_create() call.

I understood Andrew's response as suggesting to introduce the ability for xpcs_create() to make a BIOS call which would configure the SerDes after xpcs_soft_reset(). That way the current xpcs_create() signature would remain the same, but you could easily hook any post-reset initialization by making an appropriate BIOS call.
--
Florian