Re: IDEDMA problems.

mlord (mlord@pobox.com)
Fri, 05 Dec 1997 15:24:52 -0500


Zlatko Calusic wrote:
>
> mlord <mlord@pobox.com> writes:
>
> > C. Scott Ananian wrote:
> > >
> > > The test is still reporting "Bus-Master DMA disabled (BIOS)" even after
> > > my previously posted fix to the test -- I suspect
> >
> > The message is likely 100% correct: Linux does not try to override the
> > BIOS setup, and if the BIOS has decided not to use DMA, then Linux
> > respects
> > the decision, for now.
> >
> > A later enhancement will add /proc/ide/* to the kernel, permitting
> > development of user-mode applications to enable/tune chipset settings,
> > like enabling/configuring the CMD646 DMA settings in your box.
...
> My machine returns:
>
> SIS5513: IDE device on PCI bus 0 function 9
> SIS5513: Bus-Master DMA disabled (BIOS), pcicmd=0x0001, progif=0x8a,
> bmiba=0x0000
>
> But there's nothing in the BIOS that could be done to switch DMA on!?

A BIOS upgrade to "Mr.BIOS" would fix that problem.

But maybe a lightweight change in the ide-dma.c driver would help, too.

Here's what I'll do, in addition to the above /proc/ide/* stuff:

If ide-dma finds a chipset that does not have DMA enabled,
it will setup the hardware (base registers & enable bits),
to permit DMA, but WILL NOT ENABLE DMA BY DEFAULT for any drives.

That way, after booting, "hdparm -d1" can be used,
but no ill effects will happen in cases where DMA
requires further tuning before use (rare, but..).

Safe, and effective.

Anybody wanna beta-test this earlier than a general kernel patch?

-- 
mlord@pobox.com
The Linux IDE guy