Revision tags: release/14.0.0 |
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0 |
|
#
d90c3b51 |
| 10-Dec-2021 |
Jessica Clarke <jrtc27@FreeBSD.org> |
xdma: Fix -Wunused-but-set-variable warnings
MFC after: 1 week
|
Revision tags: release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0 |
|
#
44e86fbd |
| 13-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357662 through r357854.
|
#
a00eed96 |
| 08-Feb-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Fix a KASSERT since chained mbufs are accepted by the xdma bounce buffer loader. m_copydata() will copy entire chain to a single buffer.
Sponsored by: DARPA, AFRL
|
Revision tags: release/12.1.0 |
|
#
c5c3ba6b |
| 03-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r351317 through r351731.
|
#
d676fedf |
| 30-Aug-2019 |
Ed Maste <emaste@FreeBSD.org> |
xdma: avoid NULL deref in error case
Reported by: Dr Silvio Cesare of InfoSect MFC after: 3 days Sponsored by: The FreeBSD Foundation
|
#
a63915c2 |
| 28-Jul-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @r350386
Sponsored by: The FreeBSD Foundation
|
#
951e0584 |
| 22-Jul-2019 |
Ruslan Bukin <br@FreeBSD.org> |
o Add support for BERI IOMMU device o Add an experimental IOMMU support to xDMA framework
The BERI IOMMU device is the part of CHERI device-model project [1]. It translates memory addresses for vari
o Add support for BERI IOMMU device o Add an experimental IOMMU support to xDMA framework
The BERI IOMMU device is the part of CHERI device-model project [1]. It translates memory addresses for various BERI peripherals modelled in software. It accepts FreeBSD/mips64 page directories format and manages BERI TLB.
1. https://github.com/CTSRD-CHERI/device-model
Sponsored by: DARPA, AFRL
show more ...
|
Revision tags: release/11.3.0 |
|
#
17f1623d |
| 04-Jul-2019 |
Ruslan Bukin <br@FreeBSD.org> |
Fix transfers that don't use busdma or bounce buffer (e.g. software dmas). Busdma data loaded by different function (the bug introduced in r349727).
Sponsored by: DARPA, AFRL
|
#
0c340d7e |
| 04-Jul-2019 |
Ruslan Bukin <br@FreeBSD.org> |
Negate the logic of XCHAN_CAP_NOBUFS macro and rename it to XCHAN_CAP_BOUNCE.
The only application that uses bounce buffering for now is the Government Furnished Equipment (GFE) P2's dma core (AXIDM
Negate the logic of XCHAN_CAP_NOBUFS macro and rename it to XCHAN_CAP_BOUNCE.
The only application that uses bounce buffering for now is the Government Furnished Equipment (GFE) P2's dma core (AXIDMA) with its own dedicated cacheless bounce buffer.
Sponsored by: DARPA, AFRL
show more ...
|
#
0269ae4c |
| 06-Jun-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @348740
Sponsored by: The FreeBSD Foundation
|
#
33da49cd |
| 29-May-2019 |
Ruslan Bukin <br@FreeBSD.org> |
Don't copy the data from bounce buffer back to the mbuf if channel does not use bounce buffering.
Sponsored by: DARPA, AFRL
|
#
e2e050c8 |
| 20-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Extract eventfilter declarations to sys/_eventfilter.h
This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h" in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces hea
Extract eventfilter declarations to sys/_eventfilter.h
This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h" in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces header pollution substantially.
EVENTHANDLER_DECLARE and EVENTHANDLER_LIST_DECLAREs were moved out of .c files into appropriate headers (e.g., sys/proc.h, powernv/opal.h).
As a side effect of reduced header pollution, many .c files and headers no longer contain needed definitions. The remainder of the patch addresses adding appropriate includes to fix those files.
LOCK_DEBUG and LOCK_FILE_LINE_ARG are moved to sys/_lock.h, as required by sys/mutex.h since r326106 (but silently protected by header pollution prior to this change).
No functional change (intended). Of course, any out of tree modules that relied on header pollution for sys/eventhandler.h, sys/lock.h, or sys/mutex.h inclusion need to be fixed. __FreeBSD_version has been bumped.
show more ...
|
#
7648bc9f |
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|
#
101869a8 |
| 08-May-2019 |
Ruslan Bukin <br@FreeBSD.org> |
o Implement a bounce buffer based on device reserved memory. Grab device reserved physical memory regions from FDT using standard "memory-region" property and use vmem(9) to allocate buffers from
o Implement a bounce buffer based on device reserved memory. Grab device reserved physical memory regions from FDT using standard "memory-region" property and use vmem(9) to allocate buffers from it. The same vmem could be used by DMA engine drivers to allocate memory for DMA descriptors. This is required for platforms that provide uncached memory region reserved exclusively for DMA operations. o Change sleepable sx(9) lock type to non-sleepable mutex(9) since network drivers usually hold mutex during DMA operations. So we don't take sleepable lock after non-sleepable.
Tested on U.S. Government Furnished Equipment (GFE) 64-bit RISC-V cores.
Sponsored by: DARPA, AFRL
show more ...
|
#
5a51e5e4 |
| 29-Apr-2019 |
Ruslan Bukin <br@FreeBSD.org> |
o Rewrite softdma_process_tx() of Altera SoftDMA engine driver so it does not require a bounce buffer. The only need for this was to align the buffer address. Implement unaligned access and we do
o Rewrite softdma_process_tx() of Altera SoftDMA engine driver so it does not require a bounce buffer. The only need for this was to align the buffer address. Implement unaligned access and we don't need to copy data twice. o Remove contigmalloc-based bounce buffer from xDMA code since it is not suitable for arbitrary memory provided by platform, which is sometimes a dedicated piece of memory that is not managed by OS at all.
Sponsored by: DARPA, AFRL
show more ...
|
Revision tags: release/12.0.0, release/11.2.0 |
|
#
b06154ea |
| 13-Apr-2018 |
Ruslan Bukin <br@FreeBSD.org> |
Don't include sys/bus_dma.h directly, use machine/bus.h instead.
Sponsored by: DARPA, AFRL
|
#
3d5b3b0a |
| 12-Apr-2018 |
Ruslan Bukin <br@FreeBSD.org> |
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 op
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
show more ...
|