Messages in this thread | | | Date | Fri, 14 Apr 2023 12:35:00 +0530 | Subject | Re: [PATCH v2 2/6] remoteproc: qcom: Move minidump specific data to qcom_minidump.h | From | Mukesh Ojha <> |
| |
Thanks again for coming back on this.
On 4/14/2023 4:02 AM, Srinivas Kandagatla wrote: > > > On 22/03/2023 13:30, Mukesh Ojha wrote: >> Move minidump specific data types and macros to a separate internal >> header(qcom_minidump.h) so that it can be shared among different > > minidump.h should be good as we are already in include/soc/qcom/
Initially, i wanted to protect the content of qcom_minidump.h between qcom_minidump.c and qcom_common.c
Ideally, here qcom_minidump.h should be supplier/provider header and can be shared among above qcom_minidump.c and qcom_common.c but since they are not in same directory, moved it inside include/soc/qcom/ as separate header than consumer header minidump.h .
-Mukesh > > --srini > >> Qualcomm drivers. >> >> There is no change in functional behavior after this. >> >> Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com> >> --- >> drivers/remoteproc/qcom_common.c | 56 >> +--------------------------------- >> include/soc/qcom/qcom_minidump.h | 66 >> ++++++++++++++++++++++++++++++++++++++++ >> 2 files changed, 67 insertions(+), 55 deletions(-) >> create mode 100644 include/soc/qcom/qcom_minidump.h >> >> diff --git a/drivers/remoteproc/qcom_common.c >> b/drivers/remoteproc/qcom_common.c >> index 805e525..88fc984 100644 >> --- a/drivers/remoteproc/qcom_common.c >> +++ b/drivers/remoteproc/qcom_common.c >> @@ -18,6 +18,7 @@ >> #include <linux/slab.h> >> #include <linux/soc/qcom/mdt_loader.h> >> #include <linux/soc/qcom/smem.h> >> +#include <soc/qcom/qcom_minidump.h> >> #include "remoteproc_internal.h" >> #include "qcom_common.h" >> @@ -26,61 +27,6 @@ >> #define to_smd_subdev(d) container_of(d, struct qcom_rproc_subdev, >> subdev) >> #define to_ssr_subdev(d) container_of(d, struct qcom_rproc_ssr, subdev) >> -#define MAX_NUM_OF_SS 10 >> -#define MAX_REGION_NAME_LENGTH 16 >> -#define SBL_MINIDUMP_SMEM_ID 602 >> -#define MINIDUMP_REGION_VALID ('V' << 24 | 'A' << 16 | 'L' << >> 8 | 'I' << 0) >> -#define MINIDUMP_SS_ENCR_DONE ('D' << 24 | 'O' << 16 | 'N' << >> 8 | 'E' << 0) >> -#define MINIDUMP_SS_ENABLED ('E' << 24 | 'N' << 16 | 'B' << 8 >> | 'L' << 0) >> - >> -/** >> - * struct minidump_region - Minidump region >> - * @name : Name of the region to be dumped >> - * @seq_num: : Use to differentiate regions with same name. >> - * @valid : This entry to be dumped (if set to 1) >> - * @address : Physical address of region to be dumped >> - * @size : Size of the region >> - */ >> -struct minidump_region { >> - char name[MAX_REGION_NAME_LENGTH]; >> - __le32 seq_num; >> - __le32 valid; >> - __le64 address; >> - __le64 size; >> -}; >> - >> -/** >> - * struct minidump_subsystem - Subsystem's SMEM Table of content >> - * @status : Subsystem toc init status >> - * @enabled : if set to 1, this region would be copied during coredump >> - * @encryption_status: Encryption status for this subsystem >> - * @encryption_required : Decides to encrypt the subsystem regions or >> not >> - * @region_count : Number of regions added in this subsystem toc >> - * @regions_baseptr : regions base pointer of the subsystem >> - */ >> -struct minidump_subsystem { >> - __le32 status; >> - __le32 enabled; >> - __le32 encryption_status; >> - __le32 encryption_required; >> - __le32 region_count; >> - __le64 regions_baseptr; >> -}; >> - >> -/** >> - * struct minidump_global_toc - Global Table of Content >> - * @status : Global Minidump init status >> - * @md_revision : Minidump revision >> - * @enabled : Minidump enable status >> - * @subsystems : Array of subsystems toc >> - */ >> -struct minidump_global_toc { >> - __le32 status; >> - __le32 md_revision; >> - __le32 enabled; >> - struct minidump_subsystem subsystems[MAX_NUM_OF_SS]; >> -}; >> - >> struct qcom_ssr_subsystem { >> const char *name; >> struct srcu_notifier_head notifier_list; >> diff --git a/include/soc/qcom/qcom_minidump.h >> b/include/soc/qcom/qcom_minidump.h >> new file mode 100644 >> index 0000000..84c8605 >> --- /dev/null >> +++ b/include/soc/qcom/qcom_minidump.h >> @@ -0,0 +1,66 @@ >> +/* SPDX-License-Identifier: GPL-2.0-only */ >> +/* >> + * Qualcomm minidump shared data structures and macros >> + * >> + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights >> reserved. >> + */ >> + >> +#ifndef _QCOM_MINIDUMP_H_ >> +#define _QCOM_MINIDUMP_H_ >> + >> +#define MAX_NUM_OF_SS 10 >> +#define MAX_REGION_NAME_LENGTH 16 >> +#define SBL_MINIDUMP_SMEM_ID 602 >> +#define MINIDUMP_REGION_VALID ('V' << 24 | 'A' << 16 | 'L' << >> 8 | 'I' << 0) >> +#define MINIDUMP_SS_ENCR_DONE ('D' << 24 | 'O' << 16 | 'N' << >> 8 | 'E' << 0) >> +#define MINIDUMP_SS_ENABLED ('E' << 24 | 'N' << 16 | 'B' << 8 >> | 'L' << 0) >> + >> +/** >> + * struct minidump_region - Minidump region >> + * @name : Name of the region to be dumped >> + * @seq_num: : Use to differentiate regions with same name. >> + * @valid : This entry to be dumped (if set to 1) >> + * @address : Physical address of region to be dumped >> + * @size : Size of the region >> + */ >> +struct minidump_region { >> + char name[MAX_REGION_NAME_LENGTH]; >> + __le32 seq_num; >> + __le32 valid; >> + __le64 address; >> + __le64 size; >> +}; >> + >> +/** >> + * struct minidump_subsystem - Subsystem's SMEM Table of content >> + * @status : Subsystem toc init status >> + * @enabled : if set to 1, this region would be copied during coredump >> + * @encryption_status: Encryption status for this subsystem >> + * @encryption_required : Decides to encrypt the subsystem regions or >> not >> + * @region_count : Number of regions added in this subsystem toc >> + * @regions_baseptr : regions base pointer of the subsystem >> + */ >> +struct minidump_subsystem { >> + __le32 status; >> + __le32 enabled; >> + __le32 encryption_status; >> + __le32 encryption_required; >> + __le32 region_count; >> + __le64 regions_baseptr; >> +}; >> + >> +/** >> + * struct minidump_global_toc - Global Table of Content >> + * @status : Global Minidump init status >> + * @md_revision : Minidump revision >> + * @enabled : Minidump enable status >> + * @subsystems : Array of subsystems toc >> + */ >> +struct minidump_global_toc { >> + __le32 status; >> + __le32 md_revision; >> + __le32 enabled; >> + struct minidump_subsystem subsystems[MAX_NUM_OF_SS]; >> +}; >> + >> +#endif /* _QCOM_MINIDUMP_H_ */
| |