Date: Sun, 29 Jan 2012 23:13:16 +0100 From: Marius Strobl <marius@alchemy.franken.de> To: Adrian Chadd <adrian@freebsd.org> Cc: FreeBSD Net <freebsd-net@freebsd.org>, Aleksandr Rybalko <ray@ddteam.net>, Stefan Bethke <stb@lassitu.de>, FreeBSD-arch <freebsd-arch@freebsd.org> Subject: Re: Ethernet Switch Framework Message-ID: <20120129221316.GG39861@alchemy.franken.de> In-Reply-To: <CAJ-VmonoGHAXQSsaMXY%2Ba1MQVuKapwGAhYTCjUBt=boTgdp9dg@mail.gmail.com> References: <20120122195130.360261ce.ray@freebsd.org> <CAJ-VmokTh2q0ZH=kwU6GzJm5Mr4k7geJiFsoX_A9hcLhMZNxsg@mail.gmail.com> <0E31FEC4-963D-4AC8-9AB7-EE6D6D7F86EE@lassitu.de> <CAJ-Vmo=GRKRf%2BYsFqNm9d_T3Tq583uV_pabMV6ozuaytSRLivg@mail.gmail.com> <20120129001251.7e4cfe83.ray@ddteam.net> <CACVs6=-U9rr7cpeJ%2BVUgP3Xq1yRB=Xk1GjuzEOuXiEUoqGFq_Q@mail.gmail.com> <DBAB0C5C-5B2D-4430-8096-9E4DC7233961@bsdimp.com> <81B88904-6894-4AC3-80F3-2866216E494B@lassitu.de> <20120129153159.GA44362@alchemy.franken.de> <CAJ-VmonoGHAXQSsaMXY%2Ba1MQVuKapwGAhYTCjUBt=boTgdp9dg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jan 29, 2012 at 11:00:22AM -0800, Adrian Chadd wrote: > I think for switches, that doesn't necessarily hold. Err, what exactly doesn't hold? The suggestion about using multi-pass probing was just for the case when there's a separate MDIO master other drivers depend on. The latter would just use the default ordering (unless there are again ordering constraints whithin them). So if there's no separate MDIO master driver invovled that is attached first, the other drivers would still just be attached in the default ordering. > > ie, mii_attach() for single-PHY devices may work that way, but the weird What way? > and wonderful world of embedded switch SoC's doesn't. You're lucky in most > instances since the bootloader does give you a mostly-working switch > config. But I doubt that's a guarantee on all platforms. > > So for those (ethernet) devices, splitting out the mii/mdio stuff and _not_ > necessarily presenting a working PHY may be acceptable. For now it's going If there isn't a single working PHY, why would one want to attach miibus(4) in the first place? What is about the opposite case, when all you have is a MDIO master and a switch connected to it, but no MAC on the MII lines of the switch? > to be a subset, to having it export an MDIO bus and doing late MII > attachment may not be as architecturally "no-no" as I interpret your post. > Originally, Stefan said that he wants to find a way to support all the odd combinations found in the embedded-world and I try to come up with model that is able to do that without needing hacks and hints left and right. As imp@ said, interrupt controllers and GPIO basically suffer the same dependency constraints across otherwise unrelated devices there, so we really should find a way to properly deal with that situation without again needing another set of hacks and hints in other types of drivers. As for MDIO you actually can have another layer of dependencies between MDIO master, Ethernet switch and PHY, f.e. at work we use a single MDIO master and switch it to different slave busses using a multiplexer managed via GPIO ... not that I'd ever wanted to support this via generic means in FreeBSD. Marius
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120129221316.GG39861>