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