<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<p style="font-family:Arial;font-size:11pt;color:#0078D7;margin:5pt;" align="Left">
[AMD Official Use Only - Internal Distribution Only]<br>
</p>
<br>
<div>
<div>
<div>
<div dir="ltr">>Hi! I noticed that the AQL packets are more concise compared with PM4 packets. It seemed that AQL packets need more post-processing than PM4 packets.   
</div>
<div dir="ltr">
<div>>I was wondering where the AQL packets are processed, such like calculating the code address using code_entry_offset, resetting packets' headers into INVALID, and writing values to the completion signal when finished. </div>
<div>>Are all these operations done by the firmware? <br>
</div>
<div><br>
</div>
<div>Yes, these operations are performed entirely by MEC firmware. <br>
</div>
<div><br>
</div>
<div>There were special cases (eg certain debug scenarios) where we used a "soft AQL" layer in the ROC runtime which interpreted AQL packets and translated them into a series of PM4 packets, but I don't believe that mechanism is used any more. It was never
 used during normal processing anyways.<br>
</div>
</div>
</div>
</div>
</div>
</body>
</html>