Hi support,
I have a question about the HWA_reset method which is called in DPU_RangeProcHWA_config function of the DPU Datapath demo.
I tried to run the demo in a freeRTOS environment, which works fine right now, but I noticed that when the HWA_reset method is called, the state machine state will not be reset and the calculations are wrong at the end.
After I tried something around I found this workaround for me:
ctrlBaseAddr = (DSSHWACCRegs *)ptrHWADriver->hwAttrs->ctrlBaseAddr; ctrlBaseAddr->HWACCREG4 = CSL_FINSR(ctrlBaseAddr->HWACCREG4, 31U, 16U, 0x0U); ctrlBaseAddr->HWACCREG1 = CSL_FINSR(ctrlBaseAddr->HWACCREG1, 6U, 4U, 0x7U); ctrlBaseAddr->HWACCREG1 = CSL_FINSR(ctrlBaseAddr->HWACCREG1, 6U, 4U, 0x0U); //retVal = HWA_reset(hwaHandle);
However I can't explain why this code works and the HWA_reset method does not. Furthermore it only works if the PARAMDONESTAT register and the HWA_reset bits are cleared together.
Does anyone have an idea or can explain me this? As note: the reset method did not return an error code (retVal=0)
Regards,
Daniel