[PATCH v6 0/4] Serialize execution environment changes for MHI

From: Bhaumik Bhatt
Date: Wed Feb 24 2021 - 18:25:01 EST


v6:
-Add patch to improve debug message
-Fix switch-case fall through warning for EE serialization patch
-Address review comments and update commit text

v5:
-Update commit text for "clear devices when moving execution environments" patch
-Added test platform details that were missed out in the cover letter
-Merged two if checks in to a single one for EE serialization patch

v4:
-Addressed review comments for additional info logging for EE movements
-Updated switch case for EE handling in mhi_intvec_threaded_handler()

v3:
-Update commit text to accurately reflect changes and reasoning based on reviews

v2:
-Add patch to clear devices when moving execution environments

Note: This patch is first in series of execution environment related changes.

During full boot chain firmware download, the PM state worker downloads the AMSS
image after waiting for the SBL execution environment change in PBL mode itself.
Since getting rid of the firmware load worker thread, this design needs to
change and MHI host must download the AMSS image from the SBL mode of PM state
worker thread instead of blocking waits for SBL EE in PBL transition processing.

Ensure that EE changes are handled only from appropriate places and occur
one after another and handle only PBL or RDDM EE changes as critical events
directly from the interrupt handler and the status callback is given to the
controller drivers promptly.

When moving from SBL to AMSS EE, clear SBL specific client devices by calling
remove callbacks for them so they are not left opened in a different execution
environment.

This patchset was tested on ARM64.

Bhaumik Bhatt (4):
bus: mhi: core: Destroy SBL devices when moving to mission mode
bus: mhi: core: Download AMSS image from appropriate function
bus: mhi: core: Process execution environment changes serially
bus: mhi: core: Update debug prints to include local device state

drivers/bus/mhi/core/boot.c | 51 +++++++++++++--------------
drivers/bus/mhi/core/internal.h | 1 +
drivers/bus/mhi/core/main.c | 76 +++++++++++++++++++++++++++--------------
drivers/bus/mhi/core/pm.c | 10 ++++--
4 files changed, 83 insertions(+), 55 deletions(-)

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project