Adding a Jump instruction with CALM flag to ensure previous processing has been completed.
Fixes: 3ba2e519eafa ("common/dpaax/caamflib: support PDCP-SDAP") Cc: franck.lenorm...@nxp.com Cc: sta...@dpdk.org Signed-off-by: Gagandeep Singh <g.si...@nxp.com> --- drivers/common/dpaax/caamflib/desc/sdap.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/common/dpaax/caamflib/desc/sdap.h b/drivers/common/dpaax/caamflib/desc/sdap.h index b38c15a24f..d41bacf8f9 100644 --- a/drivers/common/dpaax/caamflib/desc/sdap.h +++ b/drivers/common/dpaax/caamflib/desc/sdap.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright 2020-2022 NXP + * Copyright 2020-2023 NXP */ #ifndef __DESC_SDAP_H__ @@ -628,6 +628,10 @@ static inline int pdcp_sdap_insert_no_snoop_op( /* Save the ICV generated */ MOVEB(p, CONTEXT1, 0, MATH3, 0, 4, WAITCOMP | IMMED); + /* conditional jump with calm added to ensure that the + * previous processing has been completed + */ + JUMP(p, 1, LOCAL_JUMP, ALL_TRUE, CALM); /* The CHA will be reused so we need to clear it */ LOAD(p, CLRW_RESET_CLS1_CHA | CLRW_CLR_C1KEY | @@ -718,6 +722,10 @@ static inline int pdcp_sdap_insert_no_snoop_op( /* Save the ICV which is stalling in output FIFO to MATH3 */ MOVEB(p, OFIFO, 0, MATH3, 0, 4, IMMED); + /* conditional jump with calm added to ensure that the + * previous processing has been completed + */ + JUMP(p, 1, LOCAL_JUMP, ALL_TRUE, CALM); /* Reset class 1 CHA */ LOAD(p, CLRW_RESET_CLS1_CHA | CLRW_CLR_C1KEY | -- 2.25.1