summaryrefslogtreecommitdiff
path: root/drivers/slimbus/slim-msm.h
diff options
context:
space:
mode:
authorSagar Dharia <sdharia@codeaurora.org>2016-02-26 17:06:33 -0700
committerGirish Mahadevan <girishm@codeaurora.org>2016-08-18 15:08:42 -0600
commit6354fad32ce56ccf167d2e82021fa1506430cb94 (patch)
treea8d6c8be48cd8a470c4b0110ce5312b2e82a5c71 /drivers/slimbus/slim-msm.h
parent503eb88359949f917f45c039c538dc9f7d4af97e (diff)
slim: ngd: Handle Process Domain restart
Slimbus master component driver typically resides in a domain on remote processor (ADSP). If that domain restarts, slimbus master driver restarts reinitializing the slimbus HW. Handle such process domain restart, and use subsystem restart if the process domain restart is not available. Change-Id: I253c33d07aad513a6621571e870e1d3f66a1b6a1 Signed-off-by: Sagar Dharia <sdharia@codeaurora.org> Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
Diffstat (limited to 'drivers/slimbus/slim-msm.h')
-rw-r--r--drivers/slimbus/slim-msm.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/slimbus/slim-msm.h b/drivers/slimbus/slim-msm.h
index fc0a8d23f573..7616e714299c 100644
--- a/drivers/slimbus/slim-msm.h
+++ b/drivers/slimbus/slim-msm.h
@@ -16,7 +16,6 @@
#include <linux/irq.h>
#include <linux/kthread.h>
#include <soc/qcom/msm_qmi_interface.h>
-#include <soc/qcom/subsystem_notif.h>
#include <linux/ipc_logging.h>
/* Per spec.max 40 bytes per received message */
@@ -229,14 +228,20 @@ struct msm_slim_qmi {
struct kthread_worker kworker;
struct completion qmi_comp;
struct notifier_block nb;
- struct work_struct ssr_down;
- struct work_struct ssr_up;
+};
+
+enum msm_slim_dom {
+ MSM_SLIM_DOM_NONE,
+ MSM_SLIM_DOM_PD,
+ MSM_SLIM_DOM_SS,
};
struct msm_slim_ss {
struct notifier_block nb;
- void *ssr;
+ void *domr;
enum msm_ctrl_state state;
+ struct work_struct dom_up;
+ enum msm_slim_dom dom_t;
};
struct msm_slim_pdata {