v2: -Addressed review comments -Introduce new patch for to use controller defined read_reg() for polling -Add usage in RDDM download panic path as well Use polling instead of interrupt driven approach to wait for MHI ready state. In certain devices, it is likely that there is no incoming MHI interrupt for a transition to MHI READY state. One such example is the move from Pass Through to an SBL or AMSS execution environment. In order to facilitate faster bootup times as there is no need to wait until timeout_ms completes, MHI host can poll every 25 milliseconds to check if device has entered MHI READY until a maximum timeout of twice the timeout_ms is reached. This patch series has been tested on an arm64 device. Bhaumik Bhatt (3): bus: mhi: core: Introduce internal register poll helper function bus: mhi: core: Move to polling method to wait for MHI ready bus: mhi: core: Use poll register read API for RDDM download arch/arm64/configs/defconfig | 76 ++++++++++++++++------------------------- drivers/bus/mhi/core/boot.c | 20 ++++------- drivers/bus/mhi/core/internal.h | 3 ++ drivers/bus/mhi/core/main.c | 23 +++++++++++++ drivers/bus/mhi/core/pm.c | 31 ++++++++--------- 5 files changed, 75 insertions(+), 78 deletions(-) -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project