[TG3]: Increase 5906 firmware poll time.

2006-11-14 Thread Michael Chan
[TG3]: Increase 5906 firmware poll time.
From: Gary Zambrano [EMAIL PROTECTED]

Newer 5906 bootcode needs about 7ms to finish resetting so the poll
firmware loop was changed to maximum 20ms.

Signed-off-by: Gary Zambrano [EMAIL PROTECTED]
Signed-off-by: Michael Chan [EMAIL PROTECTED]

diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 8f059b7..d4b211c 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -4728,10 +4728,11 @@ static int tg3_poll_fw(struct tg3 *tp)
u32 val;
 
if (GET_ASIC_REV(tp-pci_chip_rev_id) == ASIC_REV_5906) {
-   for (i = 0; i  400; i++) {
+   /* Wait up to 20ms for init done. */
+   for (i = 0; i  200; i++) {
if (tr32(VCPU_STATUS)  VCPU_STATUS_INIT_DONE)
return 0;
-   udelay(10);
+   udelay(100);
}
return -ENODEV;
}


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [TG3]: Increase 5906 firmware poll time.

2006-11-14 Thread Jeff Garzik

Michael Chan wrote:

[TG3]: Increase 5906 firmware poll time.
From: Gary Zambrano [EMAIL PROTECTED]

Newer 5906 bootcode needs about 7ms to finish resetting so the poll
firmware loop was changed to maximum 20ms.

Signed-off-by: Gary Zambrano [EMAIL PROTECTED]
Signed-off-by: Michael Chan [EMAIL PROTECTED]


ACK, of course, but this brings up something else:  what's the status of 
moving chip reset outside of a spinlock?


Currently a reset during operation can trigger the CPU lockup detector 
and other doo-dads, because you can easily spend a second or two with a 
spinlock held (a loong time, to hold a spinlock)


Jeff


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [TG3]: Increase 5906 firmware poll time.

2006-11-14 Thread Michael Chan
On Tue, 2006-11-14 at 18:05 -0500, Jeff Garzik wrote:

 
 ACK, of course, but this brings up something else:  what's the status of 
 moving chip reset outside of a spinlock?
 
 Currently a reset during operation can trigger the CPU lockup detector 
 and other doo-dads, because you can easily spend a second or two with a 
 spinlock held (a loong time, to hold a spinlock)
 

Yeah, I will put this in my queue.  I have done some of that in the PHY
routines and will continue to do more, as those are even worse.

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [TG3]: Increase 5906 firmware poll time.

2006-11-14 Thread David Miller
From: Michael Chan [EMAIL PROTECTED]
Date: Tue, 14 Nov 2006 16:05:50 -0800

 On Tue, 2006-11-14 at 18:05 -0500, Jeff Garzik wrote:
 
  
  ACK, of course, but this brings up something else:  what's the status of 
  moving chip reset outside of a spinlock?
  
  Currently a reset during operation can trigger the CPU lockup detector 
  and other doo-dads, because you can easily spend a second or two with a 
  spinlock held (a loong time, to hold a spinlock)
  
 
 Yeah, I will put this in my queue.  I have done some of that in the PHY
 routines and will continue to do more, as those are even worse.

Great.

I applied this patch, thanks everyone.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html