Comments
Patch
@@ -314,6 +314,11 @@ DSP_STATUS WMD_MSG_Get(struct MSG_QUEUE *hMsgQueue,
(struct LST_ELEM *)pMsgFrame);
if (LST_IsEmpty(hMsgQueue->msgUsedList))
SYNC_ResetEvent(hMsgQueue->hSyncEvent);
+ else {
+ NTFY_Notify(hMsgQueue->hNtfy,
+ DSP_NODEMESSAGEREADY);
+ SYNC_SetEvent(hMsgQueue->hSyncEvent);
+ }
fGotMsg = true;
}
@@ -361,9 +366,11 @@ DSP_STATUS WMD_MSG_Get(struct MSG_QUEUE *hMsgQueue,
}
hMsgQueue->refCount--;
/* Reset the event if there are still queued messages */
- if (!LST_IsEmpty(hMsgQueue->msgUsedList))
+ if (!LST_IsEmpty(hMsgQueue->msgUsedList)) {
+ NTFY_Notify(hMsgQueue->hNtfy,
+ DSP_NODEMESSAGEREADY);
SYNC_SetEvent(hMsgQueue->hSyncEvent);
-
+ }
/* Exit critical section */
(void)SYNC_LeaveCS(hMsgMgr->hSyncCS);
}
On behalf of Ernesto. This patch fixes an issue in dspbridge when several messages are sent in one shot but MPU was only able to process one message. Signed-off-by: Ernesto Ramos <ernesto@ti.com> Signed-off by: Bhavin Shah <bshah@ti.com> --- drivers/dsp/bridge/wmd/msg_sm.c | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-)