Bug 26278

Summary: ata driver doesn't support tertiary IDE controller; wd does
Product: Base System Reporter: aa8vb <aa8vb>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me CC: aa8vb
Priority: Normal    
Version: 4.2-RELEASE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
dmesg.OUT none

Description aa8vb 2001-04-02 00:10:00 UTC
        As the ata driver is the next generation, I tried it first.  I
     could not get it to attach my tertiary IDE controller.  Flipping back
     to the wd driver revealed that it supports it just as well as
     3.4-RELEASE did.

In 4.2 (with ATA), I have these kernel lines:

   device          ata0    at isa? port IO_WD1 irq 14 flags 0xa0ffa0ff
   device          ata1    at isa? port IO_WD2 irq 15 flags 0xa0ffa0ff
   device          ata2    at isa? port 0x1e8  irq 11 flags 0xa0ffa0ff
   device          ata
   device          atadisk                 # ATA disk drives
   device          atapicd                 # ATAPI CDROM drives
   #options        ATA_ENABLE_ATAPI_DMA    # Enable DMA on ATAPI devices

and I get these boot-ups probes related to my IDE controllers and disks:

   atapci0: <Intel PIIX3 ATA controller> port 0xe800-0xe80f at device 7.1 on
pci0
   ata0: at 0x1f0 irq 14 on atapci0
   ata1: at 0x170 irq 15 on atapci0
   ...
   ata4 at port 0x1e8-0x1ef,0x3ee irq 11 flags 0xa0ffa0ff on isa0
   ata4-master: ata_command: timeout waiting for intr
   ata4-master: identify failed
   ad0: 32253MB <IBM-DTLA-307045> [65531/16/63] at ata0-master WDMA2
   ad1: 8063MB <IBM-DTTA-350840> [16383/16/63] at ata0-slave WDMA2
   ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master WDMA2
   acd0: DVD-ROM <Pioneer DVD-ROM ATAPIModel DVD-114 0125> at ata1-slave using
\
PIO4

you can see that the 3 hard drives and the IDE CD-ROM on the first two IDE
controllers probe fine, but we're missing the tertiary IDE controller and
the fourth hard drive.

However, with these WD kernel lines:

   device          wdc0    at isa? port "IO_WD1" irq 14 flags 0xa0ffa0ff
   device          wd0     at wdc0 drive 0
   device          wd1     at wdc0 drive 1
   device          wdc1    at isa? port "IO_WD2" irq 15 flags 0xa0ffa0ff
   device          wd2     at wdc1 drive 0
   device          wd3     at wdc1 drive 1
   device          wdc2    at isa? port "0x1e8" irq 11 flags 0xa0ffa0ff
   device          wd4     at wdc2 drive 0
   device          wcd0            #IDE CD-ROM

