cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
dsakjl
Explorer
Explorer
547 Views
Registered: ‎07-20-2018

QDMA: bug in FLR configuration

Jump to solution

Hi all,

we are using QDMA IP v3.0 (Rev 73653) on Vivado 2019.2,
and Xilinx driver (https://github.com/Xilinx/dma_ip_drivers/tree/master/QDMA/linux-kernel).

We enabled FLR and use the functions qdma_device_flr_quirk_set() and
qdma_device_flr_quirk_check().

We found that the invocation of qdma_device_flr_quirk_set() freezes the machine.
In particular, this happens when the function qdma_initiate_flr() tries to access
the register "FLR Control/Status Register" at offset 0x2500.

Investigating the problem we found that FLR needs the mailbox enabled.

So we would like to signal what seems a configuration's BUG.

Anyone from Xilinx can reply on this?

Thank you, best regards.

0 Kudos
1 Solution

Accepted Solutions
dsakjl
Explorer
Explorer
395 Views
Registered: ‎07-20-2018

Hello everyone,

here is a patch for the QDMA 3.0 IP configuration. With this patch in place enabling FLR will imply the mailbox enabling.

The patch can be applied to the file Vivado/2019.2/data/ip/xilinx/qdma_v3_0/xgui/qdma_v3_0.tcl.

On linux:

$ cd /opt/xilinx/Vivado/2019.2/data/ip/xilinx/qdma_v3_0/xgui

$ patch -p0 < qdma_v3_0.tcl.patch

The patch is as simple as adding the following lines to the xgui tcl file:

proc update_PARAM_VALUE.MAILBOX_ENABLE {PARAM_VALUE.MAILBOX_ENABLE PARAM_VALUE.flr_enable} {
    set flr_enable [get_property value ${PARAM_VALUE.flr_enable}]
    if {$flr_enable == "true"} {
        set_property enabled true ${PARAM_VALUE.MAILBOX_ENABLE}
        set_property value true ${PARAM_VALUE.MAILBOX_ENABLE}
    } else {
        set_property enabled true ${PARAM_VALUE.MAILBOX_ENABLE}
        set_property value [get_property default_value ${PARAM_VALUE.MAILBOX_ENABLE}] ${PARAM_VALUE.MAILBOX_ENABLE}
    }
}

 


Hope this would be helpful.

 

Regards.

View solution in original post

0 Kudos
3 Replies
dsakjl
Explorer
Explorer
396 Views
Registered: ‎07-20-2018

Hello everyone,

here is a patch for the QDMA 3.0 IP configuration. With this patch in place enabling FLR will imply the mailbox enabling.

The patch can be applied to the file Vivado/2019.2/data/ip/xilinx/qdma_v3_0/xgui/qdma_v3_0.tcl.

On linux:

$ cd /opt/xilinx/Vivado/2019.2/data/ip/xilinx/qdma_v3_0/xgui

$ patch -p0 < qdma_v3_0.tcl.patch

The patch is as simple as adding the following lines to the xgui tcl file:

proc update_PARAM_VALUE.MAILBOX_ENABLE {PARAM_VALUE.MAILBOX_ENABLE PARAM_VALUE.flr_enable} {
    set flr_enable [get_property value ${PARAM_VALUE.flr_enable}]
    if {$flr_enable == "true"} {
        set_property enabled true ${PARAM_VALUE.MAILBOX_ENABLE}
        set_property value true ${PARAM_VALUE.MAILBOX_ENABLE}
    } else {
        set_property enabled true ${PARAM_VALUE.MAILBOX_ENABLE}
        set_property value [get_property default_value ${PARAM_VALUE.MAILBOX_ENABLE}] ${PARAM_VALUE.MAILBOX_ENABLE}
    }
}

 


Hope this would be helpful.

 

Regards.

View solution in original post

0 Kudos
dsakjl
Explorer
Explorer
242 Views
Registered: ‎07-20-2018

Hi @deepeshm ,

as requested I report this possible bug to you.

Best regards.

0 Kudos
deepeshm
Xilinx Employee
Xilinx Employee
239 Views
Registered: ‎08-06-2008

Thanks @dsakjl 

We will investigate this and take needful actions. 

Thank you for reporting the issue and providing the patch. 

0 Kudos