Subject: Re: wdc lost interrupt?
To: Manuel Bouyer <M.Drochner@fz-juelich.de, bouyer@antioche.lip6.fr>
From: Patrick Welche <prlw1@newn.cam.ac.uk>
List: current-users
Date: 12/03/1998 12:08:07
Matthias Drochner wrote:
>
... 
> There is a bug in the code which might cause this behaviour as well.
...
> Index: pciide_sis_reg.h
> ===================================================================
> RCS file: /cvsroot/src/sys/dev/pci/pciide_sis_reg.h,v
> retrieving revision 1.1
> diff -c -2 -r1.1 pciide_sis_reg.h
> *** pciide_sis_reg.h    1998/11/21 16:06:46     1.1
> --- pciide_sis_reg.h    1998/12/02 20:04:58
> ***************
> *** 51,56 ****
>   #define SIS_CTRL0_FAST_PW     0x20
>   #define SIS_CTRL0_BO          0x08
> ! #define SIS_CTRL0_CHAN0_EN    0x40
> ! #define SIS_CTRL0_CHAN1_EN    0x20
>   
>   /* IDE general control register 1 (8 bits) */
> --- 51,56 ----
>   #define SIS_CTRL0_FAST_PW     0x20
>   #define SIS_CTRL0_BO          0x08
> ! #define SIS_CTRL0_CHAN0_EN    0x04
> ! #define SIS_CTRL0_CHAN1_EN    0x02
>   
>   /* IDE general control register 1 (8 bits) */

With the above change:

pciide0 at pci0 dev 0 function 1: Silicon Integrated System 5597/5598 IDE controller
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
pciide0: primary channel ignored (disabled)
pciide0: secondary channel wired to compatibility mode
pciide0: secondary channel ignored (disabled)
wdc0 at isa0 port 0x1f0-0x1f7 irq 14
wd0 at wdc0 channel 0 drive 0: <SAMSUNG SV0322A>
wd0: drive supports 16-sector pio transfers, lba addressing
wd0: 3052MB, 11024 cyl, 9 head, 63 sec, 512 bytes/sect x 6250608 sectors
wd0: 32-bits data port
wd0: drive supports PIO mode 4, DMA mode 2, UDMA mode 2
wd1 at wdc0 channel 0 drive 1: <Maxtor 71084 AP>
wd1: drive supports 32-sector pio transfers, lba addressing
wd1: 1036MB, 2105 cyl, 16 head, 63 sec, 512 bytes/sect x 2122780 sectors
wd1: 32-bits data port
wd1: drive supports PIO mode 4, DMA mode 2
wdc1 at isa0 port 0x170-0x177 irq 15
atapibus0 at wdc1 channel 0
cd0 at atapibus0 drive 0: <SAMSUNG CD-ROM SCR-3231, , S101> type 5 cdrom removable
cd0: 32-bits data port
cd0: drive supports PIO mode 4, DMA mode 2

So the hard drives no longer attach (erroneously?) to pciide, but to wdc.

Manuel Bouyer wrote:
> There's a bug here: both drives should use DMA mode 2.

Which also seems to be sorted by Matthias' patch.

However, I still have the lost interrupt.


Manuel Bouyer wrote:
> And that is very strange, the pciide driver said the secondary channel
> was disabled, so it should not show up here. Could you check in your
> BIOS if the secondary channel is enabled, and if not enable it ? 

I had it set to 

Pri Master : Auto
Pri Slave  : Auto
Sec Master : Not Installed
Sec Slave  : Not Installed

then changed to

Pri Master : User... LBA...
Pri Slave  : User... LBA...
Sec Master : CDROM
Sec Slave  : Not Installed

and still get

wdc1:0:0: lost interrupt
	type: atapi
	c_bcount: 32
	c_skip: 0

Cheers,

Patrick