Browse Source

cnss2: Create new driver ops for SSR Dump Collection

Create new driver ops for SSR Dump Collection.

Change-Id: I26b429ee3eba9e4d3125c0b9650c0801771816f2
CRs-Fixed: 3352309
Alan Chen 2 years ago
parent
commit
f12f76a73f
1 changed files with 13 additions and 1 deletions
  1. 13 1
      inc/cnss2.h

+ 13 - 1
inc/cnss2.h

@@ -1,7 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #ifndef _NET_CNSS2_H
@@ -21,6 +21,8 @@
  */
 #define CNSS_API_WITH_DEV
 
+#define CNSS_SSR_DRIVER_DUMP_MAX_REGIONS 32
+
 enum cnss_bus_width_type {
 	CNSS_BUS_WIDTH_NONE,
 	CNSS_BUS_WIDTH_IDLE,
@@ -122,6 +124,13 @@ struct cnss_uevent_data {
 	void *data;
 };
 
+struct cnss_ssr_driver_dump_entry {
+	char region_name[CNSS_SSR_DRIVER_DUMP_MAX_REGIONS];
+	void *buffer_pointer;
+	size_t buffer_size;
+};
+
+
 struct cnss_wlan_driver {
 	char *name;
 	int  (*probe)(struct pci_dev *pdev, const struct pci_device_id *id);
@@ -144,6 +153,9 @@ struct cnss_wlan_driver {
 	const struct pci_device_id *id_table;
 	u32 chip_version;
 	enum cnss_driver_mode (*get_driver_mode)(void);
+	int (*collect_driver_dump)(struct pci_dev *pdev,
+				   struct cnss_ssr_driver_dump_entry *input_array,
+				   size_t *num_entries_loaded);
 };
 
 struct cnss_ce_tgt_pipe_cfg {