• Bjorn Andersson's avatar
    remoteproc: qcom: Move glink_ssr notification after stop · 1417dba1
    Bjorn Andersson authored
    glink_ssr is used to signal a remote processor "A" about the stopping of
    another remote processor "B", so that in the event that remote processor
    B is ever booted again the fifos of the glink channel between A and B is
    in a known state.
    
    But if remote processor A receives this notification before B is
    actually stopped the newly reset fifo indices will be interpreted as
    there being "data" on the channel and either side of the channel will
    enter a fatal error handler.
    
    Move the glink_ssr notification to the "unprepare" state of the
    rproc_subdev to avoid this issue.
    
    This has the side effect of us not notifying the dying remote processor
    itself about its fate, which has been seen to block in certain resource
    constraint scenarios.
    Tested-by: default avatarSibi Sankar <sibis@codeaurora.org>
    Reviewed-by: default avatarSibi Sankar <sibis@codeaurora.org>
    Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
    1417dba1
qcom_common.c 6.37 KB