Re: [CFT] Bus mastering support for IDE CDROM audio

Ed Sweetman
2002-01-28T15:50:31Z

I've always been able to get it back to dma for packet by forcing the
drive to sleep mode and then letting the kernel wake it. I guess I'll
try this 3rd version patch when I get back from class today and see if
that still works.

hdparm -Y /dev/cdrom

then go and set dma again with hdparm.

Although this could just be fickleness of my cdrom.

On Mon, 2002-01-28 at 04:51, Andrew Morton wrote:
> benh@kernel.crashing.org wrote:
> >
> > >At no stage does a packet-mode DMA error turn off drive-level
> > >DMA. This is because some devices seem to perform ordinary
> > >ATA DMA OK, but screw up packet DMA.
> > >
> > >The kernel internally retries the requests when it performs fallback,
> > >so userspace shouldn't see any disruption as the kernel works
> > >out what to do.
> > >
> > >Once the drive has fallen back to single-frame (or PIO mode) for
> > >packet reads, the only way to get it back to a higher level is
> > >a reboot.
> >
> > Doesn that mean that a bad media (typically a scratched CDROM) will
> > cause the drive to revert to PIO until next reboot ?
> >
>
> Nope. This error handling is specifically for busmastering
> errors, not for media errors.
>
> I've tested media errors (whiteboard marker scribblings on the
> CD do this nicely). DMA errors (bad return value from
> HWIF->dmaproc) I can only simulate.
>
>
> -