diff options
author | graysky | 2021-05-19 08:21:12 -0400 |
---|---|---|
committer | graysky | 2021-05-19 08:21:12 -0400 |
commit | a250769e4e58a691e63f6e60c99ac0fa3cede5cd (patch) | |
tree | a17a6b8db94c5eb5c985eaa6b4d715a5bad996a2 /0003-Revert-bus-mhi-core-Process-execution-environment-ch.patch | |
parent | e8cc5bc2993da64fa813a5f85f088cc2c08146c6 (diff) | |
download | aur-a250769e4e58a691e63f6e60c99ac0fa3cede5cd.tar.gz |
Update to 5.12.4-3
Diffstat (limited to '0003-Revert-bus-mhi-core-Process-execution-environment-ch.patch')
-rw-r--r-- | 0003-Revert-bus-mhi-core-Process-execution-environment-ch.patch | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/0003-Revert-bus-mhi-core-Process-execution-environment-ch.patch b/0003-Revert-bus-mhi-core-Process-execution-environment-ch.patch deleted file mode 100644 index f3c7aa394c4e..000000000000 --- a/0003-Revert-bus-mhi-core-Process-execution-environment-ch.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 676bfe06a676d970e6b8cc28b7cd18ac1db994c4 Mon Sep 17 00:00:00 2001 -From: Steven Barrett <steven@liquorix.net> -Date: Tue, 18 May 2021 11:35:29 -0500 -Subject: [PATCH 3/4] Revert "bus: mhi: core: Process execution environment - changes serially" - -Fix ath11k / QCA6390 initialization: -https://bugzilla.kernel.org/show_bug.cgi?id=213055 - -This reverts commit 29b9829718c5e9bd68fc1c652f5e0ba9b9a64fed. ---- - drivers/bus/mhi/core/main.c | 40 ++++++++++++++++++------------------- - drivers/bus/mhi/core/pm.c | 7 +++---- - 2 files changed, 22 insertions(+), 25 deletions(-) - -diff --git a/drivers/bus/mhi/core/main.c b/drivers/bus/mhi/core/main.c -index 61c37b23dd71..bd71a2b6f984 100644 ---- a/drivers/bus/mhi/core/main.c -+++ b/drivers/bus/mhi/core/main.c -@@ -444,7 +444,7 @@ irqreturn_t mhi_intvec_threaded_handler(int irq_number, void *priv) - struct device *dev = &mhi_cntrl->mhi_dev->dev; - enum mhi_state state = MHI_STATE_MAX; - enum mhi_pm_state pm_state = 0; -- enum mhi_ee_type ee = MHI_EE_MAX; -+ enum mhi_ee_type ee = 0; - - write_lock_irq(&mhi_cntrl->pm_lock); - if (!MHI_REG_ACCESS_VALID(mhi_cntrl->pm_state)) { -@@ -453,7 +453,8 @@ irqreturn_t mhi_intvec_threaded_handler(int irq_number, void *priv) - } - - state = mhi_get_mhi_state(mhi_cntrl); -- ee = mhi_get_exec_env(mhi_cntrl); -+ ee = mhi_cntrl->ee; -+ mhi_cntrl->ee = mhi_get_exec_env(mhi_cntrl); - dev_dbg(dev, "local ee:%s device ee:%s dev_state:%s\n", - TO_MHI_EXEC_STR(mhi_cntrl->ee), TO_MHI_EXEC_STR(ee), - TO_MHI_STATE_STR(state)); -@@ -465,30 +466,27 @@ irqreturn_t mhi_intvec_threaded_handler(int irq_number, void *priv) - } - write_unlock_irq(&mhi_cntrl->pm_lock); - -- if (pm_state != MHI_PM_SYS_ERR_DETECT || ee == mhi_cntrl->ee) -- goto exit_intvec; -+ /* If device supports RDDM don't bother processing SYS error */ -+ if (mhi_cntrl->rddm_image) { -+ /* host may be performing a device power down already */ -+ if (!mhi_is_active(mhi_cntrl)) -+ goto exit_intvec; - -- switch (ee) { -- case MHI_EE_RDDM: -- /* proceed if power down is not already in progress */ -- if (mhi_cntrl->rddm_image && mhi_is_active(mhi_cntrl)) { -+ if (mhi_cntrl->ee == MHI_EE_RDDM && mhi_cntrl->ee != ee) { - mhi_cntrl->status_cb(mhi_cntrl, MHI_CB_EE_RDDM); -- mhi_cntrl->ee = ee; - wake_up_all(&mhi_cntrl->state_event); - } -- break; -- case MHI_EE_PBL: -- case MHI_EE_EDL: -- case MHI_EE_PTHRU: -- mhi_cntrl->status_cb(mhi_cntrl, MHI_CB_FATAL_ERROR); -- mhi_cntrl->ee = ee; -- wake_up_all(&mhi_cntrl->state_event); -- mhi_pm_sys_err_handler(mhi_cntrl); -- break; -- default: -+ goto exit_intvec; -+ } -+ -+ if (pm_state == MHI_PM_SYS_ERR_DETECT) { - wake_up_all(&mhi_cntrl->state_event); -- mhi_pm_sys_err_handler(mhi_cntrl); -- break; -+ -+ /* For fatal errors, we let controller decide next step */ -+ if (MHI_IN_PBL(ee)) -+ mhi_cntrl->status_cb(mhi_cntrl, MHI_CB_FATAL_ERROR); -+ else -+ mhi_pm_sys_err_handler(mhi_cntrl); - } - - exit_intvec: -diff --git a/drivers/bus/mhi/core/pm.c b/drivers/bus/mhi/core/pm.c -index 277704af7eb6..1edce7917b6b 100644 ---- a/drivers/bus/mhi/core/pm.c -+++ b/drivers/bus/mhi/core/pm.c -@@ -377,22 +377,21 @@ static int mhi_pm_mission_mode_transition(struct mhi_controller *mhi_cntrl) - { - struct mhi_event *mhi_event; - struct device *dev = &mhi_cntrl->mhi_dev->dev; -- enum mhi_ee_type ee = MHI_EE_MAX, current_ee = mhi_cntrl->ee; -+ enum mhi_ee_type current_ee = mhi_cntrl->ee; - int i, ret; - - dev_dbg(dev, "Processing Mission Mode transition\n"); - - write_lock_irq(&mhi_cntrl->pm_lock); - if (MHI_REG_ACCESS_VALID(mhi_cntrl->pm_state)) -- ee = mhi_get_exec_env(mhi_cntrl); -+ mhi_cntrl->ee = mhi_get_exec_env(mhi_cntrl); - -- if (!MHI_IN_MISSION_MODE(ee)) { -+ if (!MHI_IN_MISSION_MODE(mhi_cntrl->ee)) { - mhi_cntrl->pm_state = MHI_PM_LD_ERR_FATAL_DETECT; - write_unlock_irq(&mhi_cntrl->pm_lock); - wake_up_all(&mhi_cntrl->state_event); - return -EIO; - } -- mhi_cntrl->ee = ee; - write_unlock_irq(&mhi_cntrl->pm_lock); - - wake_up_all(&mhi_cntrl->state_event); --- -2.31.1 - |