[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b6ee55ef-6cfc-e8a9-9108-535f912992d4@gmail.com>
Date: Thu, 10 Jan 2019 20:41:08 +0100
From: Heiner Kallweit <hkallweit1@...il.com>
To: Florian Fainelli <f.fainelli@...il.com>,
Andrew Lunn <andrew@...n.ch>,
David Miller <davem@...emloft.net>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Tony Lindgren <tony@...mide.com>
Subject: Re: [PATCH net] net: phy: micrel: set soft_reset callback to
genphy_soft_reset for KSZ9031
On 10.01.2019 20:24, Florian Fainelli wrote:
> On 1/10/19 11:22 AM, Heiner Kallweit wrote:
>> So far genphy_soft_reset was used automatically if the PHY driver
>> didn't implement the soft_reset callback. This changed with the
>> mentioned commit and broke KSZ9031. To fix this configure the
>> KSZ9031 PHY driver to use genphy_soft_reset.
>>
>> Fixes: 6e2d85ec0559 ("net: phy: Stop with excessive soft reset")
>> Reported-by: Tony Lindgren <tony@...mide.com>
>> Signed-off-by: Heiner Kallweit <hkallweit1@...il.com>
>
> Thanks a lot for following up with the people at TI on this. We should
> really get a better understanding of what the issue is, and whether
> there is a possibly better workaround that could be developed which is
> not just as hard as a big hammer software reset. Maybe we can get some
> people/contacts at Micrel to help here.
>
In ksz9031_config_init() quite some settings are done and IMO it's not
that unusual that it takes a soft reset for such settings to become
effective. But I agree it would be nice if somebody from the PHY vendor
could comment on whether a soft reset is actually needed. Not sure who
has a contact to Microchip.
If the feedback takes time it may be better to apply the soft reset as
fix and replace it later in case we have a less intrusive option.
>> ---
>> drivers/net/phy/micrel.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
>> index c33384710..7828d17f0 100644
>> --- a/drivers/net/phy/micrel.c
>> +++ b/drivers/net/phy/micrel.c
>> @@ -1070,6 +1070,7 @@ static struct phy_driver ksphy_driver[] = {
>> .driver_data = &ksz9021_type,
>> .probe = kszphy_probe,
>> .config_init = ksz9031_config_init,
>> + .soft_reset = genphy_soft_reset,
>> .read_status = ksz9031_read_status,
>> .ack_interrupt = kszphy_ack_interrupt,
>> .config_intr = kszphy_config_intr,
>>
>
>
Powered by blists - more mailing lists