diff options
author | Sagar Dharia <sdharia@codeaurora.org> | 2016-02-26 17:06:33 -0700 |
---|---|---|
committer | Girish Mahadevan <girishm@codeaurora.org> | 2016-08-18 15:08:42 -0600 |
commit | 6354fad32ce56ccf167d2e82021fa1506430cb94 (patch) | |
tree | a8d6c8be48cd8a470c4b0110ce5312b2e82a5c71 /drivers/slimbus/slim-msm.h | |
parent | 503eb88359949f917f45c039c538dc9f7d4af97e (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.h | 13 |
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 { |