Subject: pciide and bus-master dma ?
To: None <port-i386@netbsd.org>
From: Chapman Flack <chap0@cs.purdue.edu>
List: port-i386
Date: 12/20/2004 14:59:19
I have what may be a simple question (or a few):

In this configuration, what method of transfer is being used to get data
from the DVD to memory?  Not bus-master dma, I take it, so what happens
instead?  How much is the cpu involved?

mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Mobile Pentium II (686-class), 397.07 MHz, id 0x66a
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pciide0 at pci0 dev 7 function 1
pciide0: Intel 82371AB IDE controller (PIIX4) (rev. 0x01)
pciide0: bus-master DMA support present, but unused (no driver support)
atabus1 at pciide0 channel 1
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 0: <TOSHIBA DVD-ROM SD-R6112, 14EM708962, 1031> cdrom removable
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)

Reason for the question: ogle playing a dvd hiccups frequently.  The hiccups
seem well coordinated with the drive access light, as if ogle isn't able to
keep buffered video and sound going while it gets more bits from the disk.
Does it seem likely that bus-master dma could improve that, or is this
system probably just too slow (400MHz PII, 512MB PC100 memory) for playing
dvds?

If bus-master support might help, how hard is it to add support?
I assume there is driver support for it in other chipsets, and I'd just
have to work out the specifics for mine?  Where should I start?

More off the dma topic, if anyone knows of simple tweaks I haven't thought
of that might help for dvd playing, I'd love to hear them.  Btw the
XFree 4.4 driver doesn't correctly support hardware block copy on my
NeoMagic 256ZX, which means I have to turn that feature off, which means
that much more cpu overhead just for the video output - I'm sure there'd be
a big improvement if I could get that driver working but what can you do when
there's no way to get the chip docs?   :(

-Chap