all 4 disks and the IDE CD-ROM work just fine (Notice the wdc2 (tertiary
IDE controller) and wd4 (5th IDE disk hanging off tertiary IDE) probes:

   ide_pci0: <Intel PIIX3 Bus-master IDE controller> port 0xe800-0xe80f at
device 7.1 on pci0
   ide_pci0: driver is using old-style compatability shims
   ...
   wdc0 at port 0x1f0-0x1f7 irq 14 flags 0xa0ffa0ff on isa0
   wdc0: unit 0 (wd0): <IBM-DTLA-307045>, DMA, 32-bit, multi-block-16
   wd0: 32253MB (66055248 sectors), 65531 cyls, 16 heads, 63 S/T, 512 B/S
   wdc0: unit 1 (wd1): <IBM-DTTA-350840>, DMA, 32-bit, multi-block-16
   wd1: 8063MB (16514064 sectors), 16383 cyls, 16 heads, 63 S/T, 512 B/S
   wdc0: driver is using old-style compatability shims
   wdc1 at port 0x170-0x177 irq 15 flags 0xa0ffa0ff on isa0
   wdc1: unit 0 (wd2): <IBM-DHEA-38451>, DMA, 32-bit, multi-block-16
   wd2: 8063MB (16514064 sectors), 16383 cyls, 16 heads, 63 S/T, 512 B/S
   wdc1: unit 1 (atapi): <Pioneer DVD-ROM ATAPIModel DVD-114  0125/E1.25>,
removable, accel, dma, iordis
   wcd0: drive speed 0KB/sec, 512KB cache
   wcd0: supported read types: CD-R, CD-RW, CD-DA
   wcd0: Audio: play, 256 volume levels
   wcd0: Mechanism: ejectable tray
   wcd0: Medium: no/blank disc inside, unlocked
   wdc1: driver is using old-style compatability shims
   wdc2 at port 0x1e8-0x1ef irq 11 flags 0xa0ffa0ff on isa0
   wdc2: unit 0 (wd4): <IBM-DTTA-350840>, multi-block-16
   wd4: 8063MB (16514064 sectors), 16383 cyls, 16 heads, 63 S/T, 512 B/S
   wdc2: driver is using old-style compatability shims

Fix: 

Not known.  Work-around:  use the wdc driver for now.
How-To-Repeat: 
   Install a tertiary IDE controller on port 0x1e8, and use the two
   sections of kernel configs above to confirm that it works with the wdc
   driver but no the ata driver.
Comment 1 sos 2001-04-02 08:07:18 UTC
It seems aa8vb@nc.rr.com wrote:
> In 4.2 (with ATA), I have these kernel lines:
> 
>    device          ata0    at isa? port IO_WD1 irq 14 flags 0xa0ffa0ff
>    device          ata1    at isa? port IO_WD2 irq 15 flags 0xa0ffa0ff
>    device          ata2    at isa? port 0x1e8  irq 11 flags 0xa0ffa0ff
>    device          ata
>    device          atadisk                 # ATA disk drives
>    device          atapicd                 # ATAPI CDROM drives
>    #options        ATA_ENABLE_ATAPI_DMA    # Enable DMA on ATAPI devices
> 
> and I get these boot-ups probes related to my IDE controllers and disks:
> 
>    atapci0: <Intel PIIX3 ATA controller> port 0xe800-0xe80f at device 7.1 on
> pci0
>    ata0: at 0x1f0 irq 14 on atapci0
>    ata1: at 0x170 irq 15 on atapci0
>    ...
>    ata4 at port 0x1e8-0x1ef,0x3ee irq 11 flags 0xa0ffa0ff on isa0
>    ata4-master: ata_command: timeout waiting for intr
>    ata4-master: identify failed
>    ad0: 32253MB <IBM-DTLA-307045> [65531/16/63] at ata0-master WDMA2
>    ad1: 8063MB <IBM-DTTA-350840> [16383/16/63] at ata0-slave WDMA2
>    ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master WDMA2
>    acd0: DVD-ROM <Pioneer DVD-ROM ATAPIModel DVD-114 0125> at ata1-slave using
> \
> PIO4

Hmm, first the ata driver doesn't have any flags settings so those
should be removed, second from the above trimmed dmesg I cant see
what else you might have in there, it looks like the interrupts
are getting lost, is irq11 possibly shared with something else ?

-Søren
Comment 2 aa8vb 2001-04-03 01:16:55 UTC
Søren Schmidt:
 |It seems aa8vb@nc.rr.com wrote:
 |> In 4.2 (with ATA), I have these kernel lines:
 |> 
 |>    device          ata0    at isa? port IO_WD1 irq 14 flags 0xa0ffa0ff
 |>    device          ata1    at isa? port IO_WD2 irq 15 flags 0xa0ffa0ff
 |>    device          ata2    at isa? port 0x1e8  irq 11 flags 0xa0ffa0ff
 |>    device          ata
 |>    device          atadisk                 # ATA disk drives
 |>    device          atapicd                 # ATAPI CDROM drives
 |>    #options        ATA_ENABLE_ATAPI_DMA    # Enable DMA on ATAPI devices
...
 |Hmm, first the ata driver doesn't have any flags settings so those
 |should be removed, second from the above trimmed dmesg I cant see
 |what else you might have in there, it looks like the interrupts
 |are getting lost, is irq11 possibly shared with something else ?

Thanks for the reply.  I rebuilt with ata, sans flags settings, and I've
attached the full dmesg output.  

I'm sure that nothing else is on IRQ 11.  I have it reserved in the BIOS
for that card.  The BIOS boot-up PCI device listing confirms that no PCI
device was assigned IRQ 11, and all the other IRQs (non-PnP ISA) are
accounted for (lnc0, sbc0).

Randall

-- 
Randall Hopper
aa8vb@nc.rr.com
Comment 3 Søren Schmidt freebsd_committer freebsd_triage 2001-05-29 14:33:42 UTC
State Changed
From-To: open->closed

This is belived to be fixed in current by using the right device hints.