cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
xivar
Observer
Observer
748 Views
Registered: ‎08-20-2019

QDMA and soft_reset_n

In pg302 the description for soft_reset_n says it can be used to reset the DMA logic. It also says "only DMA logic". Can someone clarify what does this mean? What part of the QDMA IP does this signal reset? I understand that this doesn't reset PCIe hard block.

I have been trying to put this signal in use. But whenever I tried resetting QDMA using this signal, it never came back up properly. The C2H and H2C transfers doesn't seem to work after the reset. Registers hooked up to AXI-Lite master seems to work fine though.

Note that I am holding the reset for a minimum of 100 clock cycles as specified in pg302. So is there anything more to be done in the driver after the reset is de-asserted? Thanks.

0 Kudos
5 Replies
venkata
Moderator
Moderator
722 Views
Registered: ‎02-16-2010

Hi @xivar 

Do you find the QDMA driver is staying linked to the IP in the FPGA after soft_reset_n is pulsed? Can you share the lspci log after pulsing soft_reset_n?

------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------
0 Kudos
xivar
Observer
Observer
696 Views
Registered: ‎08-20-2019

Yes, the driver is linked to the IP after soft_reset_n is disabled. I can see that in lspci, there are no changes/warnings.

But what I have seen using ILA is, c2h_cmpt_tready is stuck at 0 after the reset. c2h_tready seems to be fine though. For my use case I rely on the completion entry, but this won't work as tready is low.

(I would suspect h2c_tready is also stuck at 0 as I can't send any packets through H2C after the reset. I can't confirm this since I have not connected the relevant signals to ILA)

0 Kudos
dmsspb
Contributor
Contributor
674 Views
Registered: ‎01-13-2020

After soft_reset_n, we fully reinitialize QDMA by Soft Driver. Queues etc. as for first start. No problem was found.
In "speed" example design we set bit in control_reg_c2h[31]=1, wait fo 400 ns min, then clear control_reg_c2h[31]=0. After that we reinit driver.
xivar
Observer
Observer
617 Views
Registered: ‎08-20-2019

Okay so in your case you reinitialize the driver to bring everything back online. Thanks for the tip. I will try that.

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

Hi @xivar ,

were you able to solve your problem with QDMA soft reset?

Thank you, best regards.

0 Kudos