1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00
Commit graph

356 commits

Author SHA1 Message Date
3b28eea7d2 aurora_axis: add two functions to reset counters and configure loopback mode 2020-06-11 13:08:42 +02:00
1596208bb6 aurora_axis: dump frame counters 2020-06-11 13:01:44 +02:00
3d15323376 aurora_axis: harmonize with HDL changes 2020-06-11 13:01:27 +02:00
Hatim Kanchwala
448068082f Improve comments for status/control register bits 2020-06-08 00:55:33 +02:00
Hatim Kanchwala
0a7c6cc31c Define register addresses and bits 2020-06-05 23:41:08 +02:00
Hatim Kanchwala
bf67a2e5f0 Add initial Aurora driver 2020-06-02 00:54:31 +02:00
f6a78bea69 dma: add dump() method 2019-08-15 13:54:58 +02:00
Hatim Kanchwala
bf74db8e79 Debug update 2019-06-24 12:11:44 -04:00
5361c1d20d move gpu module to top level directory 2018-08-21 15:53:47 +02:00
3f119896e9 ci: some tweaks to fix unit-tests 2018-08-21 15:29:37 +02:00
8b45a8bcac fix include paths 2018-08-21 14:25:20 +02:00
2112038d70 Merge branch 'feature/hls-rtds2gpu' into develop 2018-08-21 13:51:32 +02:00
106d215dd2 fix gdrcopy submodule 2018-08-21 13:31:56 +02:00
4158ddb792 gpu: fix include paths and some linker settings 2018-08-21 13:28:07 +02:00
76b1695586 move more code to VILLAScommon repo 2018-08-21 13:27:04 +02:00
Daniel Krebs
96cd71a87e gpu/gdrcopy: rebase on current upstream master and update 2018-08-21 13:12:51 +02:00
df89b63368 fix include paths 2018-08-21 11:07:53 +02:00
de566d441d move common code to VILLAScommon submodule 2018-08-21 01:14:18 +02:00
Daniel Krebs
c44aedd6a9 gpu: update to recent GDRcopy 2018-07-20 16:52:09 +02:00
Daniel Krebs
8a06e96e92 gpu: always allocate page-sized chunks, then use LinearAllocator
This was neccessary in order to make the memory available via GDRcopy
when multiple small allocations were made. cudaMalloc() would return
multiple memory chunks located in the same GPU page, which GDRcopy
pretty much dislikes (`gdrdrv:offset != 0 is not supported`).
As a side effect, this will keep the number of BAR-mappings done
via GDRcopy low, because they seem to be quite limited.
2018-07-20 16:46:55 +02:00
63a1eb2f7f remove some obsolete C code files 2018-06-25 17:22:31 +02:00
7409d2024d add more copyright / license headers 2018-06-25 17:03:09 +02:00
7fd6599ea6 update copyright years 2018-06-25 15:33:14 +02:00
Daniel Krebs
d853d5e0d3 wip GPU RTT 2018-06-06 09:55:14 +02:00
Daniel Krebs
f413712b86 gpu2rtds: unit test working 2018-06-04 17:36:36 +02:00
Daniel Krebs
93fe1390d6 fix wrong usage of reinterpret_cast in ips and tests 2018-06-04 17:36:36 +02:00
Daniel Krebs
010e0c3681 hls: add base HLS IP and enable virtual multi-inheritance
Virtual inheritance is required because (for example) the Rtds2Gpu
IP inherits from Hls and IpNode who both inherit from IpCore.
2018-06-04 17:36:36 +02:00
Daniel Krebs
28458fdf8a update rtds2gpu HLS IP to v1.1
- better tested IP (testbenches)
 - detect invalid frame sizes
 - more status reporting
2018-06-04 17:36:15 +02:00
Daniel Krebs
bf286568dd rtds2gpu IP works 2018-06-04 17:36:15 +02:00
Daniel Krebs
b03b94d754 ip-node: fix wrong cast and add more sanity checks 2018-06-04 17:31:25 +02:00
Daniel Krebs
47bd186f5e ip-node: move stream graph to IpNode and add easy-to-use connect interface 2018-06-04 17:31:12 +02:00
Daniel Krebs
00fb0363dd ips/switch: add more sanity checks for making connections 2018-06-04 17:30:11 +02:00
Daniel Krebs
e9add5d602 ips/dma: enable interrupts by default 2018-06-04 14:20:06 +02:00
Daniel Krebs
28143e7188 ips/rtds: add C++ version of RTDS IP 2018-06-04 14:20:06 +02:00
Daniel Krebs
8e63785073 ips/dma: change interface, get byte count from {read,write}Complete() 2018-06-04 14:20:06 +02:00
Daniel Krebs
07137d73e6 lib/ip: extend dump by memory blocks 2018-06-04 14:20:06 +02:00
Daniel Krebs
fcfb3d8020 lib: change include path: must be <villas/...> now 2018-06-04 14:20:06 +02:00
Daniel Krebs
2e339b406d lib/ips: add data fifo IP needed for stream routing 2018-06-04 14:20:06 +02:00
Daniel Krebs
a0c5acce4c ip-node: implement connect interface and update AxiStreamSwitch implementation 2018-06-04 14:20:06 +02:00
Daniel Krebs
a1daf95202 lib/card: lookup IP by identifier 2018-06-04 14:20:06 +02:00
Daniel Krebs
967e39e36c ip-node: add implementation of StreamGraph for automatic routing 2018-06-04 14:20:06 +02:00
Daniel Krebs
5097827757 fix include paths, use <villas/...> style 2018-06-04 13:24:57 +02:00
Daniel Krebs
c15189b74b common/memory: implement freeing for LinearAllocator
This is still very simple. Only really free memory, when all allocation
have been deallocated so we only need to keep track of the current
number of allocations.
2018-05-16 11:27:03 +02:00
Daniel Krebs
d2384abb9d cmake: only build GPU library if CUDA is present 2018-05-16 10:58:18 +02:00
Daniel Krebs
13fd3f3c2a gpu: implement basic GPU plugin that can do DMA to and from its memory
Using CUDA, memory can be allocated on the GPU and shared to peers on
the PCIe bus such as the FPGA. Furthermore, the DMA on the GPU can also
be used to read and write to/from other memory on the PCIe bus, such as
BRAM on the FPGA.
2018-05-15 18:15:17 +02:00
Daniel Krebs
7dcdfaccd9 ips/dma: let user deal with making memory accessible to DMA
It is probably too costly to do (and verify) it on every read
or write. Furthermore, the user knows better how to make a certain
memory available to the DMA.
2018-05-15 18:04:24 +02:00
Daniel Krebs
f823dde0f4 card: don't try to create a VFIO mapping if IOMMU is disabled
In this case, VFIO cannot create DMA mappings.
2018-05-15 18:04:24 +02:00
Daniel Krebs
f644a9faa8 ips/pcie: move BAR0 mapping from card into PCIe IP 2018-05-15 18:04:24 +02:00
Daniel Krebs
89b5169a6e ips/pcie: parse AXI/PCI BARs and create mappings to/from PCIe address space
This is used for translations that don't use VFIO which used to bridge
the PCIe address space by creating direct mappings from process VA to
the FPGA. When we want to communicate directly via PCIe without the
involvment of the CPU/VFIO, we need the proper translations that are
configured in the FPGA hardware.
2018-05-15 18:04:24 +02:00
Daniel Krebs
364b137156 fpga/card: make pci device a class member (needed later) 2018-05-15 18:04:24 +02:00