Bug 123

Summary: SiL 680 IDE controller has "issues"
Product: IO/Storage Reporter: Dave Jones (davej)
Component: IDEAssignee: Alan (alan)
Status: REJECTED UNREPRODUCIBLE    
Severity: blocking CC: bunk
Priority: P2    
Hardware: All   
OS: Linux   
Kernel Version: Subsystem:
Regression: --- Bisected commit-id:

Description Dave Jones 2002-11-27 12:11:22 UTC
On 2.4, this controller is 'noisy', spewing lots of these during boot, and
whenever theres lots of disk I/O..

hde: dma_intr: error=0x84 { DriveStatusError BadCRC }
hde: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hde: dma_intr: error=0x84 { DriveStatusError BadCRC }
ide2: reset: success

On 2.5, the box hangs solid before it gets to the ide2: reset line.

I've tried this with two different brand new UDMA66 approved cables, with
no change.

Controller is..
00:0d.0 Unknown mass storage controller: CMD Technology Inc PCI0680 (rev 01)



The drive attached is ...

/dev/hde:

 Model=IC35L120AVVA07-0, FwRev=VA6OA52A, SerialNo=VNC602A6G4WEYA
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=52
 BuffType=DualPortCache, BuffSize=1863kB, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=241254720
 IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 *udma3 udma4 udma5 
 AdvancedPM=yes: disabled (255) WriteCache=enabled
 Drive conforms to: ATA/ATAPI-5 T13 1321D revision 1:  2 3 4 5

IDE related boot messages from 2.4.20pre8-ac3 - 

Nov 27 19:45:17 equinox kernel: ide: Assuming 33MHz system bus speed for PIO
modes; override with idebus=xx
Nov 27 19:45:17 equinox kernel: VP_IDE: IDE controller at PCI slot 00:07.1
Nov 27 19:45:17 equinox kernel: VP_IDE: chipset revision 6
Nov 27 19:45:17 equinox kernel: VP_IDE: not 100%% native mode: will probe irqs later
Nov 27 19:45:17 equinox kernel: ide: Assuming 33MHz system bus speed for PIO
modes; override with idebus=xx
Nov 27 19:45:17 equinox kernel: VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100
controller on pci00:07.1
Nov 27 19:45:17 equinox kernel:     ide0: BM-DMA at 0x9000-0x9007, BIOS
settings: hda:DMA, hdb:pio
Nov 27 19:45:17 equinox kernel:     ide1: BM-DMA at 0x9008-0x900f, BIOS
settings: hdc:pio, hdd:pio
Nov 27 19:45:17 equinox kernel: SiI680: IDE controller at PCI slot 00:0d.0
Nov 27 19:45:17 equinox kernel: PCI: Found IRQ 11 for device 00:0d.0
Nov 27 19:45:17 equinox kernel: SiI680: chipset revision 1
Nov 27 19:45:17 equinox kernel: SiI680: not 100%% native mode: will probe irqs later
Nov 27 19:45:17 equinox kernel: SiI680: BASE CLOCK == 133 
Nov 27 19:45:17 equinox kernel:     ide2: MMIO-DMA at 0xd0c1a000-0xd0c1a007,
BIOS settings: hde:pio, hdf:pio
Nov 27 19:45:17 equinox kernel:     ide3: MMIO-DMA at 0xd0c1a008-0xd0c1a00f,
BIOS settings: hdg:pio, hdh:pio
Nov 27 19:45:17 equinox kernel: hda: IBM-DPTA-372050, ATA DISK drive
Nov 27 19:45:17 equinox kernel: hda: DMA disabled
Nov 27 19:45:17 equinox kernel: blk: queue c0484fc0, I/O limit 4095Mb (mask
0xffffffff)
Nov 27 19:45:17 equinox kernel: hdd: LS-120 CSMO 05 UHD Floppy, ATAPI FLOPPY drive
Nov 27 19:45:17 equinox kernel: hdd: DMA disabled
Nov 27 19:45:17 equinox kernel: hde: IC35L120AVVA07-0, ATA DISK drive
Nov 27 19:45:17 equinox kernel: blk: queue c0485898, I/O limit 4095Mb (mask
0xffffffff)
Nov 27 19:45:17 equinox kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Nov 27 19:45:17 equinox kernel: ide1 at 0x170-0x177,0x376 on irq 15
Nov 27 19:45:17 equinox kernel: ide2 at 0xd0c1a080-0xd0c1a087,0xd0c1a08a on irq 11
Nov 27 19:45:17 equinox kernel: hda: host protected area => 1
Nov 27 19:45:17 equinox kernel: hda: 40088160 sectors (20525 MB) w/1961KiB
Cache, CHS=2495/255/63, UDMA(33)
Nov 27 19:45:17 equinox kernel: hde: host protected area => 1
Nov 27 19:45:17 equinox kernel: hde: 241254720 sectors (123522 MB) w/1863KiB
Cache, CHS=239340/16/63, UDMA(100)
Nov 27 19:45:17 equinox kernel: ide-floppy driver 0.99.newide
Nov 27 19:45:17 equinox kernel: hdd: No disk in drive
Nov 27 19:45:17 equinox kernel: hdd: 123264kB, 963/8/32 CHS, 533 kBps, 512
sector size, 720 rpm




