
Current code does not have functionality to collect host driver logs upon SSR. Fix this by adding host log collection API for SSR case. Change-Id: I2bb848e59ad87da52446fcb8d18367c1b0768cf9 CRs-Fixed: 3339916
119 行
3.7 KiB
C
119 行
3.7 KiB
C
/*
|
|
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
*
|
|
* Permission to use, copy, modify, and/or distribute this software for any
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
* copyright notice and this permission notice appear in all copies.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
*/
|
|
|
|
#ifndef _QDF_SSR_DRIVER_DUMP_H_
|
|
#define _QDF_SSR_DRIVER_DUMP_H_
|
|
|
|
#include <qdf_types.h>
|
|
|
|
#ifdef WLAN_FEATURE_SSR_DRIVER_DUMP
|
|
#include "i_qdf_ssr_driver_dump.h"
|
|
|
|
typedef __qdf_ssr_driver_dump_entry qdf_ssr_driver_dump_entry;
|
|
|
|
/**
|
|
* qdf_ssr_driver_dump_init() - Initialize the dump collection API.
|
|
*
|
|
* Return:
|
|
* QDF_STATUS_SUCCESS - Initialization was successful
|
|
* else - Error initializing mutex
|
|
*/
|
|
QDF_STATUS qdf_ssr_driver_dump_init(void);
|
|
|
|
/*
|
|
* qdf_ssr_driver_dump_deinit() - Deinitialize the dump collection API.
|
|
*
|
|
* Return:
|
|
* QDF_STATUS_SUCCESS - Deinitialization was successful
|
|
* else - Error destroying mutex
|
|
*/
|
|
QDF_STATUS qdf_ssr_driver_dump_deinit(void);
|
|
|
|
/*
|
|
* qdf_ssr_driver_dump_register_region() - Add a region to the entry list
|
|
* @region_name: name of region to be registered
|
|
* @region_buffer: pointer to region
|
|
* @region_size: size of region in bytes
|
|
*
|
|
* Return:
|
|
* QDF_STATUS_SUCCESS - Region registration successful
|
|
* QDF_STATUS_E_NULL_VALUE - Null pointers provided.
|
|
* QDF_STATUS_E_RESOURCES - Error acquiring/releasing mutex
|
|
* QDF_STATUS_E_INVAL - Duplicate region registration
|
|
* QDF_STATUS_E_NOMEM - Not enough space for another region
|
|
*/
|
|
QDF_STATUS
|
|
qdf_ssr_driver_dump_register_region(char *region_name, void *region_buffer,
|
|
size_t region_size);
|
|
|
|
/*
|
|
* qdf_ssr_driver_dump_unregister_region() - Add a client to the entry list
|
|
* @region_name: name of region to be unregistered
|
|
*
|
|
* Return:
|
|
* QDF_STATUS_SUCCESS - Region unregistration successful
|
|
* QDF_STATUS_E_NULL_VALUE - Null pointer provided.
|
|
* QDF_STATUS_E_RESOURCES - Error acquiring/releasing mutex
|
|
* QDF_STATUS_E_INVAL - Region not found
|
|
*/
|
|
QDF_STATUS qdf_ssr_driver_dump_unregister_region(char *region_name);
|
|
|
|
/*
|
|
* qdf_ssr_driver_dump_retrieve_regions() - Retrieve list of clients
|
|
* @input_array: pointer to an array of cnss_ssr_driver_dump_entry, which
|
|
* will be filled with registered clients by this function.
|
|
* @num_entries_retrieved: pointer to a variable which will be filled with
|
|
* number of regions added.
|
|
*
|
|
* Return:
|
|
* QDF_STATUS_SUCCESS - Region retrieval successful
|
|
* QDF_STATUS_E_NULL_VALUE - Null pointers provided
|
|
* QDF_STATUS_E_INVAL - Error retrieving regions
|
|
* QDF_STATUS_E_RESOURCES - Error acquiring/releasing mutex
|
|
*/
|
|
QDF_STATUS
|
|
qdf_ssr_driver_dump_retrieve_regions(qdf_ssr_driver_dump_entry *input_array,
|
|
size_t *num_entries_retrieved);
|
|
#else
|
|
|
|
static inline QDF_STATUS
|
|
qdf_ssr_driver_dump_init(void)
|
|
{
|
|
return QDF_STATUS_SUCCESS;
|
|
}
|
|
|
|
static inline QDF_STATUS
|
|
qdf_ssr_driver_dump_deinit(void)
|
|
{
|
|
return QDF_STATUS_SUCCESS;
|
|
}
|
|
|
|
static inline QDF_STATUS
|
|
qdf_ssr_driver_dump_register_region(char *region_name, void *region_buffer,
|
|
size_t region_size)
|
|
{
|
|
return QDF_STATUS_SUCCESS;
|
|
}
|
|
|
|
static inline QDF_STATUS
|
|
qdf_ssr_driver_dump_unregister_region(char *region_name)
|
|
{
|
|
return QDF_STATUS_SUCCESS;
|
|
}
|
|
|
|
#endif /* #ifdef WLAN_FEATURE_SSR_DRIVER_DUMP */
|
|
#endif
|