Re: How's the nforce4 support in Linux?
From: Bartlomiej Zolnierkiewicz
Date: Wed Apr 06 2005 - 11:06:04 EST
On Apr 6, 2005 1:41 PM, Richard B. Johnson <linux-os@xxxxxxxxxxxx> wrote:
> On Tue, 5 Apr 2005, Julien Wajsberg wrote:
>
> > 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.
There still can be a bug in setting up DMA timings etc.
It is hard to even guess as you haven't given any details about your
system: dmesg/hdparm/lspci/config... (or I overlooked it somehow).
> > 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...
That would be very helpful.
Another useful thing would be to try non-nVidia motherboard
(if you have one handy) without changing anything else.
Bartlomiej
-
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/