/proc/ide/siimage is..

Controller: 0
SiI680 Chipset.
MMIO Base 0xd0c1a000
MMIO-DMA Base 0xd0c1a000
MMIO-DMA Base 0xd0c1a008
--------------- Primary Channel ---------------- Secondary Channel
---------------------------- drive0 --------- drive1 -------- drive0 ----------
drive1 ------PIO Mode:       ?                ?               ?                 ?
Comment 1 Alan 2002-11-28 08:57:18 UTC
Ok I need to understand why it hangs, that is important. If you are seeing
spewing crc errors on 2.4 as well then it may be other problems that need
looking into
as well, or may be hardware  can't tell yet
Comment 2 Dave Jones 2003-04-03 09:12:17 UTC
According to Andre, rev 0 of this controller has known hardware bugs, so feel
free to close this.
Comment 3 Alan 2003-04-03 09:32:01 UTC
We need to handle them if so
Comment 4 Dave Jones 2003-04-14 15:04:47 UTC
Strange. I moved this card to a different box, and tried it under 2.5 again.
This time it spits out..

SiI680: IDE controller at PCI slot 00:09.0
SiI680: chipset revision 1
SiI680: not 100% native mode: will probe irqs later
SiI680: BASE CLOCK == 133 
    ide2: BM-DMA at 0xc000-0xc007, BIOS settings hde:pio, hdf:pio
    ide3: BM-DMA at 0xc008-0xc00f, BIOS settings hde:pio, hdf:pio

Note it was MMIO-DMA in the previous report..
It still hangs solid after printing these two lines. No sysrq, not even capslock
LED toggle works..
Comment 5 Dave Jones 2003-04-14 18:12:48 UTC
Just for kicks, I decided to try it as a module. Gets me an oops at the point
where it normally prints the ide2: line..

SiI680: IDE controller at PCI slot 00:09.0
SiI680: chipset revision 1
SiI680: not 100% native mode: will probe irqs later
SiI680: BASE CLOCK == 133 
Unable to handle kernel paging request at virtual address 6f6d657d
 printing eip:
