On Thu, 12 Jun 2008, jean-francois simon wrote:

> hi,
>
> On a custom platform running a niagara2 cpu, i am seeing panics when the
> bge driver for a broadcom 5704s (device id 16a8) is attached. the
> problem is in bge_poll_firmware() function:

Have you filed a bug on this yet?

I will cc nic-china as that is who is working on the bge driver.

Please work with them to get a bug filed, if you haven't done so already. 
If you have, just let them know the CR ID.

>
> http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/io/bge/bge_chip2.c#bge_poll_firmware
>
> during the attach process the chip is resetted by the driver, which
> enters a loop waiting for the 5704s chip f/w to come back out of reset.
> this is what bge_poll_firmware() is doing by polling the chip memory
> location NIC_MEM_GENCOMM:
>
> for (i = 0; i < 1000; ++i) {
>               drv_usecwait(1000);
>               gen = bge_nic_get64(bgep, NIC_MEM_GENCOMM) >> 32;
>               mac = bge_reg_get64(bgep, MAC_ADDRESS_REG(0));
> ....
>
> but at the same time in that loop, it tries to also read the 5704s mac
> address register (offset 0x410). this is that very access which is
> causing the panic. if i use kadb to nop that pci memory access, then the
> attach completes OK, and later the chip works fine.
> so it looks like on that particular chip (16a8) you can't access the mac
> address register while the chip is in reset.
>
> this looks strange. did anyone ever have that problem?
> looks like there is a broadcom doc (570X-PG104-R) which describes the
> (tricky) init of the chip. but i don't have it....
>
> thanks
> -jf simon
>
> _______________________________________________
> driver-discuss mailing list
> [email protected]
> http://mail.opensolaris.org/mailman/listinfo/driver-discuss
>

--

Alan DuBoff - Solaris x86 IHV/OEM Group
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to