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

Commit a6bde3f2 authored by Jennifer L. Zenner's avatar Jennifer L. Zenner
Browse files

msm: ipa3: Add support for IPA/GSI register dump/collection



Add functionality to the IPA/GSI driver in support of a register
dump/collection feature.  Register's values are collected upon system
crash.

Change-Id: I6ccc5a801fd2cf9cd8e92ad4e2c9244a88fae393
CRs-Fixed: 2342813
Acked-by: default avatarPerry Randise <prandise@qti.qualcomm.com>
Signed-off-by: default avatarJennifer L. Zenner <jzenner@codeaurora.org>
parent 9867d2cc
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -212,4 +212,32 @@ config IPA_EMULATION
	help
	  This option is used only when building the X86 version of
	  the IPA/GSI driver. Never set this when building for ARM.

config IPA3_REGDUMP
	bool "Dump or collect IPA/GSI register values on Linux crash"
	depends on IPA3
	help
	  This option is to be used when the saving of IPA/GSI
	  register state is desired upon system crash.

choice
	prompt "Platform whose registers are to be dumped/collected"
	depends on IPA3_REGDUMP

config IPA3_REGDUMP_SM8150
	bool "The sm8150 platform"
	depends on IPA3_REGDUMP
	depends on ARCH_SM8150
	help
	  The sm8150 platform's registers will be dumped/collected.

endchoice

config IPA3_REGDUMP_NUM_EXTRA_ENDP_REGS
	int "The number of extra endp registers for remaining pipes"
	depends on IPA3_REGDUMP
	default 0
	help
	  If the platform has extra endpoint registers for remaining
	  pipes, please express how many here.
endmenu
+2 −1
Original line number Diff line number Diff line
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
/* Copyright (c) 2015-2019, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -2503,6 +2503,7 @@ int gsi_write_channel_scratch3_reg(unsigned long chan_hdl,
	mutex_unlock(&ctx->mlock);
	return GSI_STATUS_SUCCESS;
}
EXPORT_SYMBOL(gsi_write_channel_scratch3_reg);

static void __gsi_read_channel_scratch(unsigned long chan_hdl,
		union __packed gsi_channel_scratch * val)
+4 −0
Original line number Diff line number Diff line
@@ -11,3 +11,7 @@ ipat-$(CONFIG_IPA_EMULATION) += ipa_dt_replacement.o
obj-$(CONFIG_RMNET_IPA3) += rmnet_ipa.o ipa_qmi_service_v01.o ipa_qmi_service.o rmnet_ipa_fd_ioctl.o

obj-$(CONFIG_IPA3_MHI_PROXY) += ipa_mhi_proxy.o

ipat-$(CONFIG_IPA3_REGDUMP) += dump/ipa_reg_dump.o

ccflags-$(CONFIG_IPA3_REGDUMP_SM8150) += -Idrivers/platform/msm/ipa/ipa_v3/dump/sm8150
+1429 −0

File added.

Preview size limit exceeded, changes collapsed.

+1284 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading