GTS AXI Multichannel DMA IP for PCI Express* User Guide

ID 847470
Date 8/25/2025
Public
Document Table of Contents

6.3.5.6. BAS Test

Note: For the Traffic Generator/Checker design example, you must disable the MSI-X parameter, IFC_QDMA_MSIX_ENABLE, in the Custom Driver's p0_software/kernel/common/include/mcdma_ip_params.h file if MSI-X is not enabled in the IP Parameter Editor. By default, the Custom Driver software parameter is enabled and MSI-X is disabled in the IP. This mismatch prevents the ifc_uio kernel module from being loaded.

For BAS x4:

BAS x4 supports a burst length of 32 by default. In the file perfq_app.h (p0_software/user/cli/perfq_app/perfq_app.h):

#define IFC_MCDMA_BAS_X4_BURST_LENGTH 32

To enable BAS, set the following software flag in p0_software/user/common/mk/common.mk):

__cflags += -DIFC_MCDMA_BAS_EN

Note: Refer to Design Example Variants and BAR Mappings for BAR mappings information.
Note: A BAS test failure may be observed when the request size exceeds 2 kB. A fix is planned in a future release.

Commands:

To verify the write operation:

$ sudo ./cli/perfq_app/perfq_app -b 0000:08:00.0 -s 512 -e -t --bar=<bar number>

Figure 38. Write Operation Results

To verify the read operation:

$ sudo ./cli/perfq_app/perfq_app -b 0000:01:00.0 -s 512 -e -r --bar=<bar number>

Figure 39. Read Operation Results

To verify the write and read operations:

$ sudo ./cli/perfq_app/perfq_app -b 0000:01:00.0 -s 512 -e -z --bar=<bar number>

Figure 40. Write and Read Operation Results

Performance test:

$ sudo ./cli/perfq_app/perfq_app -b 0000:08:00.0 -s 16384 --bas_perf -z --bar=<bar number>

Figure 41. Performance Test Results
Note: You may not be able to proceed with the -z option. Add the flag #define IFC_QDMA_INTF_ST in user/common/include/mcdma_ip_params.h as a workaround to make it work.
Note: In the case of VFIO, to run BAM+BAS+MCDMA, you need to create at least three VFs and run on each VF respectively. If you try to use one VF to run BAM+BAS+MCDMA simultaneously in the case of VFIO, it gives a "resource busy" prompt.