[PATCH 4/4] firmware: qcom_scm: Add multiple download mode support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Currently, scm driver only supports full dump when download
mode is selected. Add support to enable minidump as well both
dump(full dump + minidump).

Signed-off-by: Mukesh Ojha <quic_mojha@xxxxxxxxxxx>
---
 drivers/firmware/qcom_scm.c | 5 ++++-
 include/linux/qcom_scm.h    | 2 ++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c
index 4975d3c..b7a2715 100644
--- a/drivers/firmware/qcom_scm.c
+++ b/drivers/firmware/qcom_scm.c
@@ -34,6 +34,8 @@ static int set_dload_mode(const char *val, const struct kernel_param *kp)
 
 	switch(download_mode) {
 	case QCOM_DOWNLOAD_FULLDUMP:
+	case QCOM_DOWNLOAD_MINIDUMP:
+	case QCOM_DOWNLOAD_BOTHDUMP:
 		if (__scm)
 			qcom_scm_set_download_mode(true);
 		break;
@@ -56,7 +58,8 @@ static const struct kernel_param_ops dload_mode_param_ops = {
 };
 module_param_cb(download_mode, &dload_mode_param_ops, &download_mode, 0644);
 MODULE_PARM_DESC(download_mode,
-		 "Download mode: 0x0=no dump mode (default), 0x10=full dump mode");
+		 "Download mode: 0x0=no dump mode (default), 0x10=full dump mode, "
+		 "0x20=mini dump mode 0x30=both(full + mini)dump mode");
 
 #define SCM_HAS_CORE_CLK	BIT(0)
 #define SCM_HAS_IFACE_CLK	BIT(1)
diff --git a/include/linux/qcom_scm.h b/include/linux/qcom_scm.h
index dd6aced..8304c73c 100644
--- a/include/linux/qcom_scm.h
+++ b/include/linux/qcom_scm.h
@@ -17,6 +17,8 @@
 #define QCOM_DOWNLOAD_MODE_MASK 0x30
 #define QCOM_DOWNLOAD_NODUMP	0x0
 #define QCOM_DOWNLOAD_FULLDUMP	0x10
+#define QCOM_DOWNLOAD_MINIDUMP	0x20
+#define QCOM_DOWNLOAD_BOTHDUMP	(QCOM_DOWNLOAD_FULLDUMP | QCOM_DOWNLOAD_MINIDUMP)
 
 struct qcom_scm_hdcp_req {
 	u32 addr;
-- 
2.7.4




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux