Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Aug 2002 09:19:47 -0700 (PDT)
From:      John Polstra <jdp@polstra.com>
To:        ambrisko@FreeBSD.org
Cc:        net@FreeBSD.org
Subject:   Re: cvs commit: src/sys/dev/mii mii.c
Message-ID:  <200208161619.g7GGJl2x074161@vashon.polstra.com>
In-Reply-To: <200208072218.g77MIXPA082326@freefall.freebsd.org>
References:  <200208072218.g77MIXPA082326@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <200208072218.g77MIXPA082326@freefall.freebsd.org>,
Doug Ambrisko  <ambrisko@FreeBSD.org> wrote:
> ambrisko    2002/08/07 15:18:33 PDT
> 
>   Modified files:
>     sys/dev/mii          mii.c 
>   Log:
>   Only attach one PHY device to a controller.  NetBSD has similar code.
>   The D-Link DFE-580 card will otherwise show 2 miibuses for each controller
>   and therefore 2 ukphy's.

[cc to -net]

This change seems wrong to me.  Since the MII bus is a bus and since
phys have addresses on the bus, I've always assumed that the intent
was to be able to have more than one phy on an MII bus.  While I don't
know of any NICs that actually use that feature, I hate to see it get
disabled without careful consideration.

If a particular NIC has a problem with this, I think the fix should
be in the driver for that NIC, not in the generic MII code.  See,
for example, bge_miibus_readreg() in sys/dev/bge/if_bge.c.  On the
BCM5701 chips the phy address is not decoded, so 32 phys probe
as present.  The real phy is at address 1, and the driver works
around the lack of decoding like this:

    static int
    bge_miibus_readreg(dev, phy, reg)
	    device_t dev;
	    int phy, reg;
    {
	    struct bge_softc *sc;
	    struct ifnet *ifp;
	    u_int32_t val;
	    int i;

	    sc = device_get_softc(dev);
	    ifp = &sc->arpcom.ac_if;

	    if (sc->bge_asicrev == BGE_ASICREV_BCM5701_B5 && phy != 1)
		    return(0);
	    [...]

Can't a similar NIC-specific hack be put into the DFE-580 driver?

John
-- 
  John Polstra
  John D. Polstra & Co., Inc.                        Seattle, Washington USA
  "Disappointment is a good sign of basic intelligence."  -- Chögyam Trungpa


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200208161619.g7GGJl2x074161>