Re: [PATCH net v3] net: ngbe: Fix phy mode set to external phy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 8/19/2024 8:04 PM, Mengyuan Lou wrote:
> The MAC only has add the TX delay and it can not be modified.
> MAC and PHY are both set the TX delay cause transmission problems.
> So just disable TX delay in PHY, when use rgmii to attach to
> external phy, set PHY_INTERFACE_MODE_RGMII_RXID to phy drivers.
> And it is does not matter to internal phy.
> 
> Fixes: bc2426d74aa3 ("net: ngbe: convert phylib to phylink")
> Signed-off-by: Mengyuan Lou <mengyuanlou@xxxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx # 6.3+
> ---
> v3:
> -Rebase the fix commit for net.
> v2:
> -Add a comment for the code modification.
> -Add the problem in commit messages.
> https://lore.kernel.org/netdev/E9C427FDDCF0CBC3+20240812103025.42417-1-mengyuanlou@xxxxxxxxxxxxx/
> v1:
> https://lore.kernel.org/netdev/C1587837D62D1BC0+20240806082520.29193-1-mengyuanlou@xxxxxxxxxxxxx/
> 
>  drivers/net/ethernet/wangxun/ngbe/ngbe_mdio.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/wangxun/ngbe/ngbe_mdio.c b/drivers/net/ethernet/wangxun/ngbe/ngbe_mdio.c
> index ec54b18c5fe7..a5e9b779c44d 100644
> --- a/drivers/net/ethernet/wangxun/ngbe/ngbe_mdio.c
> +++ b/drivers/net/ethernet/wangxun/ngbe/ngbe_mdio.c
> @@ -124,8 +124,12 @@ static int ngbe_phylink_init(struct wx *wx)
>  				   MAC_SYM_PAUSE | MAC_ASYM_PAUSE;
>  	config->mac_managed_pm = true;
>  
> -	phy_mode = PHY_INTERFACE_MODE_RGMII_ID;
> -	__set_bit(PHY_INTERFACE_MODE_RGMII_ID, config->supported_interfaces);
> +	/* The MAC only has add the Tx delay and it can not be modified.
> +	 * So just disable TX delay in PHY, and it is does not matter to
> +	 * internal phy.
> +	 */

The language of the comment seems a bit weird to me. It makes more sense
if it read "as it does not matter to the internal PHY".

That being said, its a bit of a nit. With our without changing the comment:

Reviewed-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>

> +	phy_mode = PHY_INTERFACE_MODE_RGMII_RXID;
> +	__set_bit(PHY_INTERFACE_MODE_RGMII_RXID, config->supported_interfaces);
>  
>  	phylink = phylink_create(config, NULL, phy_mode, &ngbe_mac_ops);
>  	if (IS_ERR(phylink))




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux