bk://bk.phunnypharm.org/ieee1394-2.6 bcollins@debian.org|ChangeSet|20040316141205|31820 bcollins # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/03/16 12:43:13-08:00 akpm@bix.(none) # Merge bk://bk.phunnypharm.org/ieee1394-2.6 # into bix.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/ohci1394.c # 2004/03/16 12:43:01-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/03/16 09:12:05-05:00 bcollins@debian.org # Merge http://linux.bkbits.net/linux-2.5 # into debian.org:/usr/src/kernel/ieee1394-2.6 # # drivers/ieee1394/ohci1394.c # 2004/03/16 09:11:46-05:00 bcollins@debian.org +0 -0 # Auto merged # # ChangeSet # 2004/03/15 22:36:09-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/raw1394.c # 2004/03/15 22:35:51-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/03/14 10:47:45-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/ohci1394.c # 2004/03/14 10:47:30-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/03/11 15:46:42-05:00 weihs@linux1394.org # IEEE1394/Lynx(r1182): Explicitly set LCtrl bit in phy register set. # # drivers/ieee1394/pcilynx.c # 2004/03/11 15:45:50-05:00 weihs@linux1394.org +3 -3 # Explicitly set LCtrl bit in phy register set. # # ChangeSet # 2004/03/11 15:44:40-05:00 kberg@linux1394.org # [IEEE1394/OHCI]: Deal with some OHCI implementations that have an invalid max_rec field. # # drivers/ieee1394/ohci1394.c # 2004/03/11 15:43:09-05:00 kberg@linux1394.org +33 -0 # Deal with some OHCI implementations that have an invalid max_rec field. # # ChangeSet # 2004/02/29 13:00:49-08:00 akpm@mnm.(none) # Merge bk://bk.phunnypharm.org/ieee1394-2.6 # into mnm.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/eth1394.c # 2004/02/29 13:00:43-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/28 17:38:26-08:00 akpm@mnm.(none) # Merge bk://bk.phunnypharm.org/ieee1394-2.6 # into mnm.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/eth1394.c # 2004/02/28 17:38:19-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/25 11:52:33-08:00 akpm@mnm.(none) # Merge mnm.(none):/usr/src/bk25 into mnm.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/raw1394.c # 2004/02/25 11:52:26-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/23 20:27:32-08:00 akpm@mnm.(none) # Merge bk://bk.phunnypharm.org/ieee1394-2.6 # into mnm.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/eth1394.c # 2004/02/23 20:27:25-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/21 19:47:09-08:00 akpm@mnm.(none) # Merge bk://bk.phunnypharm.org/ieee1394-2.6 # into mnm.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/eth1394.c # 2004/02/21 19:47:02-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/19 20:49:17-08:00 akpm@mnm.(none) # Merge bk://bk.phunnypharm.org/ieee1394-2.6 # into mnm.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/raw1394.c # 2004/02/19 20:49:10-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/17 12:55:02-08:00 akpm@mnm.(none) # Merge bk://bk.phunnypharm.org/ieee1394-2.6 # into mnm.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/raw1394.c # 2004/02/17 12:54:56-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # drivers/ieee1394/highlevel.c # 2004/02/17 12:54:56-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # drivers/ieee1394/eth1394.c # 2004/02/17 12:54:56-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/10 12:21:26-08:00 akpm@mnm.(none) # Merge bk://bk.phunnypharm.org/ieee1394-2.6 # into mnm.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/raw1394.c # 2004/02/10 12:21:19-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # drivers/ieee1394/eth1394.c # 2004/02/10 12:21:19-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/09 18:01:13-08:00 akpm@mnm.(none) # Merge mnm.(none):/usr/src/bk25 into mnm.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/raw1394.c # 2004/02/09 18:01:06-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/06 22:52:03-08:00 akpm@mnm.(none) # Merge mnm.(none):/usr/src/bk25 into mnm.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/eth1394.c # 2004/02/06 22:51:57-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/05 13:35:21-08:00 akpm@mnm.(none) # Merge bk://bk.phunnypharm.org/ieee1394-2.6 # into mnm.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/highlevel.c # 2004/02/05 13:35:15-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/04 12:01:28-08:00 akpm@mnm.(none) # Merge bk://bk.phunnypharm.org/ieee1394-2.6 # into mnm.(none):/usr/src/bk-ieee1394 # # drivers/ieee1394/highlevel.c # 2004/02/04 12:01:22-08:00 akpm@mnm.(none) +0 -0 # Auto merged # diff -Nru a/drivers/ieee1394/ohci1394.c b/drivers/ieee1394/ohci1394.c --- a/drivers/ieee1394/ohci1394.c Sun Apr 4 18:52:34 2004 +++ b/drivers/ieee1394/ohci1394.c Sun Apr 4 18:52:34 2004 @@ -620,6 +620,39 @@ if (status & 0x20) set_phy_reg(ohci, 8, status & ~1); } + + /* Serial EEPROM Sanity check. */ + if ((ohci->max_packet_size < 512) || + (ohci->max_packet_size > 4096)) { + /* Serial EEPROM contents are suspect, set a sane max packet + * size and print the raw contents for bug reports if verbose + * debug is enabled. */ +#ifdef CONFIG_IEEE1394_VERBOSEDEBUG + int i; +#endif + + PRINT(KERN_DEBUG, "Serial EEPROM has suspicious values, " + "attempting to setting max_packet_size to 512 bytes"); + reg_write(ohci, OHCI1394_BusOptions, + (reg_read(ohci, OHCI1394_BusOptions) & 0xf007) | 0x8002); + ohci->max_packet_size = 512; +#ifdef CONFIG_IEEE1394_VERBOSEDEBUG + PRINT(KERN_DEBUG, " EEPROM Present: %d", + (reg_read(ohci, OHCI1394_Version) >> 24) & 0x1); + reg_write(ohci, OHCI1394_GUID_ROM, 0x80000000); + + for (i = 0; + ((i < 1000) && + (reg_read(ohci, OHCI1394_GUID_ROM) & 0x80000000)); i++) + udelay(10); + + for (i = 0; i < 0x20; i++) { + reg_write(ohci, OHCI1394_GUID_ROM, 0x02000000); + PRINT(KERN_DEBUG, " EEPROM %02x: %02x", i, + (reg_read(ohci, OHCI1394_GUID_ROM) >> 16) & 0xff); + } +#endif + } } /* diff -Nru a/drivers/ieee1394/pcilynx.c b/drivers/ieee1394/pcilynx.c --- a/drivers/ieee1394/pcilynx.c Sun Apr 4 18:52:34 2004 +++ b/drivers/ieee1394/pcilynx.c Sun Apr 4 18:52:34 2004 @@ -1460,7 +1460,7 @@ reg_write(lynx, PCI_INT_ENABLE, 0); free_irq(lynx->dev->irq, lynx); - /* Disable IRM Contender */ + /* Disable IRM Contender and LCtrl */ if (lynx->phyic.reg_1394a) set_phy_reg(lynx, 4, ~0xc0 & get_phy_reg(lynx, 4)); @@ -1788,12 +1788,12 @@ reg_set_bits(lynx, GPIO_CTRL_A, 0x1); reg_write(lynx, GPIO_DATA_BASE + 0x3c, 0x1); } else { - /* set the contender bit in the extended PHY register + /* set the contender and LCtrl bit in the extended PHY register * set. (Should check that bis 0,1,2 (=0xE0) is set * in register 2?) */ i = get_phy_reg(lynx, 4); - if (i != -1) set_phy_reg(lynx, 4, i | 0x40); + if (i != -1) set_phy_reg(lynx, 4, i | 0xc0); }