*BSD News Article 18065


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!haven.umd.edu!uunet!pipex!uknet!mcsun!sunic!osiris.kbfi.ee!anubis.kbfi.ee!margus
From: margus@anubis.kbfi.ee (MArgus Liiv)
Newsgroups: comp.os.386bsd.questions
Subject: Problem with DMA (may be FAQ)
Date: 7 Jul 1993 14:50:56 GMT
Organization: Institute of Chemical Physics and Biophysics, Estonia
Lines: 20
Message-ID: <21ensg$8qu@osiris.kbfi.ee>
NNTP-Posting-Host: anubis.kbfi.ee
X-Newsreader: TIN [version 1.1 PL8]

I have a problem with reading DMA on AT486 in NetBSD 0.8.    (DRQ=6)
I had defined in device driver description a static area
static char mxq[BUFSIZE]; /* BUFSIZE == 1024 */

In mxintr-routine is defined call to DMA:
	isa_dmastart( B_READ, mxq, mxcount, mxDMA_CH );
/* DRQ=6, mxcount=1 */

In the same routine at END_OF_DMA-interrupt is defined:
	isa_dmadone( B_READ, mxq, mxcount, mxDMA_CH );

After this command stays mxq-buffer unaffected and sometimes 
is possible system crush. How allocate memory for high numbers of
DMA-channels? Please send answers with mail to address:
			ml@mars.aai.ee
I will collect these answers and write a summary over answers
(if neccesary).
				Thank you very much
					Sincerely yours
						Margus.