Re: [PATCH v2 2/6] remoteproc: qcom: Move minidump specific data to qcom_minidump.h

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxx>
---
  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_ */



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux