[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <581CAB12.3030604@laposte.net>
Date: Fri, 4 Nov 2016 16:36:50 +0100
From: Sebastian Frias <sf84@...oste.net>
To: Måns Rullgård <mans@...sr.com>
Cc: "David S. Miller" <davem@...emloft.net>,
netdev <netdev@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>, Mason <slash.tmp@...e.fr>,
Andrew Lunn <andrew@...n.ch>
Subject: Re: [PATCH 1/2] net: ethernet: nb8800: Do not apply TX delay at MAC
level
Hi Måns,
On 11/04/2016 04:18 PM, Måns Rullgård wrote:
> Sebastian Frias <sf84@...oste.net> writes:
>
>> The delay can be applied at PHY or MAC level, but since
>> PHY drivers will apply the delay at PHY level when using
>> one of the "internal delay" declinations of RGMII mode
>> (like PHY_INTERFACE_MODE_RGMII_TXID), applying it again
>> at MAC level causes issues.
>
> The Broadcom GENET driver does the same thing.
>
Well, I don't know who uses that driver, or why they did it that way.
However, with the current code and DT bindings, if one requires
the delay, phy-connection-type="rgmii-txid" must be set.
But when doing so, both the Atheros 8035 and the Aurora NB8800 drivers
will apply the delay.
I think a better way of dealing with this is that both, PHY and MAC
drivers exchange information so that the delay is applied only once.
I can see how to do that in another patch set.
>> Signed-off-by: Sebastian Frias <sf84@...oste.net>
>> ---
>> drivers/net/ethernet/aurora/nb8800.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/ethernet/aurora/nb8800.c b/drivers/net/ethernet/aurora/nb8800.c
>> index b59aa35..d2855c9 100644
>> --- a/drivers/net/ethernet/aurora/nb8800.c
>> +++ b/drivers/net/ethernet/aurora/nb8800.c
>> @@ -1282,7 +1282,7 @@ static int nb8800_tangox_init(struct net_device *dev)
>> break;
>>
>> case PHY_INTERFACE_MODE_RGMII_TXID:
>> - pad_mode = PAD_MODE_RGMII | PAD_MODE_GTX_CLK_DELAY;
>> + pad_mode = PAD_MODE_RGMII;
>> break;
>>
>> default:
>> --
>> 1.7.11.2
>
> If this change is correct (and I'm not convinced it is), that case
> should be merged with the one above it and PHY_INTERFACE_MODE_RGMII_RXID
> added as well.
>
I can do a single patch.
The reason I made two patches was that it was clear what this patch
does, i.e.: do not apply the delay at MAC level, and what the subsequent
patch does, i.e.: handle all RGMII declinations.
Best regards,
Sebastian
Powered by blists - more mailing lists