On 15/10/15(Thu) 17:23, Miod Vallat wrote:
> The following diff attempts to fix two small bge(4) bugs:
> 
> - the first chunk fixes what seems to be a logic error on BCM 5720,
>   where the code attemps to preserve the state of four bits, but these
>   have actually already been set in the local variable by the call to
>   bge_dma_swap_options() immediately above. For some reason the
>   bge_dma_swap_options() logic does not affect BCM 5762, and I'm not
>   sure whether this is a bug or not.
> 
> - the second chunk repairs BCM5704 A3 support, as found on some G5 Xserve
>   (RackMac3,1), by using the proper function pointer to write a magic
>   register. Apparently, using the wrong function only works once, which
>   allows the driver to attach, but as soon as you attempt to give it an
>   IP address, the machine freezes without that change.
> 
> I could only test this on:
> 
> bge0 at pci0 dev 3 function 0 "Broadcom BCM5701" rev 0x15, BCM5701 B5 
> (0x105): irq 3, xbow irq 60, address 08:00:69:11:da:82
> 
> bge0 at pci1 dev 5 function 0 "Broadcom BCM5703X" rev 0x02, BCM5702/5703 A2 
> (0x1002): dec 6600 irq 4, address 00:02:a5:c6:11:b3
> 
> bge0 at pci3 dev 4 function 0 "Broadcom BCM5704C" rev 0x03, BCM5704 A3 
> (0x2003): irq 54, address 00:0d:93:9b:f2:94
> 
> tests on more models would be welcome, as the second chunk affects
> almost all models.

Still works on macppc with:

bge0 at pci3 dev 4 function 0 "Broadcom BCM5780" rev 0x03, BCM5714 B3
(0x8003): irq 66, address 00:16:cb:39:1d:ba
brgphy0 at bge0 phy 1: BCM5780 10/100/1000baseT/SX PHY, rev. 0

Reply via email to