Re: How's the nforce4 support in Linux?

From: Julien Wajsberg
Date: Tue Apr 05 2005 - 17:59:36 EST


On Apr 5, 2005 4:10 PM, Richard B. Johnson <linux-os@xxxxxxxxxxxx> wrote:
> On Tue, 5 Apr 2005, Julien Wajsberg wrote:
>
> > On Mar 26, 2005 12:59 AM, Julien Wajsberg <julien.wajsberg@xxxxxxxxx> wrote:
> >> I own an Asus A8N-Sli motherboard with the Nforce4-Sli chipset, and I
> >> experiment the following problem :
> >>
> >> Mar 25 22:42:55 evenflow kernel: hda: dma_timer_expiry: dma status == 0x60
> >> Mar 25 22:42:55 evenflow kernel: hda: DMA timeout retry
> >> Mar 25 22:42:55 evenflow kernel: hda: timeout waiting for DMA
> >> Mar 25 22:42:55 evenflow kernel: hda: status error: status=0x58 {
> >> DriveReady SeekComplete DataRequest }
> >> Mar 25 22:42:55 evenflow kernel:
> >> Mar 25 22:42:55 evenflow kernel: ide: failed opcode was: unknown
> >> Mar 25 22:42:55 evenflow kernel: hda: drive not ready for command
> >> Mar 25 22:42:55 evenflow kernel: hda: status timeout: status=0xd0 { Busy }
> >> Mar 25 22:42:55 evenflow kernel:
> >> Mar 25 22:42:55 evenflow kernel: ide: failed opcode was: unknown
> >> Mar 25 22:42:55 evenflow kernel: hdb: DMA disabled
> ^^^^^^^^^^^^^^^^^
> >> Mar 25 22:42:55 evenflow kernel: hda: drive not ready for command
> >>
> >> Of course, if I disable DMA with hdparm, this problem disappear.. but
> >> it isn't a long-term solution ;-)
> >>
>
> The long-term solution is to replace either the drive, cable, or the
> motherboard that can't do DMA.
It's a recent drive that did ultra DMA on another motherboard, and a
recent motherboard with a cable that did ultra DMA before.It was ultra
DMA2 on this old motherboard, but it still was ultra DMA.

> A bad DMA operation can write data
> anywhere (right into the middle of the kernel). There isn't
> anything software can do about it. Software sets up the
> controller for a DMA operation, then waits for an interrupt
> that tells it has completed or failed. Software can retry failed
> operations until software gets destroyed by the hardware, but
> there isn't anything else that can be done.
>
> The fact that disabling DMA makes the problem(s) go away is
> proof that it isn't a software problem. There are flash-RAM
> devices that emulate IDE drives. Most of these can't do DMA
> and the IDE driver doesn't accept that fact. That is a known
> bug. One needs to use hdparm to tell it to stop trying to
> use DMA. In your case, the driver stopped using DMA when
> it found out that it didn't work. There is no bug.

In my case, the driver stopped for hdb, that is my dvd-burner/player.
It did nothing for hda or hdc, I had to disable DMA myself.


Will I have to install Windows XP to prove ultra DMA works correctly
on this setup ? I really don't hope...

--
Julien
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/