[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: IDE-problems



> Well there seems to be a multiword DMA 2 problem. All -d1... commands
> on /dev/hda result in the orig. error; -d0 solves the problem. Note the

Ok, that sorts out the timeout hypothesis. If the -d1 always fails I don't
understand why the problem doesn't happen during kernel init though.

You can try to change the wakeup section in idepmac_notify_sleep to always
set the DMA on for existing drives (it currently checks for the
drive's using_dma flag which is explicitly cleared by the hdparm -d0 call
before sleep). Just remove the && hwif->drives[0].using_dma inside the
#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC conditional. That would result in
executing the dma mode setting from the same context as during kernel init
(more or less), see below. 

> problem with /dev/hdc, which was not set to -d0 in /etc/power/pwrctl.
> 
> [root@mir ~]# dmesg
> [snip]
> hdc: Enabling MultiWord DMA 2
> media bay 0 contains a CD-ROM drive
> media-bay 0 is ide 1
> hdc: Enabling MultiWord DMA 2
> ide1: unexpected interrupt, status=0x00, count=1

There's been a dma_intr status=0x00 message for the hda case as well,
apparently enabling the multiword DMA will generate a DMA interrupt.
Please note that the set multiword DMA 2 command succeeded earlier for hdc
during driver init. Seems the problem is only with this function being
used from ioctls. 

	Michael



Reply to: