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

Commit ead02e89 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "soc: qcom: pil: Do not do complete ramdump for minidump elf32"

parents 7fefe25a 2e595a62
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -391,7 +391,7 @@ static int pil_do_minidump(struct pil_desc *desc, void *ramdump_dev)
					      desc->num_aux_minidump_ids);

	if (desc->minidump_as_elf32)
		ret = do_elf_ramdump(ramdump_dev, ramdump_segs,
		ret = do_minidump_elf32(ramdump_dev, ramdump_segs,
					ss_valid_seg_cnt);
	else
		ret = do_minidump(ramdump_dev, ramdump_segs, ss_valid_seg_cnt);
+17 −4
Original line number Diff line number Diff line
@@ -406,7 +406,7 @@ void destroy_ramdump_device(void *dev)
EXPORT_SYMBOL(destroy_ramdump_device);

static int _do_ramdump(void *handle, struct ramdump_segment *segments,
		int nsegments, bool use_elf)
		int nsegments, bool use_elf, bool complete_ramdump)
{
	int ret, i;
	struct ramdump_device *rd_dev = (struct ramdump_device *)handle;
@@ -434,7 +434,7 @@ static int _do_ramdump(void *handle, struct ramdump_segment *segments,
		return -EPIPE;
	}

	if (rd_dev->complete_ramdump) {
	if (complete_ramdump) {
		for (i = 0; i < nsegments-1; i++)
			segments[i].size =
				segments[i + 1].address - segments[i].address;
@@ -635,7 +635,10 @@ static int _do_minidump(void *handle, struct ramdump_segment *segments,

int do_ramdump(void *handle, struct ramdump_segment *segments, int nsegments)
{
	return _do_ramdump(handle, segments, nsegments, false);
	struct ramdump_device *rd_dev = (struct ramdump_device *)handle;

	return _do_ramdump(handle, segments, nsegments, false,
				rd_dev->complete_ramdump);
}
EXPORT_SYMBOL(do_ramdump);

@@ -645,9 +648,19 @@ int do_minidump(void *handle, struct ramdump_segment *segments, int nsegments)
}
EXPORT_SYMBOL(do_minidump);

int do_minidump_elf32(void *handle, struct ramdump_segment *segments,
		      int nsegments)
{
	return _do_ramdump(handle, segments, nsegments, true, false);
}
EXPORT_SYMBOL(do_minidump_elf32);

int
do_elf_ramdump(void *handle, struct ramdump_segment *segments, int nsegments)
{
	return _do_ramdump(handle, segments, nsegments, true);
	struct ramdump_device *rd_dev = (struct ramdump_device *)handle;

	return _do_ramdump(handle, segments, nsegments, true,
				rd_dev->complete_ramdump);
}
EXPORT_SYMBOL(do_elf_ramdump);
+3 −1
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2011-2014, 2017-2018, The Linux Foundation. All rights reserved.
 * Copyright (c) 2011-2014, 2017-2019, The Linux Foundation. All rights reserved.
 */

#ifndef _RAMDUMP_HEADER
@@ -24,6 +24,8 @@ extern int do_elf_ramdump(void *handle, struct ramdump_segment *segments,
		int nsegments);
extern int do_minidump(void *handle, struct ramdump_segment *segments,
		       int nsegments);
extern int do_minidump_elf32(void *handle, struct ramdump_segment *segments,
			     int nsegments);

#else
static inline void *create_ramdump_device(const char *dev_name,