Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added DMA configurable timeout register #1246

Open
wants to merge 8 commits into
base: pre-release
Choose a base branch
from
Open

Conversation

mmishra9
Copy link
Contributor

Added configurable timeout register to acknowledge the timeout

Description

Added a configurable timeout register which was earlier hardcoded. If timeout reg value is reached before the write transactions are completed, the descriptor is returned.

@mmishra9 mmishra9 requested a review from ruck314 March 18, 2025 00:45
@mmishra9
Copy link
Contributor Author

@mmishra9 mmishra9 changed the base branch from main to pre-release March 18, 2025 01:01
@ruck314
Copy link
Contributor

ruck314 commented Mar 18, 2025

@mmishra9 Let me know when you have completed your building and regression testing with hardware. After you are done with that, then I will approve and merge the PR.

@ruck314 ruck314 changed the title Added configurable timeout register Added DMA configurable timeout register Mar 23, 2025
@ruck314 ruck314 requested review from JJL772 and ruck314 March 24, 2025 18:55
Co-authored-by: Jeremy L. <[email protected]>
@JJL772
Copy link
Member

JJL772 commented Mar 24, 2025

Also getting a build error from missing timout field in AxiWriteDmaTrackType. Seems to build after adding that, but haven't tested it on hardware.

@mmishra9
Copy link
Contributor Author

The issues should be fixed now.

v.axiWriteMaster.wdata(3) := dmaWrDescRet(descIndex).continue;
v.axiWriteMaster.wdata(2 downto 0) := dmaWrDescRet(descIndex).result;
v.axiWriteMaster.wdata(7 downto 5) := (others => '0');
v.axiWriteMaster.wdata(4) := dmaWrDescRet(descIndex).continue;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mmishra9 I am worried about backwards compatibly with his change

@JJL772 & @slacrherbst What's your opinion about this change?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

        How about like this?
            v.axiWriteMaster.wdata(7 downto 5)     := (others => '0');
            v.axiWriteMaster.wdata(4)                     := dmaWrDescRet(descIndex).result(3);
            v.axiWriteMaster.wdata(3)                     := dmaWrDescRet(descIndex).continue;
            v.axiWriteMaster.wdata(2 downto 0)     := dmaWrDescRet(descIndex).result(2 downto 0);__

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As long as there is a way to change behavior based on firmware version it's okay with me. Might require some ugly code in the driver though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants