XCLMGMT (PCIe Management Physical Function) Driver Interfaces

PCIe Kernel Driver for Managament Physical Function

Interfaces exposed by xclmgmt driver are defined in file, mgmt-ioctl.h. Core functionality provided by xclmgmt driver is described in the following table:

#

Functionality

ioctl request code

data format

1

FPGA image download

XCLMGMT_IOCICAPDOWNLOAD_AXLF

xclmgmt_ioc_bitstream_axlf

2

CL frequency scaling

XCLMGMT_IOCFREQSCALE

xclmgmt_ioc_freqscaling

3

PCIe hot reset

XCLMGMT_IOCHOTRESET

NA

4

CL reset

XCLMGMT_IOCOCLRESET

NA

5

Live boot FPGA from PROM

XCLMGMT_IOCREBOOT

NA

6

Device sensors (current, voltage and temperature)

NA

hwmon (xclmgmt_microblaze and xclmgmt_sysmon) interface on sysfs

7

Querying device errors

XCLMGMT_IOCERRINFO

xclErrorStatus

struct xclmgmt_ioc_info

Obtain information from the device used with XCLMGMT_IOCINFO ioctl

Definition

struct xclmgmt_ioc_info {
};

Members

Description

Note that this structure will be obsoleted in future and the same functionality will be exposed via sysfs nodes

struct xclmgmt_ioc_bitstream_axlf

load xclbin (AXLF) device image used with XCLMGMT_IOCICAPDOWNLOAD_AXLF ioctl

Definition

struct xclmgmt_ioc_bitstream_axlf {
  struct axlf * xclbin;
};

Members

xclbin

Pointer to user’s xclbin structure in memory

struct xclmgmt_ioc_freqscaling

scale frequencies on the board using Xilinx clock wizard used with XCLMGMT_IOCFREQSCALE ioctl

Definition

struct xclmgmt_ioc_freqscaling {
  unsigned ocl_region;
  unsigned short ocl_target_freq;
};

Members

ocl_region

PR region (currently only 0 is supported)

ocl_target_freq

Array of requested frequencies, a value o zero in the array indicates leave untouched