Loading config/dataipa.h +8 −2 Original line number Diff line number Diff line /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2020, The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. */ #define CONFIG_GSI 1 Loading @@ -8,3 +9,8 @@ #define CONFIG_RMNET_IPA3 1 #define CONFIG_RNDIS_IPA 1 #define CONFIG_IPA_WDI_UNIFIED_API 1 #define CONFIG_IPA3_REGDUMP 1 #define CONFIG_IPA3_APPS_REGDUMP 1 #define CONFIG_IPA3_REGDUMP_IPA_4_5 1 #define CONFIG_IPA3_4_5_RGSTR 0 #define CONFIG_IPA3_REGDUMP_NUM_EXTRA_ENDP_REGS 0 config/dataipa_GKI.conf +4 −0 Original line number Diff line number Diff line Loading @@ -4,3 +4,7 @@ export CONFIG_IPA_CLIENTS_MANAGER=m export CONFIG_IPA_WDI_UNIFIED_API=y export CONFIG_RMNET_IPA3=y export CONFIG_RNDIS_IPA=m export CONFIG_IPA3_REGDUMP=y export CONFIG_IPA3_APPS_REGDUMP=y export CONFIG_IPA3_REGDUMP_IPA_4_5=y export CONFIG_IPA3_4_5_RGSTR=n config/dataipa_QGKI.conf +4 −0 Original line number Diff line number Diff line Loading @@ -4,3 +4,7 @@ export CONFIG_IPA_CLIENTS_MANAGER=y export CONFIG_IPA_WDI_UNIFIED_API=y export CONFIG_RMNET_IPA3=y export CONFIG_RNDIS_IPA=y export CONFIG_IPA3_REGDUMP=y export CONFIG_IPA3_APPS_REGDUMP=y export CONFIG_IPA3_REGDUMP_IPA_4_5=y export CONFIG_IPA3_4_5_RGSTR=n drivers/platform/msm/gsi/gsi.c +1 −2 Original line number Diff line number Diff line Loading @@ -1482,8 +1482,7 @@ int gsi_deregister_device(unsigned long dev_hdl, bool force) devm_free_irq(gsi_ctx->dev, gsi_ctx->per.irq, gsi_ctx); gsi_unmap_base(); memset(gsi_ctx, 0, sizeof(*gsi_ctx)); gsi_ctx->per_registered = false; return GSI_STATUS_SUCCESS; } EXPORT_SYMBOL(gsi_deregister_device); Loading drivers/platform/msm/ipa/ipa_v3/dump/ipa4.1/ipa_hw_common_ex.h +62 −2 Original line number Diff line number Diff line /* Copyright (c) 2019, 2021, The Linux Foundation. All rights reserved. * * Copyright (c) 2022 Qualcomm Innovation Center, Inc. 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 Loading Loading @@ -412,6 +414,20 @@ enum ipa_hw_irq_srcs_e { */ #define IPA_HW_REG_SAVE_NUM_ACTIVE_PIPES 23 /* * Total number of channel contexts that need to be saved for q6 */ #define IPA_HW_REG_SAVE_GSI_NUM_CH_CNTXT_Q6 11 /* * Total number of event ring contexts that need to be saved for Q6 */ #define IPA_HW_REG_SAVE_GSI_NUM_EVT_CNTXT_Q6 11 /* * Macro to set the active flag for all active pipe indexed register */ Loading Loading @@ -511,7 +527,29 @@ enum ipa_hw_irq_srcs_e { { GEN_2xVECTOR_REG_OFST(reg_name, IPA_REG_SAVE_HWP_GSI_EE, 3), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.uc[3].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_REG_SAVE_HWP_GSI_EE, 4), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.uc[4].var_name } (u32 *)&ipa_reg_save.gsi.ch_cntxt.uc[4].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 0), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[0].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 1), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[1].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 2), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[2].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 3), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[3].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 4), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[4].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 5), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[5].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 6), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[6].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 7), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[7].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 8), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[8].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 9), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[9].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 10), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[10].var_name } #define IPA_REG_SAVE_CFG_ENTRY_GSI_EVT_CNTXT(reg_name, var_name) \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_A7_EE, 0), \ Loading Loading @@ -545,7 +583,29 @@ enum ipa_hw_irq_srcs_e { { GEN_2xVECTOR_REG_OFST(reg_name, IPA_REG_SAVE_HWP_GSI_EE, 2), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.uc[2].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_REG_SAVE_HWP_GSI_EE, 3), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.uc[3].var_name } (u32 *)&ipa_reg_save.gsi.evt_cntxt.uc[3].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 0), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[0].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 1), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[1].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 2), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[2].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 3), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[3].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 4), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[4].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 5), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[5].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 6), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[6].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 7), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[7].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 8), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[8].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 9), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[9].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 10), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[10].var_name } /* * Macro to define a particular register cfg entry for all pipe Loading Loading
config/dataipa.h +8 −2 Original line number Diff line number Diff line /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2020, The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. */ #define CONFIG_GSI 1 Loading @@ -8,3 +9,8 @@ #define CONFIG_RMNET_IPA3 1 #define CONFIG_RNDIS_IPA 1 #define CONFIG_IPA_WDI_UNIFIED_API 1 #define CONFIG_IPA3_REGDUMP 1 #define CONFIG_IPA3_APPS_REGDUMP 1 #define CONFIG_IPA3_REGDUMP_IPA_4_5 1 #define CONFIG_IPA3_4_5_RGSTR 0 #define CONFIG_IPA3_REGDUMP_NUM_EXTRA_ENDP_REGS 0
config/dataipa_GKI.conf +4 −0 Original line number Diff line number Diff line Loading @@ -4,3 +4,7 @@ export CONFIG_IPA_CLIENTS_MANAGER=m export CONFIG_IPA_WDI_UNIFIED_API=y export CONFIG_RMNET_IPA3=y export CONFIG_RNDIS_IPA=m export CONFIG_IPA3_REGDUMP=y export CONFIG_IPA3_APPS_REGDUMP=y export CONFIG_IPA3_REGDUMP_IPA_4_5=y export CONFIG_IPA3_4_5_RGSTR=n
config/dataipa_QGKI.conf +4 −0 Original line number Diff line number Diff line Loading @@ -4,3 +4,7 @@ export CONFIG_IPA_CLIENTS_MANAGER=y export CONFIG_IPA_WDI_UNIFIED_API=y export CONFIG_RMNET_IPA3=y export CONFIG_RNDIS_IPA=y export CONFIG_IPA3_REGDUMP=y export CONFIG_IPA3_APPS_REGDUMP=y export CONFIG_IPA3_REGDUMP_IPA_4_5=y export CONFIG_IPA3_4_5_RGSTR=n
drivers/platform/msm/gsi/gsi.c +1 −2 Original line number Diff line number Diff line Loading @@ -1482,8 +1482,7 @@ int gsi_deregister_device(unsigned long dev_hdl, bool force) devm_free_irq(gsi_ctx->dev, gsi_ctx->per.irq, gsi_ctx); gsi_unmap_base(); memset(gsi_ctx, 0, sizeof(*gsi_ctx)); gsi_ctx->per_registered = false; return GSI_STATUS_SUCCESS; } EXPORT_SYMBOL(gsi_deregister_device); Loading
drivers/platform/msm/ipa/ipa_v3/dump/ipa4.1/ipa_hw_common_ex.h +62 −2 Original line number Diff line number Diff line /* Copyright (c) 2019, 2021, The Linux Foundation. All rights reserved. * * Copyright (c) 2022 Qualcomm Innovation Center, Inc. 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 Loading Loading @@ -412,6 +414,20 @@ enum ipa_hw_irq_srcs_e { */ #define IPA_HW_REG_SAVE_NUM_ACTIVE_PIPES 23 /* * Total number of channel contexts that need to be saved for q6 */ #define IPA_HW_REG_SAVE_GSI_NUM_CH_CNTXT_Q6 11 /* * Total number of event ring contexts that need to be saved for Q6 */ #define IPA_HW_REG_SAVE_GSI_NUM_EVT_CNTXT_Q6 11 /* * Macro to set the active flag for all active pipe indexed register */ Loading Loading @@ -511,7 +527,29 @@ enum ipa_hw_irq_srcs_e { { GEN_2xVECTOR_REG_OFST(reg_name, IPA_REG_SAVE_HWP_GSI_EE, 3), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.uc[3].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_REG_SAVE_HWP_GSI_EE, 4), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.uc[4].var_name } (u32 *)&ipa_reg_save.gsi.ch_cntxt.uc[4].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 0), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[0].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 1), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[1].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 2), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[2].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 3), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[3].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 4), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[4].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 5), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[5].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 6), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[6].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 7), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[7].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 8), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[8].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 9), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[9].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 10), \ (u32 *)&ipa_reg_save.gsi.ch_cntxt.q6[10].var_name } #define IPA_REG_SAVE_CFG_ENTRY_GSI_EVT_CNTXT(reg_name, var_name) \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_A7_EE, 0), \ Loading Loading @@ -545,7 +583,29 @@ enum ipa_hw_irq_srcs_e { { GEN_2xVECTOR_REG_OFST(reg_name, IPA_REG_SAVE_HWP_GSI_EE, 2), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.uc[2].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_REG_SAVE_HWP_GSI_EE, 3), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.uc[3].var_name } (u32 *)&ipa_reg_save.gsi.evt_cntxt.uc[3].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 0), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[0].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 1), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[1].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 2), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[2].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 3), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[3].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 4), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[4].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 5), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[5].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 6), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[6].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 7), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[7].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 8), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[8].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 9), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[9].var_name }, \ { GEN_2xVECTOR_REG_OFST(reg_name, IPA_HW_Q6_EE, 10), \ (u32 *)&ipa_reg_save.gsi.evt_cntxt.q6[10].var_name } /* * Macro to define a particular register cfg entry for all pipe Loading