From owner-freebsd-arch@FreeBSD.ORG Sun Jan 29 16:19:44 2012 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C1B98106566C; Sun, 29 Jan 2012 16:19:44 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 374F08FC18; Sun, 29 Jan 2012 16:19:42 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id q0TGJcXQ044634; Sun, 29 Jan 2012 17:19:38 +0100 (CET) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id q0TGJcnA044633; Sun, 29 Jan 2012 17:19:38 +0100 (CET) (envelope-from marius) Date: Sun, 29 Jan 2012 17:19:38 +0100 From: Marius Strobl To: Stefan Bethke Message-ID: <20120129161938.GD39861@alchemy.franken.de> References: <20120122195130.360261ce.ray@freebsd.org> <0E31FEC4-963D-4AC8-9AB7-EE6D6D7F86EE@lassitu.de> <20120129001251.7e4cfe83.ray@ddteam.net> <81B88904-6894-4AC3-80F3-2866216E494B@lassitu.de> <20120129153159.GA44362@alchemy.franken.de> <3B5A749B-9553-4152-9441-3F343BA219FB@lassitu.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3B5A749B-9553-4152-9441-3F343BA219FB@lassitu.de> User-Agent: Mutt/1.4.2.3i Cc: FreeBSD Net , Aleksandr Rybalko , Adrian Chadd , FreeBSD-arch Subject: Re: Ethernet Switch Framework X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 16:19:44 -0000 On Sun, Jan 29, 2012 at 05:00:38PM +0100, Stefan Bethke wrote: > Am 29.01.2012 um 16:31 schrieb Marius Strobl: > > > How about adding the MDIO provider via multi-pass probing? That idea > > of that model was to attach things like drivers for interrupt controllers > > before any other driver that requires that resource. This seems like a > > perfect match here and requires neither a specific hack to the nexus > > (the platform generally needs to be multi-pass aware though and the > > thing enabled in subr_bus.c) nor a hack to miibus(4). > > Please recall the devinfo graph that I posted earlier. The PHY arge0 needs to talk to is attached to the MDIO master on the switch controller, which in turn is attached to GE1's MDIO master. This would require early attachment of the switch, in turn requiring early attachment of arge_mdio, in turn requiring early attachment of mips/mips/nexus. > Yes > > We really need > > to find a proper way of dealing with the constraints of the embedded- > > world rather than to sprinkle hacks all over the place. > > Why is the above is less of a hack than making the ordering in nexus configurable through a hint? > If it's generally true that driver A must be attached before driver B as B has a dependency on A than this should be expressed and configured in the drivers themselves and not need an extra hint to configure it at the runtime of the kernel. Marius