diff options
author | Ruslan Bukin <br@FreeBSD.org> | 2018-04-12 15:36:24 +0000 |
---|---|---|
committer | Ruslan Bukin <br@FreeBSD.org> | 2018-04-12 15:36:24 +0000 |
commit | 3d5b3b0a4487277145ad6cf3bf65da9f5e1d5425 (patch) | |
tree | 284ce497263f8409b600d6daedf092372a34d7e6 /sys/conf/files | |
parent | e31b69ec730bfee108c706a71d035792d5524882 (diff) | |
download | src-3d5b3b0a4487277145ad6cf3bf65da9f5e1d5425.tar.gz src-3d5b3b0a4487277145ad6cf3bf65da9f5e1d5425.zip |
Tune xDMA interface slightly:
o Move descriptors allocation to DMA engine driver
o Add generic xdma_request() routine
o Add less-generic scatter-gather application based on xdma interface
Typical operation flow in peripheral device driver is:
1. Get xDMA controller
sc->xdma_tx = xdma_ofw_get(sc->dev, "tx");
2. Allocate virtual channel
sc->xchan_tx = xdma_channel_alloc(sc->xdma_tx, caps);
3. Setup transfer status callback
xdma_setup_intr(sc->xchan_tx, my_tx_intr, sc, &sc->ih_tx);
4. Request a transfer(s)
ret = xdma_request(sc->xchan_tx, &req);
5. Free the channel
xdma_channel_free(sc->xdma_tx);
6. Free the controller
xdma_put(sc->xdma_tx);
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D14971
Notes
Notes:
svn path=/head/; revision=332435
Diffstat (limited to 'sys/conf/files')
-rw-r--r-- | sys/conf/files | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/conf/files b/sys/conf/files index bbd636102c61..b06e6e1f7ba3 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3511,8 +3511,14 @@ wpi.fw optional wpifw \ no-obj no-implicit-rule \ clean "wpi.fw" dev/xdma/xdma.c optional xdma -dev/xdma/xdma_if.m optional xdma +dev/xdma/xdma_bank.c optional xdma +dev/xdma/xdma_bio.c optional xdma dev/xdma/xdma_fdt_test.c optional xdma xdma_test fdt +dev/xdma/xdma_if.m optional xdma +dev/xdma/xdma_mbuf.c optional xdma +dev/xdma/xdma_queue.c optional xdma +dev/xdma/xdma_sg.c optional xdma +dev/xdma/xdma_sglist.c optional xdma dev/xe/if_xe.c optional xe dev/xe/if_xe_pccard.c optional xe pccard dev/xen/balloon/balloon.c optional xenhvm |