summarylogtreecommitdiffstats
path: root/0003-Revert-bus-mhi-core-Process-execution-environment-ch.patch
diff options
context:
space:
mode:
authorgraysky2021-05-19 08:21:12 -0400
committergraysky2021-05-19 08:21:12 -0400
commita250769e4e58a691e63f6e60c99ac0fa3cede5cd (patch)
treea17a6b8db94c5eb5c985eaa6b4d715a5bad996a2 /0003-Revert-bus-mhi-core-Process-execution-environment-ch.patch
parente8cc5bc2993da64fa813a5f85f088cc2c08146c6 (diff)
downloadaur-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.patch118
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
-