Date: Tue, 5 Aug 1997 15:36:16 -0400 (EDT) From: john hood <cgull@smoke.marlboro.vt.us> To: dave adkins <adkin003@gold.tc.umn.edu> Cc: freebsd-current@freebsd.org Subject: ide_pci, Tyan S1563S, and busmastering dma Message-ID: <199708051936.PAA03935@smoke.marlboro.vt.us> In-Reply-To: <Pine.NEB.3.96.970805085022.436A-100000@samthedog.gold.tc.umn.edu> References: <Pine.NEB.3.96.970805085022.436A-100000@samthedog.gold.tc.umn.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
dave adkins writes: > > Two things prevented the my Tyan S1562D from starting up in busmastering > mode with FastDMA. > > 1) The conditional in generic_dmainit (ide_pci.c) was two restrictive to > allow the Seagate CFA2161A to be recognized as DMA capable. > > 2) The Award bios (v4.01) does not enable FastDMA. > > When generic_dmainit is changed to allow PIO mode 3 drives and piix3 > configuration is added to ide_pci_attach to enable enable FastDMA, the > drive functions fine, and interrupt overhead as seen in sysctl -vm is > about as low as for my NCR pci scsi. 1) That conditional is restrictive because my drives (and most others on Pentium systems) are mode 4 drives, the issue of timing setup was messy, and I didn't need to do it. :) In other words, it's somewhat unfinished code. 2) "does not enable FastDMA": What precisely do you mean? Are you speaking of the FastDMAOnly bit in the timing control register? For a mode 4 PIO, mode 2 DMA drive, that bit should *not* be set. If you have a mode 3 PIO, mode 2 DMA drive, that bit should be set *or* the timing should be relaxed to accommodate both PIO and DMA. So the BIOS may not be doing the wrong thing. Can I get verbose boot messages from you, please, so I can see what's going on? (Hint: if the message spew is too long for the kernel message buffer, use ddb to breakpoint on ide_pci_attach(), use 'next' to finish it, and copy it down by hand.) > I also verified that the drive was, infact, using DMA by inserting counter > in wdstart where wdd_dmastart kicks off the DMA. The counter shows usage > for each of the configured drives. I assume that if I get no messages from > the driver, the setup modes for the piix3 and the drives remain > unchanged. > > What are the chances that the code could be changed to have configuration > options to 1) relax the drive mode restrictions, and 2) force FastDMA? For > now I just apply my own patch when I update my sources. Ideally, the code would figure this out all on its own. It's arguable we already ask for too much config info from the users of IDE drives. Practically...something will happen :) --jh -- John Hood cgull@smoke.marlboro.vt.us Predictably, they all eventually wandered away, rubbing their bruises and brushing mud out of their hair. Some went off to work for the ESA, launching much smaller rockets into low orbits, while others elected to sit on their front porches drinking Jim Beam from the bottle and launching bottle rockets from the empties. [Jordan Hubbard]
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708051936.PAA03935>