Backport uadk engine from linaro. Signed-off-by: Wenkai Lin <linwenkai6@hisilicon.com> (cherry picked from commit 766348e9bbea924a5e4535d88612f43c9f59c2ec)