Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f4beb492 authored by Lingutla Chandrasekhar's avatar Lingutla Chandrasekhar
Browse files

power: reset: msm: add support to select both dumps



With Minidump support enabled, user may need to request
to dump both fulldump as well as minidump for debug purpose.

Add support on dload_mode sysfs entry to select both dumps.
Enable both dumps with command:
	echo both > /sys/kernel/dload/dload_mode

Change-Id: I2f7c4c6e26dc236c75ab89490990c87b7139880b
Signed-off-by: default avatarLingutla Chandrasekhar <clingutla@codeaurora.org>
parent be58516a
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@
#define SCM_EDLOAD_MODE			0X01
#define SCM_DLOAD_CMD			0x10
#define SCM_DLOAD_MINIDUMP		0X20

#define SCM_DLOAD_BOTHDUMPS	(SCM_DLOAD_MINIDUMP | SCM_DLOAD_FULLDUMP)

static int restart_mode;
static void *restart_reason;
@@ -488,7 +488,8 @@ static ssize_t show_dload_mode(struct kobject *kobj, struct attribute *attr,
				char *buf)
{
	return scnprintf(buf, PAGE_SIZE, "DLOAD dump type: %s\n",
			(dload_type == SCM_DLOAD_MINIDUMP) ? "mini" : "full");
		(dload_type == SCM_DLOAD_BOTHDUMPS) ? "both" :
		((dload_type == SCM_DLOAD_MINIDUMP) ? "mini" : "full"));
}

static size_t store_dload_mode(struct kobject *kobj, struct attribute *attr,
@@ -502,8 +503,16 @@ static size_t store_dload_mode(struct kobject *kobj, struct attribute *attr,
			return -ENODEV;
		}
		dload_type = SCM_DLOAD_MINIDUMP;
	} else if (sysfs_streq(buf, "both")) {
		if (!minidump_enabled) {
			pr_err("Minidump not enabled, setting fulldump only\n");
			dload_type = SCM_DLOAD_FULLDUMP;
			return count;
		}
		dload_type = SCM_DLOAD_BOTHDUMPS;
	} else{
		pr_err("Invalid value. Use 'full' or 'mini'\n");
		pr_err("Invalid Dump setup request..\n");
		pr_err("Supported dumps:'full', 'mini', or 'both'\n");
		return -EINVAL;
	}