Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Oct 2000 21:26:11 -0700
From:      "Chris Ptacek" <ptacek@technologist.com>
To:        <freebsd-hackers@FreeBSD.ORG>
Subject:   DMA in drivers?
Message-ID:  <NEBBKLFHMJGHPAEKCHJJEEHNCCAA.ptacek@technologist.com>

next in thread | raw e-mail | index | archive | help
I am in the process of writing a PCI driver for an encryption card.  The
specifications state that the DMA Destination Address, DMA Dest. Length, DMA
Source Addr, and DMA Source Length should be loaded into registers in the
card.  Part of the info states:

"This register is used to establish the PCI address for data moving from the
the Host Computer Memory to the card. It consists of a 30 bit counter with
the low-order 2 bits hardwired as zeros. The address stored may be any
nonzero byte length that is a multiple of 8, since 8 bytes are required to
make up a DES encryption block.  The Source Address Register is continually
updated during the transfer process and will always be pointing to the next
unwritten location."

What do I need to do to get a memory address for the source and destination
data for the DMA transfers? It sounds as if these memory addresses must have
the last three bits zeros, will this happen automatically?  Right now I am
stuck on how this DMA stuff is working and any help would be appreciated.
Oh yeah, I am targeting this driver for a FreeBSD 3.x system.

  Thanks,
     Chris



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?NEBBKLFHMJGHPAEKCHJJEEHNCCAA.ptacek>