OPAE Intel FPGA Linux Device Driver Architecture Guide

ID 683857
Date 10/02/2017
Public
Document Table of Contents

1.1.6.1. PCIe Module Device Driver

Figure 3. Driver Organization
The FPGA devices appear as regular PCIe devices; thus, the FPGA PCIe device driver (intel-fpga-pci.ko) is always loaded first once an FPGA PCIe PF or VF is detected. This driver plays an infrastructural role in the driver architecture. It:
  • Creates an FPGA container device as parent of the feature devices.
  • Walks through the Device Feature List, which is implemented in PCIe device BAR memory, to discover feature devices and their sub-features and create platform device for them under the container device.
  • Supports SR-IOV.
  • Introduces the feature device infrastructure, which abstracts operations for sub-features and exposes common functions to feature device drivers.