Thread (7 messages) 7 messages, 3 authors, 2015-02-23

Re: [PATCH 2/2] dsa: mv88e6131: support fixed PHYs

flat view

From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2015-02-21 18:57:07

2015-02-21 2:30 GMT-08:00 Tobias Waldekranz [off-list ref]:
On Thu, Feb 12, 2015 at 08:13:28AM -0800, Florian Fainelli wrote:
quoted
2015-02-12 6:13 GMT-08:00 Tobias Waldekranz [off-list ref]:
quoted
Statically setup the PCS Control on the MAC to match the fixed PHY.
bcm_sf2 supports both fixed PHYs and regular PHYs, yet we do not need
to get access to the fixed PHY status from the adjust_link callback
because you could implement a separate fixed_link_update callback for
that purpose.

Did not that work for you?
That was my first approach and it worked fine. The only issue I saw
was that the callback was continously called at each poll cycle even
though the link state had not changed.
Right, we poll using this callback fairly often. Just like the PHY
libraries adjust_link, drivers are responsible for implementing
"caching" and avoiding the callback to be invoked too frequently.
So then I implemented the same check for updates that was in the
regular adjust_link callback. But before I submitted that version of
the patch I looked att the sf2 code, and it seemed as though this code
uses the callback to update the phy status based on the chip state and
not the other way around. Did I misunderstand the code?
It is a two step process:

- fixed_link_update updates the fixed PHY's status member to reflect
the HW changes (link change mostly), updates the PHY device
speed/duplex/pause parameters

- adjust_link reads the PHY device speed/duplex/pause and applies
these to the HW registers
Not wanting to break your code, I went with this approach instead. But
if you're fine with it, I'm more than happy to go with that version.
I think it is a little cleaner since the adjust_link callback does not
need to know what kind of PHY device it is dealing with, while the
fixed_link_update() one only takes care of fixed PHYs.

Thanks
-- 
Florian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help