c041a3b2
*pde = 00000000
Oops: 0000 [#1]
CPU:    0
EIP:    0060:[<c041a3b2>]    Not tainted
EFLAGS: 00010202
EIP is at ide_pci_register_host_proc+0x32/0x50
eax: 6f6d656d   ebx: c7cdd400   ecx: c89d1958   edx: 6f6d656d
esi: c5313e3a   edi: c89cea58   ebp: c5313e20   esp: c5313e20
ds: 007b   es: 007b   ss: 0068
Process modprobe (pid: 7749, threadinfo=c5312000 task=c07f4660)
Stack: c5313e4c c89d1374 c89d1958 00000001 c89cea58 c5313e3a 00010001 00000001 
       0000000b c89cf920 c5313e9c c5313e84 c0416c25 c7cdd400 c89cea58 00000001 
       c5313e74 00000000 00000001 011b6fb3 0000ffff 00000000 c89cfb00 c89cfa40 
Call Trace:
 [<c89d1374>] +0x374/0x3b0 [siimage]
 [<c89d1958>] +0x0/0x14 [siimage]
 [<c89cea58>] +0x8/0xf0 [siimage]
 [<c89cf920>] +0x0/0xa8 [siimage]
 [<c0416c25>] do_ide_setup_pci_device+0xb5/0x170
 [<c89cea58>] +0x8/0xf0 [siimage]
 [<c89cfb00>] +0x0/0xe0 [siimage]
 [<c89cfa40>] driver+0x0/0xc0 [siimage]
 [<c0416d0a>] ide_setup_pci_device+0x2a/0x90
 [<c89cf920>] +0x0/0xa8 [siimage]
 [<c89cfb00>] +0x0/0xe0 [siimage]
 [<c89ce8a5>] siimage_init_one+0x45/0xb0 [siimage]
 [<c89cf920>] +0x0/0xa8 [siimage]
 [<c02fc49d>] pci_device_probe+0x5d/0x70
 [<c89cf9e0>] siimage_pci_tbl+0x0/0x60 [siimage]
 [<c89cfa68>] driver+0x28/0xc0 [siimage]
 [<c03dc3d3>] bus_match+0x43/0x80
 [<c89cfa68>] driver+0x28/0xc0 [siimage]
 [<c03dc4ff>] driver_attach+0x5f/0x80
 [<c89cfa68>] driver+0x28/0xc0 [siimage]
 [<c89cfa9c>] driver+0x5c/0xc0 [siimage]
 [<c03dc859>] bus_add_driver+0xe9/0xf0
 [<c89cfa68>] driver+0x28/0xc0 [siimage]
 [<c89cfa40>] driver+0x0/0xc0 [siimage]
 [<c89cfb00>] +0x0/0xe0 [siimage]
 [<c03dcd31>] driver_register+0x91/0xa0
 [<c89cfa68>] driver+0x28/0xc0 [siimage]
 [<c02fc5dd>] pci_register_driver+0x4d/0x60
 [<c89cfa68>] driver+0x28/0xc0 [siimage]
 [<c0416eb8>] ide_pci_register_driver+0x48/0x70
 [<c89cfa40>] driver+0x0/0xc0 [siimage]
 [<c89cfb00>] +0x0/0xe0 [siimage]
 [<c89ce922>] siimage_ide_init+0x12/0x20 [siimage]
 [<c89cfa40>] driver+0x0/0xc0 [siimage]
 [<c0144647>] sys_init_module+0x207/0x370
 [<c89cfb00>] +0x0/0xe0 [siimage]
 [<c016e375>] sys_read+0x45/0x60
 [<c010a457>] syscall_call+0x7/0xb

Code: 8b 40 10 85 c0 75 f7 89 4a 10 5d c3 89 f6 89 0d 58 7c 66 c0 
Comment 6 Adrian Bunk 2004-08-06 13:36:37 UTC
Hi Dave,

is this problem still present in recent 2.6 kernels?
Comment 7 Dave Jones 2004-08-09 07:22:57 UTC
I've not tried it in a while, and I'm not sure where I put the card.
I'll dig it out and try it sometime.
Comment 8 Adrian Bunk 2005-07-03 09:01:03 UTC
I'm closing this bug.

Please reopen it if you are able to reproduce it with a recent 2.6 kernel.