2002-07-31 07:54:14

by Mukesh Rajan

[permalink] [raw]
Subject: IDE, putting HD to sleep causes "lost interrupt"

hi,

things work perfectly fine on my desktop. but on my laptop (toshiba
satellite) if i try,

%hdparm -Y /dev/hda <--- put to sleep followed by
%hdparm -C /dev/hda <--- query status

gives me

hda: lost interrupt
hda: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hda: irq timeout: status=0x50 { DriveReady SeekComplete }
hda: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hda: irq timeout: status=0x50 { DriveReady SeekComplete }
hda: lost interrupt
hda: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hda: irq timeout: status=0x50 { DriveReady SeekComplete }
hda: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hda: irq timeout: status=0x50 { DriveReady SeekComplete }
hda: DMA disabled
ide0: reset: success

if i try the above from X, the machine freezes and i need to do hard
reboot.

the boot message regarding ide are as follows

boot messages
-------------
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
ALI15X3: IDE controller on PCI bus 00 dev 20
PCI: No IRQ known for interrupt pin A of device 00:04.0. Please try using
pci=biosirq.
ALI15X3: chipset revision 195
ALI15X3: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xeff0-0xeff7, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xeff8-0xefff, BIOS settings: hdc:DMA, hdd:pio
hda: TOSHIBA MK2018GAP, ATA DISK drive

the closest i think i got to on google is the following but there are no
answers

http://mail.nl.linux.org/kernelnewbies/2001-01/msg00064.html

please help.

- mukesh


2002-07-31 12:15:12

by Mark Lord

[permalink] [raw]
Subject: Re: IDE, putting HD to sleep causes "lost interrupt"

Well, the answer is very simple, then: DON'T DO THAT.

When an ATA (IDE) drive is put to sleep (-Y),
it *requires* a reset to revive it for any future commands.

The IDE driver doesn't know about the -Y, so it just attempts
I/O a few times before digging out the BIG hammer and doing a reset.

All is well.
--
Mark Lord
Real-Time Remedies Inc.
[email protected]


Mukesh Rajan wrote:
>
> hi,
>
> things work perfectly fine on my desktop. but on my laptop (toshiba
> satellite) if i try,
>
> %hdparm -Y /dev/hda <--- put to sleep followed by
> %hdparm -C /dev/hda <--- query status
>
> gives me
>
> hda: lost interrupt
> hda: timeout waiting for DMA
> ide_dmaproc: chipset supported ide_dma_timeout func only: 14
> hda: irq timeout: status=0x50 { DriveReady SeekComplete }
> hda: timeout waiting for DMA
> ide_dmaproc: chipset supported ide_dma_timeout func only: 14
> hda: irq timeout: status=0x50 { DriveReady SeekComplete }
> hda: lost interrupt
> hda: timeout waiting for DMA
> ide_dmaproc: chipset supported ide_dma_timeout func only: 14
> hda: irq timeout: status=0x50 { DriveReady SeekComplete }
> hda: timeout waiting for DMA
> ide_dmaproc: chipset supported ide_dma_timeout func only: 14
> hda: irq timeout: status=0x50 { DriveReady SeekComplete }
> hda: DMA disabled
> ide0: reset: success
>
> if i try the above from X, the machine freezes and i need to do hard
> reboot.
>
> the boot message regarding ide are as follows
>
> boot messages
> -------------
> Uniform Multi-Platform E-IDE driver Revision: 6.31
> ide: Assuming 33MHz system bus speed for PIO modes; override with
> idebus=xx
> ALI15X3: IDE controller on PCI bus 00 dev 20
> PCI: No IRQ known for interrupt pin A of device 00:04.0. Please try using
> pci=biosirq.
> ALI15X3: chipset revision 195
> ALI15X3: not 100% native mode: will probe irqs later
> ide0: BM-DMA at 0xeff0-0xeff7, BIOS settings: hda:DMA, hdb:pio
> ide1: BM-DMA at 0xeff8-0xefff, BIOS settings: hdc:DMA, hdd:pio
> hda: TOSHIBA MK2018GAP, ATA DISK drive
>
> the closest i think i got to on google is the following but there are no
> answers
>
> http://mail.nl.linux.org/kernelnewbies/2001-01/msg00064.html
>
> please help.
>
> - mukesh

2002-07-31 17:11:35

by Andre Hedrick

[permalink] [raw]
Subject: Re: IDE, putting HD to sleep causes "lost interrupt"

