Blame doc/src/fpga_dfl_drv/fpga_dfl_drv.md

Packit 534379
# Enable OPAE on FPGA PCIe drivers #
Packit 534379
Packit 534379
.. toctree::
Packit 534379
Packit 534379
.. highlight:: c
Packit 534379
Packit 534379
.. highlight:: console
Packit 534379
Packit 534379
FPGA PCIe driver for PCIe-based Field-Programmable Gate Array (FPGA) solutions which implement
Packit 534379
the Device Feature List (DFL). This driver provides interfaces for user space applications to
Packit 534379
configure, enumerate, open and access FPGA accelerators on the FPGA DFL devices. additionally, it
Packit 534379
also enables system level management functions such as FPGA partial reconfiguration, power management,
Packit 534379
virtualization with DFL framework and DFL feature device drivers.
Packit 534379
Packit 534379
OPAE 1.4.0 release supports both FPGA Intel Linux driver as well as Linux FPGA DFL driver patch set2.
Packit 534379
Linux PCIe FPGA DFL driver supports Intel FPGA devices.
Packit 534379
Packit 534379
FPGA DFL Linux driver source code patchset2 available 
Packit 534379
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers?h=linux-5.4.y
Packit 534379
Packit 534379
FPGA DFL Linux driver source code patchset1 available 
Packit 534379
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/fpga?h=v4.19.14
Packit 534379
Packit 534379
Packit 534379
![FPGA PCIe driver Architecture](pcie_dfl_drv_arch.PNG "FPGA PCIe driver Architecture")
Packit 534379
Packit 534379
Packit 534379
List of FPGA features enabled on different FPGA drivers
Packit 534379
Packit 534379
| FPGA Features                                            | OPAE/FPGA Intel driver                            |OPAE/FPGA DFL driver version 2                        | OPAE/FPGA DFL driver version 1                        |
Packit 534379
|----------------------------------------------------------|---------------------------------------------------|------------------------------------------------------|-------------------------------------------------------|
Packit 534379
| FPGA Device Enumeration                                  | YES                                               | YES                                                  |YES                                                    |
Packit 534379
| Memory map, FPGA control & status registers              | YES                                               | YES                                                  |YES                                                    |
Packit 534379
| Shared system memory                                     | YES                                               | YES                                                  | YES                                                   |
Packit 534379
| Low-latency notifications                                | YES                                               | NO                                                   |NO                                                     |
Packit 534379
| Partial Reconfiguration                                  | YES                                               | YES                                                  |NO                                                     |
Packit 534379
| Assign /Release Accelerators to host interfaces          | YES                                               | YES                                                  |NO                                                     |
Packit 534379
| Metrics/Telemetry                                        | YES                                               | YES                                                  |NO                                                     |
Packit 534379
| FPGA Events                                              | YES                                               | NO                                                   |NO                                                     |
Packit 534379
Packit 534379
Packit 534379
List of OPAE tools enabled on different FPGA drivers:
Packit 534379
Packit 534379
| OPAE tool            | OPAE/FPGA Intel driver                            |OPAE/FPGA DFL driver version 2                         |OPAE/FPGA DFL driver version 1                         |
Packit 534379
|----------------------|---------------------------------------------------|-------------------------------------------------------|-------------------------------------------------------|
Packit 534379
| hello_fpga           | YES                                               | YES                                                   | YES                                                   |
Packit 534379
| fpgaconf             | YES                                               | YES                                                   | NO                                                    |
Packit 534379
| fpgad                | YES                                               | NO                                                    | NO                                                    |
Packit 534379
| fpgainfo             | YES                                               | YES                                                   | NO                                                    |
Packit 534379
| fpgametrics          | YES                                               | YES                                                   | NO                                                    |
Packit 534379
| hello_events         | YES                                               | NO                                                    | NO                                                    |
Packit 534379
| hssi_config          | YES                                               | NO                                                    | NO                                                    |
Packit 534379
| hssi_loopback        | YES                                               | NO                                                    | NO                                                    |
Packit 534379
| object_api           | YES                                               | YES                                                   | NO                                                    |
Packit 534379
| mmlink               | YES                                               | YES                                                   | NO                                                    |
Packit 534379
| bist_app             | YES                                               | NO                                                    | NO                                                    |
Packit 534379
| coreidle             | YES                                               | NO                                                    | NO                                                    |
Packit 534379
| discover_fpgas       | YES                                               | NO                                                    | NO                                                    |
Packit 534379
| fpga_dma_test        | YES                                               | NO                                                    | YES                                                   |
Packit 534379
| hello_cxxcore        | YES                                               | YES                                                   | NO                                                    |
Packit 534379
| ras                  | YES                                               | NO                                                    | NO                                                    |
Packit 534379
| userclk              | YES                                               | YES                                                   | NO                                                    |
Packit 534379
| nlb0                 | YES                                               | NO                                                    | NO                                                    |
Packit 534379
| nlb3                 | YES                                               | NO                                                    | NO                                                    |
Packit 534379
| nlb7                 | YES                                               | NO                                                    | NO                                                    |
Packit 534379
| packager             | YES                                               | YES                                                   | YES                                                   |