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

CR-1167065 Reset command header prior to starting command #7608

Merged
merged 1 commit into from
Jun 30, 2023

Conversation

stsoe
Copy link
Collaborator

@stsoe stsoe commented Jun 30, 2023

Problem solved by the commit

Do not assume ert command header unchanged after being processed by device.

How problem was solved, alternative solutions (if any) and why they were rejected

Cache initialized command header and use to reset packet header before starting a run object. Reseting the command header prior to execution allows the header to be encoded with error specific information upon command completion.

Do not assume ert command header unchanged after being processed by
device.

Cache initialized command header and use to reset packet header before
starting a run object. Reseting the command header prior to execution
allows the header to be encoded with error specific information upon
command completion.
@stsoe stsoe requested a review from maxzhen June 30, 2023 15:47
@gbuildx
Copy link
Collaborator

gbuildx commented Jun 30, 2023

Build Passed!

@stsoe stsoe merged commit 7034b98 into Xilinx:master Jun 30, 2023
2 checks passed
@stsoe stsoe deleted the CR-1167065 branch June 30, 2023 17:55
stsoe added a commit to stsoe/XRT that referenced this pull request Aug 19, 2023
Move caching of command header to the very first start() of a run object.

In Xilinx#7608 the internally initialized ert command header is cached as
part of a run object.  The caching is done for repeated invocation of
same run object to reset the header to a known good initial state.
However, caching during construction of the run object is to early for
some use cases where the header is changed in the host code to support
legacy command opcodes.

This PR fixes the problem by delaying caching until the very first
invocation of xrt::run::start().  This allows for host code to
manipulate the underlying command packet, which is necessary for
support of legacy ERT_EXEC_WRITE.
chvamshi-xilinx pushed a commit that referenced this pull request Aug 21, 2023
Move caching of command header to the very first start() of a run object.

In #7608 the internally initialized ert command header is cached as
part of a run object.  The caching is done for repeated invocation of
same run object to reset the header to a known good initial state.
However, caching during construction of the run object is to early for
some use cases where the header is changed in the host code to support
legacy command opcodes.

This PR fixes the problem by delaying caching until the very first
invocation of xrt::run::start().  This allows for host code to
manipulate the underlying command packet, which is necessary for
support of legacy ERT_EXEC_WRITE.
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