Because you need to call

hdparm -w /dev/hda <--- Reset Device
hdparm -C /dev/hda <--- query status, repeat until good.
hdparm -X** /dev/hda <--- transfer rate mode set
hdparm -m** /dev/hda <--- set multiple
hdparm -d* /dev/hda <--- set DMA

You effectively kill (disable command mode) the drive has to be kick
started.

Cheers,

On Wed, 31 Jul 2002, Mukesh Rajan wrote:

> hi,
>
> things work perfectly fine on my desktop. but on my laptop (toshiba
> satellite) if i try,
>
> %hdparm -Y /dev/hda <--- put to sleep followed by
> %hdparm -C /dev/hda <--- query status
>
> gives me
>
> hda: lost interrupt
> hda: timeout waiting for DMA
> ide_dmaproc: chipset supported ide_dma_timeout func only: 14
> hda: irq timeout: status=0x50 { DriveReady SeekComplete }
> hda: timeout waiting for DMA
> ide_dmaproc: chipset supported ide_dma_timeout func only: 14
> hda: irq timeout: status=0x50 { DriveReady SeekComplete }
> hda: lost interrupt
> hda: timeout waiting for DMA
> ide_dmaproc: chipset supported ide_dma_timeout func only: 14
> hda: irq timeout: status=0x50 { DriveReady SeekComplete }
> hda: timeout waiting for DMA
> ide_dmaproc: chipset supported ide_dma_timeout func only: 14
> hda: irq timeout: status=0x50 { DriveReady SeekComplete }
> hda: DMA disabled
> ide0: reset: success
>
> if i try the above from X, the machine freezes and i need to do hard
> reboot.
>
> the boot message regarding ide are as follows
>
> boot messages
> -------------
> Uniform Multi-Platform E-IDE driver Revision: 6.31
> ide: Assuming 33MHz system bus speed for PIO modes; override with
> idebus=xx
> ALI15X3: IDE controller on PCI bus 00 dev 20
> PCI: No IRQ known for interrupt pin A of device 00:04.0. Please try using
> pci=biosirq.
> ALI15X3: chipset revision 195
> ALI15X3: not 100% native mode: will probe irqs later
> ide0: BM-DMA at 0xeff0-0xeff7, BIOS settings: hda:DMA, hdb:pio
> ide1: BM-DMA at 0xeff8-0xefff, BIOS settings: hdc:DMA, hdd:pio
> hda: TOSHIBA MK2018GAP, ATA DISK drive
>
> the closest i think i got to on google is the following but there are no
> answers
>
> http://mail.nl.linux.org/kernelnewbies/2001-01/msg00064.html
>
> please help.
>
> - mukesh
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

Andre Hedrick
LAD Storage Consulting Group

2002-07-31 18:54:27

by Bill Davidsen

[permalink] [raw]
Subject: Re: IDE, putting HD to sleep causes "lost interrupt"

On Wed, 31 Jul 2002, Mark Lord wrote:

> Well, the answer is very simple, then: DON'T DO THAT.
>
> When an ATA (IDE) drive is put to sleep (-Y),
> it *requires* a reset to revive it for any future commands.
>
> The IDE driver doesn't know about the -Y, so it just attempts
> I/O a few times before digging out the BIG hammer and doing a reset.

Would it be a reasonable thing to include the -Y information in the device
status so that the driver could know a reset was required? Since the
driver sends the command it has the chance to notice there, or might read
a status, or ??? Or is this undesirable for some other reason?

--
bill davidsen <[email protected]>
CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.

2002-08-01 19:46:06

by Thunder from the hill

[permalink] [raw]
Subject: Re: IDE, putting HD to sleep causes "lost interrupt"

Hi,

On Wed, 31 Jul 2002, Andre Hedrick wrote:
> Because you need to call
>
> hdparm -w /dev/hda <--- Reset Device
> hdparm -C /dev/hda <--- query status, repeat until good.
> hdparm -X** /dev/hda <--- transfer rate mode set
> hdparm -m** /dev/hda <--- set multiple
> hdparm -d* /dev/hda <--- set DMA
>
> You effectively kill (disable command mode) the drive has to be kick
> started.

Well, mind how horribly that sucks if your hdparm is on the disk you've
sent to sleep. Thus, never send your disk containing /sbin to sleep...

Thunder
--
.-../../-./..-/-..- .-./..-/.-.././.../.-.-.-