On Fri, Nov 28, 2014 at 11:06 AM, Heiner Kallweit <hkallwe...@gmail.com> wrote: > In my tests with AR8327 this callback was never called with an addr != 0. > Seems logical to me as it's called for the PHY attached to the net device > only. > > In most cases this is addr 0, just for AR8316 with port4_phy being set this > could be 4. > > This leads to two questions: > > 1. The current version of this function checks for "addr == 0" always, I'd > assume this is not correct for AR8316 and port4_phy being set. > > 2. As it seems to be called for the attached PHY addr only and in exactly > this case we do nothing: Can we simply replace this callback with a dummy > "return 0" ?
Port4_phy being set means the switch operates in dual-mii mode. Most Atheros switches (including AR8327) support a dual-phy mode, where port 5 / phy 4 is split out from the rest of the switch and used as a single phy for a second ethernet mac. In these cases phy 4 is used like a standard phy, and the kernel needs to be able to configure autonegotiation or other features. Consequently you will only see the callback being called for addr != 0 if the switch is in this mode and there is a second ethernet mac as the single wan port. I'm not sure if there are any OpenWrt supported devices with this setup with AR8327, but there are several examples for AR8316, e.g. the RouterStation Pro [1]. The switch driver claiming phy 0 is technically wrong, as the connection to the switch isn't using phy 0, but uses a fixed (R)(G)MII connection that does not support autonegotiation. But there also is no other phy address on the MDIO bus which represents the cpu port, so we need this workaround for autodetection/-attachment. >From the switch perspective port 0 / cpu port. Phy 0 actually belongs to the external port 1, therefore we stub it out for addr == 0. Jonas [1] http://wiki.openwrt.org/toh/ubiquiti/routerstation.pro#switch.ports.for.vlans _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel