Skip site navigation (1)Skip section navigation (2)
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>