Re: ahc driver: aic7892 no longer supported (conflict with ATA)
On Thu, 22 Mar 2001, Mike Smith wrote: The interrupt is shareable; the BIOS knows best, and the ATA driver should sod off in this case. If we want to argue about it, we can get a dump of the PCI interrupt routing table for this machine. 8) Soren's concern is that some systems route IRQ 14 and 15 very oddly, but the only region for conflicts is really IRQs assigned to ISA devices. I'm of the opinion that the ATA driver shouldn't be mucking about with resources that the PCI device hasn't assigned it but he claims he can't get the information anywhere else for broken ATA devices that don't request resources. I'm pretty sure that hints work for PCI devices too right? :) Damn cheap hardware. -- | Matthew N. Dodd | '78 Datsun 280Z | '75 Volvo 164E | FreeBSD/NetBSD | | [EMAIL PROTECTED] | 2 x '84 Volvo 245DL| ix86,sparc,pmax | | http://www.jurai.net/~winter | For Great Justice! | ISO8802.5 4ever | To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: ahc driver: aic7892 no longer supported
"Justin T. Gibbs" wrote: In aic7xxx_pci.c:ahc_pci_config() the call to ahc_pci_map_int(ahc) is failing. bus_alloc_resource() appears to need more time than I have right now so that will have to wait till tonight :-) It does look like a more fundamental problem below the scsi driver is involved. I have the same problem: the call to ahc_pci_map_int(ahc) is failing. The following function call returns NULL in ahc_pci.c: 208 ahc-platform_data-irq = 209 bus_alloc_resource(ahc-dev_softc, SYS_RES_IRQ, zero, 2100, ~0, 1, RF_ACTIVE | RF_SHAREABLE); This function is in pci.c: 1192 static struct resource * 1193 pci_alloc_resource(device_t dev, device_t child, int type, int *rid, 1194u_long start, u_long end, u_long count, u_int flags) 1195 { 1196 struct pci_devinfo *dinfo = device_get_ivars(child); 1197 struct resource_list *rl = dinfo-resources; 1198 pcicfgregs *cfg = dinfo-cfg; 1199 1200 /* 1201 * Perform lazy resource allocation 1202 * 1203 * XXX add support here for SYS_RES_IOPORT and SYS_RES_MEMORY 1204 */ 1205 if (device_get_parent(child) == dev) { 1206 /* 1207 * If device doesn't have an interrupt routed, and is deserving of 1208 * an interrupt, try to assign it one. 1209 */ ... 1219 } 1220 1221 return resource_list_alloc(rl, dev, child, type, rid, 1222start, end, count, flags); 1223 } The device must have an interrupt routed due to the deleted code fragment were not executed. So I think this must be a problem within the the pci resource allocation procedure. Put I don't know how this works. So it is difficult for me to find the error. Maybe you have an idea, where the problem is. I try to find out at which day this error occur to find out which changes were made. -- Falco KrepelPhone: +49-(0)30 - 34 63 - 7 276 GMD-FOKUS Fax:+49-(0)30 - 34 63 - 8 276 Kaiserin-Augusta-Allee 31 e-mail: [EMAIL PROTECTED] 10589 BerlinWWW:http://www.fokus.gmd.de/usr/krepel To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: ahc driver: aic7892 no longer supported (conflict with ATA)
I think I found the problem. The problem occur since 03/14/2001. The following files could be infvolved: P dev/ata/ata-all.c P dev/ata/ata-all.h P dev/ata/ata-disk.c P dev/ata/ata-disk.h P dev/ata/atapi-all.c P dev/ata/atapi-all.h P dev/ata/atapi-cd.c P dev/ata/atapi-cd.h P dev/ata/atapi-fd.c P dev/ata/atapi-fd.h P dev/ata/atapi-tape.c P dev/ata/atapi-tape.h It should be somthing in ata-all.c. Because since 03/14 the ata1 probe doesn't fail and uses irq 15 same as the ahc. But this shouldn't be a problem. I am right? = boot failed (since 03/14/2001) atapci0: VIA 82C686 ATA100 controller port 0xd000-0xd00f at device 7.1 on pci0 ata0: iobase=0x01f0 altiobase=0x03f6 bmaddr=0xd000 ata0: mask=03 status0=50 status1=00 ata0-master: ATAPI probe 14 eb ata0-slave: ATAPI probe 14 eb ata0: mask=03 status0=10 status1=00 ata0: devices=0c ata0: at 0x1f0 irq 14 on atapci0 ata1: iobase=0x0170 altiobase=0x0376 bmaddr=0xd008 ata1: at 0x170 irq 15 on atapci0 pci0: bridge, PCI-unknown at 7.4 (no driver attached) ahc0: Adaptec 29160 Ultra160 SCSI adapter port 0xdc00-0xdcff mem 0xdf00-0xdf000fff irq 15 at device 9.0 on pci0 ahc0: Platform free device_probe_and_attach: ahc0 attach returned 12 = boot working (03/13/2001 and before) atapci0: VIA 82C686 ATA100 controller port 0xd000-0xd00f at device 7.1 on pci0 ata0: iobase=0x01f0 altiobase=0x03f6 bmaddr=0xd000 ata0: mask=03 status0=50 status1=00 ata0: mask=03 ostat0=50 ostat2=00 ata0-master: ATAPI probe a=14 b=eb ata0-slave: ATAPI probe a=14 b=eb ata0: mask=03 status0=10 status1=00 ata0: devices=0c ata0: at 0x1f0 irq 14 on atapci0 ata1: iobase=0x0170 altiobase=0x0376 bmaddr=0xd008 ata1: mask=00 status0=ff status1=ff ata1: probe allocation failed pci0: bridge, PCI-unknown at 7.4 (no driver attached) ahc0: Adaptec 29160 Ultra160 SCSI adapter port 0xdc00-0xdcff mem 0xdf00-0xdf000fff irq 15 at device 9.0 on pci0 ahc0: Reading SEEPROM...done. ahc0: BIOS eeprom is present ahc0: Secondary High byte termination Enabled ahc0: Secondary Low byte termination Enabled ahc0: Primary Low Byte termination Enabled ahc0: Primary High Byte termination Enabled ahc0: Downloading Sequencer Program... 424 instructions downloaded aic7892: Wide Channel A, SCSI Id=7, 32/255 SCBs -- Falco KrepelPhone: +49-(0)30 - 34 63 - 7 276 GMD-FOKUS Fax:+49-(0)30 - 34 63 - 8 276 Kaiserin-Augusta-Allee 31 e-mail: [EMAIL PROTECTED] 10589 BerlinWWW:http://www.fokus.gmd.de/usr/krepel To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: ahc driver: aic7892 no longer supported (conflict with ATA)
On Thu, 22 Mar 2001, Justin T. Gibbs wrote: I think I found the problem. The problem occur since 03/14/2001. The following files could be infvolved: You'll have to ask Soren about this. It looks like one part of ata-all (this is in -stable), clears the RF_SHAREABLE flag. I don't know why this would be necessary for a PCI IDE device. Yea, this bit me in the ass too and Soren mumbled something about how IDE devices are allowed to violate PCI spec or something (at least thats how it sounded to me). I just told the BIOS to use other interrupts for the slots and not assign either of 14 or 15. -- | Matthew N. Dodd | '78 Datsun 280Z | '75 Volvo 164E | FreeBSD/NetBSD | | [EMAIL PROTECTED] | 2 x '84 Volvo 245DL| ix86,sparc,pmax | | http://www.jurai.net/~winter | For Great Justice! | ISO8802.5 4ever | To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: ahc driver: aic7892 no longer supported (conflict with ATA)
On Thu, 22 Mar 2001, Justin T. Gibbs wrote: I think I found the problem. The problem occur since 03/14/2001. The following files could be infvolved: You'll have to ask Soren about this. It looks like one part of ata-all (this is in -stable), clears the RF_SHAREABLE flag. I don't know why this would be necessary for a PCI IDE device. Yea, this bit me in the ass too and Soren mumbled something about how IDE devices are allowed to violate PCI spec or something (at least thats how it sounded to me). The interrupt is shareable; the BIOS knows best, and the ATA driver should sod off in this case. If we want to argue about it, we can get a dump of the PCI interrupt routing table for this machine. 8) Soren's concern is that some systems route IRQ 14 and 15 very oddly, but the only region for conflicts is really IRQs assigned to ISA devices. -- ... every activity meets with opposition, everyone who acts has his rivals and unfortunately opponents also. But not because people want to be opponents, rather because the tasks and relationships force people to take different points of view. [Dr. Fritz Todt] V I C T O R Y N O T V E N G E A N C E To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: ahc driver: aic7892 no longer supported
Looks like I've got a similar problem only its aic7880/wide I've got a Dell optiplex 450 with an Adaptec 2940uw controller which can boot but can't "mountroot". Perhaps something happend recently that makes it difficult to get "largish" chuncks of contiguous memory? You'll have to instrument the driver to find out where the attach is failing. Start by going into aic7xxx.c:ahc_init() and adding a printf to all of the early returns. If that doesn't catch it, do the same for aic7xxx_pci.c:aic7xxx_config(). In aic7xxx_pci.c:ahc_pci_config() the call to ahc_pci_map_int(ahc) is failing. bus_alloc_resource() appears to need more time than I have right now so that will have to wait till tonight :-) It does look like a more fundamental problem below the scsi driver is involved. Thanks Justin. Later Mark Hittinger Earthlink [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: ahc driver: aic7892 no longer supported
Dear Justin, Since the update around the middle of feb of the ahc driver the aic7892 chip is no longer supported correctly. The same card with aic7870 is working as usual. So I think that this is the problem. The snapshot (2001/02/10) of the current version is OK. Can you give me the revision IDs of the files you are testing? There was a short window where the probe had some issues, but I don't recall if this is one of them. A "pciconf -l" from the working system would be useful too. I have lots of 29160s here so I should be able to reproduce this locally if there is still an issue. -- Justin To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: ahc driver: aic7892 no longer supported
### 29160 BIOS v.2.57.2 ### pciconf aries# pciconf -l hostb0@pci0:0:0:class=0x06 card=0x chip=0x03051106 rev=0x02 hdr=0x00 pcib1@pci0:1:0: class=0x060400 card=0x0080 chip=0x83051106 rev=0x00 hdr=0x01 isab0@pci0:7:0: class=0x060100 card=0x1106 chip=0x06861106 rev=0x40 hdr=0x00 atapci0@pci0:7:1: class=0x01018a card=0x05711106 chip=0x05711106 rev=0x06 hdr=0x00 none0@pci0:7:4: class=0x068000 card=0x30571106 chip=0x30571106 rev=0x40 hdr=0x00 ahc0@pci0:9:0: class=0x01 card=0xe2a09005 chip=0x00809005 rev=0x02 hdr=0x00 xl0@pci0:11:0: class=0x02 card=0x100010b7 chip=0x920010b7 rev=0x74 hdr=0x00 xl1@pci0:13:0: class=0x02 card=0x100010b7 chip=0x920010b7 rev=0x74 hdr=0x00 none1@pci1:0:0: class=0x03 card=0x40151043 chip=0x011010de rev=0xa1 hdr=0x00 aries# ### cvs status File: ahc_eisa.cStatus: Up-to-date Working revision:1.21 Repository revision: 1.21 /usr/ncvs/src/sys/dev/aic7xxx/ahc_eisa.c,v Sticky Tag: (none) Sticky Date: 2001.03.18.23.00.00 Sticky Options: (none) === File: ahc_pci.c Status: Up-to-date Working revision:1.41 Repository revision: 1.41 /usr/ncvs/src/sys/dev/aic7xxx/ahc_pci.c,v Sticky Tag: (none) Sticky Date: 2001.03.18.23.00.00 Sticky Options: (none) === File: aic7770.c Status: Up-to-date Working revision:1.4 Repository revision: 1.4 /usr/ncvs/src/sys/dev/aic7xxx/aic7770.c,v Sticky Tag: (none) Sticky Date: 2001.03.18.23.00.00 Sticky Options: (none) = == File: aic7xxx.c Status: Up-to-date Working revision:1.71 Repository revision: 1.71 /usr/ncvs/src/sys/dev/aic7xxx/aic7xxx.c,v Sticky Tag: (none) Sticky Date: 2001.03.18.23.00.00 Sticky Options: (none) === File: aic7xxx.h Status: Up-to-date Working revision:1.37 Repository revision: 1.37 /usr/ncvs/src/sys/dev/aic7xxx/aic7xxx.h,v Sticky Tag: (none) Sticky Date: 2001.03.18.23.00.00 Sticky Options: (none) === File: aic7xxx.reg Status: Up-to-date Working revision:1.35 Repository revision: 1.35 /usr/ncvs/src/sys/dev/aic7xxx/aic7xxx.reg,v Sticky Tag: (none) Sticky Date: 2001.03.18.23.00.00 Sticky Options: (none) === File: aic7xxx.seq Status: Up-to-date Working revision:1.113 Repository revision: 1.113 /usr/ncvs/src/sys/dev/aic7xxx/aic7xxx.seq,v Sticky Tag: (none) Sticky Date: 2001.03.18.23.00.00 Sticky Options: (none) === File: aic7xxx_93cx6.c Status: Up-to-date Working revision:1.13 Repository revision: 1.13 /usr/ncvs/src/sys/dev/aic7xxx/aic7xxx_93cx6.c,v Sticky Tag: (none) Sticky Date: 2001.03.18.23.00.00 Sticky Options: (none) === File: aic7xxx_93cx6.h Status: Up-to-date Working revision:1.9 Repository revision: 1.9 /usr/ncvs/src/sys/dev/aic7xxx/aic7xxx_93cx6.h,v Sticky Tag: (none) Sticky Date: 2001.03.18.23.00.00 Sticky Options: (none) === File: aic7xxx_freebsd.c Status: Up-to-date Working revision:1.23 Repository revision: 1.23 /usr/ncvs/src/sys/dev/aic7xxx/aic7xxx_freebsd.c,v Sticky Tag: (none) Sticky Date: 2001.03.18.23.00.00 Sticky Options: (none) === File: aic7xxx_freebsd.h Status: Up-to-date Working revision:1.8 Repository revision: 1.8 /usr/ncvs/src/sys/dev/aic7xxx/aic7xxx_freebsd.h,v Sticky Tag: (none) Sticky Date: 2001.03.18.23.00.00 Sticky Options: (none) === File: aic7xxx_inline.h Status: Up-to-date Working revision:1.14 Repository revision: 1.14 /usr/ncvs/src/sys/dev/aic7xxx/aic7xxx_inline.h,v Sticky Tag: (none) Sticky Date: 2001.03.18.23.00.00 Sticky Options: (none) === File: aic7xxx_pci.c Status: Up-to-date Working revision:1.13 Repository revision: 1.13 /usr/ncvs/src/sys/dev/aic7xxx/aic7xxx_pci.c,v Sticky Tag: (none) Sticky Date: 2001.03.18.23.00.00 Sticky Options: (none)
Re: ahc driver: aic7892 no longer supported
I've just tested both -current and -stable on a card with identical specs. Can you provide more inforamtion on where the attach fails (e.g. add printfs)? ### 29160 BIOS v.2.57.2 ### pciconf aries# pciconf -l ahc0@pci0:9:0: class=0x01 card=0xe2a09005 chip=0x00809005 rev=0x02 -- Justin To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: ahc driver: aic7892 no longer supported
Looks like I've got a similar problem only its aic7880/wide I've got a Dell optiplex 450 with an Adaptec 2940uw controller which can boot but can't "mountroot". A kernel from last week can see the aic7880/wide but a kernel from the past couple days cannot. OK dmesg: FreeBSD 5.0-CURRENT #10: Mon Mar 12 12:17:02 CST 2001 pcib0: Intel 82443BX (440 BX) host to PCI bridge at pcibus 0 on motherboard pci0: PCI bus on pcib0 pcib1: PCI-PCI bridge at device 1.0 on pci0 pci1: PCI bus on pcib1 pci1: display, VGA at 0.0 (no driver attached) ... pci0: bridge, PCI-unknown at 7.3 (no driver attached) pcib2: PCI-PCI bridge at device 15.0 on pci0 pci2: PCI bus on pcib2 ahc0: Adaptec 2940 Pro Ultra SCSI adapter port 0xdc00-0xdcff mem 0xfafff000-0xfaff irq 14 at device 10.0 on pci2 aic7880: Wide Channel A, SCSI Id=7, 16/255 SCBs Bad dmesg: same thing but: "ahc0 Platform free" instead of aic7880 line. Here is pciconf -l hostb0@pci0:0:0:class=0x06 card=0x chip=0x71908086 rev=0x03 hdr=0x00 pcib1@pci0:1:0: class=0x060400 card=0x chip=0x71918086 rev=0x03 hdr=0x01 isab0@pci0:7:0: class=0x060100 card=0x chip=0x71108086 rev=0x02 hdr=0x00 atapci0@pci0:7:1: class=0x010180 card=0x chip=0x71118086 rev=0x01 hdr=0x00 uhci0@pci0:7:2: class=0x0c0300 card=0x chip=0x71128086 rev=0x01 hdr=0x00 none0@pci0:7:3: class=0x068000 card=0x chip=0x71138086 rev=0x02 hdr=0x00 pcib2@pci0:15:0:class=0x060400 card=0x00dc chip=0x00241011 rev=0x03 hdr=0x01 xl0@pci0:17:0: class=0x02 card=0x00821028 chip=0x905510b7 rev=0x24 hdr=0x00 none1@pci1:0:0: class=0x03 card=0x40821028 chip=0x47421002 rev=0x5c hdr=0x00 ahc0@pci2:10:0: class=0x01 card=0x78879004 chip=0x87789004 rev=0x01 hdr=0x00 Later Mark Hittinger Earthlink [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: ahc driver: aic7892 no longer supported
Looks like I've got a similar problem only its aic7880/wide I've got a Dell optiplex 450 with an Adaptec 2940uw controller which can boot but can't "mountroot". Perhaps something happend recently that makes it difficult to get "largish" chuncks of contiguous memory? You'll have to instrument the driver to find out where the attach is failing. Start by going into aic7xxx.c:ahc_init() and adding a printf to all of the early returns. If that doesn't catch it, do the same for aic7xxx_pci.c:aic7xxx_config(). I'll add this logging the next time I touch the driver. -- Justin To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message