Messages in this thread | | | Date | Thu, 13 Apr 2023 23:32:06 +0100 | Subject | Re: [PATCH v2 2/6] remoteproc: qcom: Move minidump specific data to qcom_minidump.h | From | Srinivas Kandagatla <> |
| |
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/
--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_ */
| |