Re: dead network on JS21 with tg3 driver after flowcontrol changes

2008-05-16 Thread Michael Chan
Olaf Hering wrote:

> Yes, this patch fixes nfsroot for me. Thanks.
> mii-tool is not shipped anymore, even in SLES10.
> I assume that ethtool is the replacement?
> 

Thanks.  We'll send the patch to DaveM and to stable
as well.

ethtool can provide some high level link parameters.
But in this case, I was trying to use mii-tool to
look at the PHY registers to help debug the problem.
ethtool would not provide that kind of information.

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: dead network on JS21 with tg3 driver after flowcontrol changes

2008-05-16 Thread Olaf Hering
On Thu, May 15, Michael Chan wrote:

> Matt, I think that's very likely the problem.  If we are trying to
> establish link in parallel detect mode, the flow control settings may
> not match.  If we do not enter the if statement to do nothing, we will
> keep autonegotiating forever and never establish link.

Yes, this patch fixes nfsroot for me. Thanks.
mii-tool is not shipped anymore, even in SLES10.
I assume that ethtool is the replacement?

Olaf
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: dead network on JS21 with tg3 driver after flowcontrol changes

2008-05-15 Thread Michael Chan
On Thu, 2008-05-15 at 10:15 -0700, Matt Carlson wrote:
> If you were to start with the original file, does the following patch
> fix the problem?
> 
> 
> diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
> index 07b3f77..4c248d7 100644
> --- a/drivers/net/tg3.c
> +++ b/drivers/net/tg3.c
> @@ -3168,8 +3168,7 @@ static int tg3_setup_fiber_mii_phy(struct tg3 *tp, int 
> force_reset)
>   err |= tg3_readphy(tp, MII_BMCR, &bmcr);
>  
>   if ((tp->link_config.autoneg == AUTONEG_ENABLE) && !force_reset &&
> - (tp->tg3_flags2 & TG3_FLG2_PARALLEL_DETECT) &&
> -  tp->link_config.flowctrl == tp->link_config.active_flowctrl) {
> + (tp->tg3_flags2 & TG3_FLG2_PARALLEL_DETECT)) {
>   /* do nothing, just check for link up at the end */
>   } else if (tp->link_config.autoneg == AUTONEG_ENABLE) {
>   u32 adv, new_adv;
> 

Matt, I think that's very likely the problem.  If we are trying to
establish link in parallel detect mode, the flow control settings may
not match.  If we do not enter the if statement to do nothing, we will
keep autonegotiating forever and never establish link.

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: dead network on JS21 with tg3 driver after flowcontrol changes

2008-05-15 Thread Matt Carlson
If you were to start with the original file, does the following patch
fix the problem?


diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 07b3f77..4c248d7 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -3168,8 +3168,7 @@ static int tg3_setup_fiber_mii_phy(struct tg3 *tp, int 
force_reset)
err |= tg3_readphy(tp, MII_BMCR, &bmcr);
 
if ((tp->link_config.autoneg == AUTONEG_ENABLE) && !force_reset &&
-   (tp->tg3_flags2 & TG3_FLG2_PARALLEL_DETECT) &&
-tp->link_config.flowctrl == tp->link_config.active_flowctrl) {
+   (tp->tg3_flags2 & TG3_FLG2_PARALLEL_DETECT)) {
/* do nothing, just check for link up at the end */
} else if (tp->link_config.autoneg == AUTONEG_ENABLE) {
u32 adv, new_adv;


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: dead network on JS21 with tg3 driver after flowcontrol changes

2008-05-15 Thread Michael Chan
On Thu, 2008-05-15 at 17:49 +0200, Olaf Hering wrote:
> On Thu, May 15, Michael Chan wrote:
> 
> > Olaf Hering wrote:
> > 
> > > Any ideas how to fix this?
> > > What info do you need from the system?
> > 
> > Are you using eth0 or eth1?  The dmesg below shows that
> > link came up on eth1 and IP address from DHCP was received.
> 
> I'm using eth1.
> The log was done with the patch reverted.
> 

In that case, please re-apply the patch and provide mii-tool -vvv eth1.

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: dead network on JS21 with tg3 driver after flowcontrol changes

2008-05-15 Thread Olaf Hering
On Thu, May 15, Michael Chan wrote:

> Olaf Hering wrote:
> 
> > Any ideas how to fix this?
> > What info do you need from the system?
> 
> Are you using eth0 or eth1?  The dmesg below shows that
> link came up on eth1 and IP address from DHCP was received.

I'm using eth1.
The log was done with the patch reverted.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: dead network on JS21 with tg3 driver after flowcontrol changes

2008-05-15 Thread Michael Chan
Olaf Hering wrote:

> Any ideas how to fix this?
> What info do you need from the system?

Are you using eth0 or eth1?  The dmesg below shows that
link came up on eth1 and IP address from DHCP was received.


> Sending DHCP requests .<6>tg3: eth1: Link is up at 1000 Mbps, 
> full duplex.
> tg3: eth1: Flow control is off for TX and off for RX.
> ., OK
> IP-Config: Got DHCP answer from 10.10.4.97, my address is 10.10.1.110
> IP-Config: Complete:

If you're using eth0 and link did not come up, please provide
mii-tool -vvv eth0.

Thanks.

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


dead network on JS21 with tg3 driver after flowcontrol changes

2008-05-15 Thread Olaf Hering

Commit ef167e27039eeaea6d3cdd5c547b082e89840bdd ([TG3]: Fix supporting
flowctrl code) breaks networking on IBM JS21 blade servers. If I revert
this change from 2.6.26-rc2-git4, nfsroot for example will work again.
There are no packages submitted, a tcpdump on a different host sees no
broadcast messages.

Any ideas how to fix this?
What info do you need from the system?
I started with arch/powerpc/configs/ppc64_defconfig and updated CONFIG_CMDLINE
for nfsroot.


tg3.c:v3.92 (May 2, 2008)
tg3 :10:04.0: enabling device ( -> 0002)
eth0: Tigon3 [partno(none) rev 8003 PHY(5780)] (PCIX:133MHz:64-bit) 1000Base-SX 
Ethernet 00:11:25:c9:07:22
eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[1] WireSpeed[0] TSOcap[1]
eth0: dma_rwctrl[76144000] dma_mask[40-bit]
tg3 :10:04.1: enabling device ( -> 0002)
eth1: Tigon3 [partno(none) rev 8003 PHY(5780)] (PCIX:133MHz:64-bit) 1000Base-SX 
Ethernet 00:11:25:c9:07:23
eth1: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] WireSpeed[0] TSOcap[1]
eth1: dma_rwctrl[76144000] dma_mask[40-bit]
...

full dmesg:

Using pSeries machine description
Page orders: linear mapping = 24, virtual = 12, io = 12
console [udbg0] enabled
Partition configured for 2 cpus.
CPU maps initialized for 1 thread per core
 (thread shift is 0)
Starting Linux PPC64 #3 SMP Thu May 15 13:47:10 CEST 2008
-
ppc64_pft_size= 0x19
physicalMemorySize= 0x7a00
htab_hash_mask= 0x3
-
Initializing cgroup subsys cpuset
Linux version 2.6.26-rc2-git4 ([EMAIL PROTECTED]) (gcc version 4.1.2 20070115 
(prerelease) (SUSE Linux)) #3 SMP Thu May 15 13:47:10 CEST 2008
[boot]0012 Setup Arch
Entering add_active_range(0, 0, 499712) 0 entries of 256 used
PCI host bridge /[EMAIL PROTECTED]  ranges:
  IO 0x0100f400..0x0100f43f -> 0x
 MEM 0x01008000..0x0100efff -> 0x8000 
PPC64 nvram contains 8192 bytes
Using dedicated idle loop
Top of RAM: 0x7a00, Total RAM: 0x7a00
Memory hole size: 0MB
Zone PFN ranges:
  DMA 0 ->   499712
  Normal 499712 ->   499712
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0:0 ->   499712
On node 0 totalpages: 499712
  DMA zone: 6832 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 492880 pages, LIFO batch:31
  Normal zone: 0 pages used for memmap
  Movable zone: 0 pages used for memmap
[boot]0015 Setup Done
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 492880
Kernel command line: debug panic=9 rw root=/dev/nfs 
nfsroot=10.10.4.97:/data/inst/nfs/olh ip=:eth1:dhcp 
[boot]0020 XICS Init
[boot]0021 XICS Done
pic: no ISA interrupt controller
PID hash table entries: 4096 (order: 12, 32768 bytes)
time_init: decrementer frequency = 14.318000 MHz
time_init: processor frequency   = 2597.40 MHz
clocksource: timebase mult[1175e5e5] shift[22] registered
clockevent: decrementer mult[3aa] shift[16] cpu[0]
Console: colour dummy device 80x25
console handover: boot [udbg0] -> real [hvc0]
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Memory: 1942124k/1998848k available (8288k kernel code, 56096k reserved, 1412k 
data, 532k bss, 380k init)
SLUB: Genslabs=12, HWalign=128, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Calibrating delay loop... 28.60 BogoMIPS (lpj=57216)
Mount-cache hash table entries: 256
clockevent: decrementer mult[3aa] shift[16] cpu[1]
Processor 1 found.
Brought up 2 CPUs
CPU0 attaching sched-domain:
 domain 0: span 0-1
  groups: 0 1
CPU1 attaching sched-domain:
 domain 0: span 0-1
  groups: 1 0
khelper used greatest stack depth: 12896 bytes left
khelper used greatest stack depth: 12320 bytes left
khelper used greatest stack depth: 11904 bytes left
net_namespace: 936 bytes
xor: measuring software checksum speed
   8regs :  5830.000 MB/sec
   8regs_prefetch:  4644.000 MB/sec
   32regs:  5751.000 MB/sec
   32regs_prefetch:  4601.000 MB/sec
xor: using function: 8regs (5830.000 MB/sec)
NET: Registered protocol family 16
IBM eBus Device Driver
PCI: Probing PCI hardware
IOMMU table initialized, virtual merging enabled
PCI: Probing PCI hardware done
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
Switched to high resolution mode on CPU 0
Switched to high resolution mode on CPU 1
IP route cache hash table entries: 65536 (order: 7, 524288 bytes)
TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP reno registered
NET: Registered protocol family 1
RTAS daemon started
Total HugeTLB memory allocated, 0
JFS: