cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer
Observer
412 Views
Registered: ‎08-24-2015

[QDMA] dmactl can not create queue

Hi all, 

I started to use QDMA with its example design and got stuck in creating QDMA queue with "dmatl".

When trying to create queue, I got below message:

vux@server:~$ dmactl dev list
qdma01000       0000:01:00.0    max QP: 0, -~-
vux@server:~$ dmactl qdma01000 q add idx 0 mode mm dir h2c
Zero Qs
vux@server:~$ lspci | grep Xilinx
01:00.0 Memory controller: Xilinx Corporation Device 903f

It seems that dmactl can not create a queue. 

Does anyone have idea on this issue?

Tags (2)
0 Kudos
4 Replies
Highlighted
Observer
Observer
407 Views
Registered: ‎08-24-2015

qdma driver probing log:

[ 1127.189096] qdma:xnl_q_add: 0 sized Qs
[ 1142.005051] qdma:xnl_q_add: 0 sized Qs
[ 1759.320914] qdma:remove_one: 0000:01:00.0 pdev 0x000000006056e13b, xdev 0x0000000057e3b6aa, hndl 0xffff9398d3758800, qdma01000.
[ 1763.188916] qdma:qdma_mod_init: Xilinx QDMA PF Reference Driver v2019.1.125.211.
[ 1763.278640] qdma:probe_one: 0000:01:00.0: func 0x0/0x4, p/v 0/0,0x          (null).
[ 1763.278641] qdma:probe_one: Current device is in 0 mode
[ 1763.278642] qdma:probe_one: Configuring '01:00:0' as master pf
[ 1763.278643] qdma:probe_one: Driver is loaded in auto mode
[ 1763.278644] qdma:qdma_device_open: qdma_pf, 01:00.00, pdev 0x000000006056e13b, 0x10ee:0x903f.
[ 1763.278748] qdma:xdev_identify_bars: QDMA Config BAR passed by the user is correct
[ 1763.278750] qdma:xdev_identify_bars: User BAR 2.
[ 1763.278754] qdma:qdma_device_attributes_get: qdma01000-p0000:01:00.0: num_pfs:1, num_qs:2048, flr_present:0, st_en:1, mm_en:1, mm_cmpt_en:0, mailbox_en:0, mm_channel_max:1
[ 1763.304067] qdma:qdma_device_open: 0000:01:00.0, 01000, pdev 0x000000006056e13b, xdev 0x00000000f1200446, ch 1, q 0, vf 0.
0 Kudos
Highlighted
Observer
Observer
387 Views
Registered: ‎08-24-2015

QDMA Core default configuration

QDMA-CFG.PNG

0 Kudos
Highlighted
Observer
Observer
320 Views
Registered: ‎08-24-2015

Does anyone have idea on this issue? :(

0 Kudos
Highlighted
Contributor
Contributor
249 Views
Registered: ‎10-27-2011

It looks that you have not defined the maximum number of queues allocated to your device

vux@server:~$ dmactl dev list
qdma01000       0000:01:00.0    max QP: 0, -~-

You should edit the file

/sys/bus/pci/devices/0000:01:00.0/qdma/qmax

with the max number of queues, e.g.

echo 1024 > /sys/bus/pci/devices/0000:01:00.0/qdma/qmax

sets the max number of queues to 1024 (may be you need to change the protection of the file qmax in order to write it)

Once the max number of queues is set the answer to the dmactl dev list command should look like this

qdma01000       0000:01:00.0    max QP: 1024, 0~1023

 Which shows that queues numbers from 0 to 1023 can be created for the device