Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Dec 2018 08:53:15 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Rajesh Kumar <rajfbsd@gmail.com>
Cc:        freebsd-drivers@freebsd.org, FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: How to use the DMA Engine in FreeBSD?
Message-ID:  <CANCZdfrEv9o6_ydp9Qe73O1v6NqHFtivHpw4m2PKhTyAVaPR9g@mail.gmail.com>
In-Reply-To: <CAAO%2BANOty8FeOR7VQdXmxWy5y288pm=Q4cswHJ1BbgT2h1cUWg@mail.gmail.com>
References:  <CAAO%2BANOty8FeOR7VQdXmxWy5y288pm=Q4cswHJ1BbgT2h1cUWg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Dec 13, 2018, 3:04 AM Rajesh Kumar <rajfbsd@gmail.com wrote:

> Hi,
>
> Is there any good documentation available to understand the existing
> support, API's and how-to use the DMA Engine in FreeBSD?
>


Usually you just use pci busmastering and it just works.

I am trying to write a test driver which will use DMA Engine to do the data
> transfer (rather than plain memcpy which involves cpu).  Can anyone point
> to any driver implementation which has similar functions implemented?  I
> see references to SYS_RES_DRQ to allocate DMA channels and play around. But
> that seems to be specific to ISA. Can it be used for PCI drivers as well?
>

No. ISA DMA is only for really old hardware without it's own DMA engine.

Look at the busdma api/man page.

Warner

> Thanks,
> Rajesh.
> _______________________________________________
> freebsd-drivers@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-drivers
> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@freebsd.org"
>



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