tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: BCM5809S support in bnx(4) and brgphy(4)

On 01.12.2010 11:41, Jean-Yves Migeon wrote:
> On Wed, 1 Dec 2010 18:32:52 +0900, Izumi Tsutsui
> <> wrote:
>> We should not refer struct bnx_softc in brgphy.c
>> because mii devices can be configured without PCI
>> and bnx_softc contains PCI specific stuff.
>> Your patch might break GENERIC on zaurus, which
>> has mii via on-chip USB but no PCI bus.
>> To pass bnx_foo_flag values from parent bnx(4) to child brgphy(4),
>> we need the following two changes
>>  - use device properties (proplib) to pass flag values
>>  - split if_bnxreg.h and move PCI specific stuff
>>    ("Device State Data", debug macro etc.) into (new) if_bnxvar.h
>> as done on past brgphy(4) changes for bge(4) by msaitoh@:
> Ok, I will fix that.

Updated [1]. Differences with previous version:

- uses proplib(3) to query phyflags, and store the value in
brgphy_softc, like bge code does. bnx_softc should not be exposed to
brgphy(4) now.

- split if_bnxreg.h in two, with macros, device state, PCI bus stuff in
if_bnxvar.h, and only include if_bnxreg.h in brgphy.c

- set bits in 'mii_capabilities' so mii_phy_add_media() can be used to
attach BCM 5709S PHYs too (maximizes code reuse).

Re-tested, and works.

Unless someone has comments, I will commit in a few days (say: Thursday,

If bnx(4) owners could test it, I would appreciate it, especially on BE
machines, like sparc64. I did my best to avoid breakage, but I can't
really confirm it (I don't own any Broadcom cards for bnx(4))


Jean-Yves Migeon

Home | Main Index | Thread Index | Old Index