atom feed43 messages in org.freebsd.freebsd-archRe: Extending sys/dev/mii
FromSent OnAttachments
Stefan BethkeJan 4, 2012 8:03 am 
Adrian ChaddJan 4, 2012 9:07 am 
Marius StroblJan 4, 2012 1:59 pm 
Stefan BethkeJan 5, 2012 12:52 pm 
Stefan BethkeJan 6, 2012 4:56 am 
Stefan BethkeJan 6, 2012 5:02 am.diff
Marius StroblJan 6, 2012 10:27 am 
Stefan BethkeJan 6, 2012 12:35 pm 
Marius StroblJan 6, 2012 1:47 pm 
Stefan BethkeJan 6, 2012 1:52 pm 
Marius StroblJan 8, 2012 5:00 am 
Stefan BethkeJan 8, 2012 2:27 pm 
Adrian ChaddJan 10, 2012 5:18 pm 
Marius StroblJan 11, 2012 11:37 am 
Adrian ChaddJan 14, 2012 8:15 pm 
Warner LoshJan 14, 2012 9:13 pm 
Stefan BethkeJan 20, 2012 3:08 pm.patch
Warner LoshJan 20, 2012 5:43 pm 
Oleksandr TymoshenkoJan 20, 2012 8:12 pm 
Stefan BethkeJan 21, 2012 4:02 am 
Aleksandr RybalkoJan 21, 2012 5:12 am 
Oleksandr TymoshenkoJan 23, 2012 11:45 pm 
Aleksandr RybalkoJan 24, 2012 5:53 am 
Marius StroblJan 25, 2012 2:17 pm 
Warner LoshJan 25, 2012 2:28 pm 
Marius StroblJan 25, 2012 3:21 pm 
Hans Petter SelaskyJan 26, 2012 8:24 am 
Stefan BethkeJan 26, 2012 8:24 am 
Stefan BethkeJan 26, 2012 8:30 am 
Marius StroblJan 27, 2012 6:15 am 
Adrian ChaddFeb 10, 2012 9:22 pm 
Marius StroblFeb 11, 2012 3:17 am 
Aleksandr RybalkoFeb 11, 2012 4:45 am 
Adrian ChaddFeb 11, 2012 4:59 pm 
Warner LoshFeb 11, 2012 5:15 pm 
Adrian ChaddFeb 11, 2012 8:48 pm 
Warner LoshFeb 11, 2012 8:58 pm 
Juli MallettFeb 11, 2012 9:05 pm 
Adrian ChaddFeb 11, 2012 9:19 pm 
Aleksandr RybalkoFeb 12, 2012 9:51 am 
Aleksandr RybalkoFeb 12, 2012 10:04 am 
Juli MallettFeb 12, 2012 10:30 am 
Aleksandr RybalkoFeb 12, 2012 10:38 am 
Subject:Re: Extending sys/dev/mii
From:Stefan Bethke (st@lassitu.de)
Date:Jan 6, 2012 5:02:58 am
List:org.freebsd.freebsd-arch
Attachments:

(Now with actual patch attached. Thanks ray!)

Am 05.01.2012 um 21:52 schrieb Stefan Bethke:

The problem with this is that the miibus instance might not be a (transitive)
child of the ethernet driver that has the MII that needs to be adjusted to the
new PHY settings. And since the method does not provide any parameters about
which phy or miibus did issue the method, or which ifp it applies to, bubbling
it up won't work (that the scenario where the PHY for arge0 is connected to the
switch's MDIO, which is attached to arge1's MDIO).

Since the parent will now be the mdiobus, miibus needs effectively two
attachments, one to the provider of the MDIO access, the other for the ethernet
interface. I propose to associate the ethernet interface by a modified
mii_attach() function that takes a device_t (of the ethernet driver) instead of
the two callback function pointers.

Please elaborate on why these changes are technically necessary to implement what you are trying do. Otherwise I prefer to avoid them given the rototilling they'd cause.

Necessary is a strong word. Right now, I'm trying to understand how a sensible
change would even look like, and which combination of glue code and miibus
changes make the most sense.

Let me see if I can come up with a prototype patch the next couple of days, so
we don't have to theorize about the changes that might or might not be
necessary.

Here's a patch that causes zero rototilling, if I'm not mistaken.

The patch implements the split between the MDIO access and notifications posted
to the ethernet interface device that has the MII that needs to be adjusted in
accordance with the PHY autonegotiation results. I've added a field to the
ivars struct and not the softc, because the softc is included by many network
drivers, while the ivars are private to mii.c For this reason, I believe this
change is API and ABI compatible, and likely can be MFCed. (I believe MFCing is
not high on the priority list because many other parts in sys/mips would need to
be MFCed first for all the Atheros platforms to become fully usable, but Adrian
can correct me.)

A second patch will implement a separate MDIO bus driver, but I haven't finished
that yet. It s completely independent of the above change.

Stefan