qcacld-3.0: Add new sys node for logging config

As part of new requirement for coex logging, add new sys node to
send the coex logging configuration command to firmware.

Change-Id: I9d5a42d382cd14e4520eb16a924bdc32d160ef05
CRs-Fixed: 3613443
Dieser Commit ist enthalten in:
Rahul Gusain
2023-09-21 16:42:30 +05:30
committet von Rahul Choudhary
Ursprung 5dad988465
Commit 99408bd7da
3 geänderte Dateien mit 234 neuen und 2 gelöschten Zeilen

Datei anzeigen

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2020, 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.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -109,6 +109,17 @@ ucfg_coex_psoc_get_btc_chain_mode(struct wlan_objmgr_psoc *psoc,
QDF_STATUS
ucfg_coex_send_btc_chain_mode(struct wlan_objmgr_vdev *vdev,
enum coex_btc_chain_mode mode);
/**
* ucfg_coex_send_logging_config() - API to send BT coex logging config to
* target if
* @psoc: pointer to psoc object
* @apps_args: pointer to argument
*
* Return : status of operation
*/
QDF_STATUS
ucfg_coex_send_logging_config(struct wlan_objmgr_psoc *psoc,
uint32_t *apps_args);
#else
static inline QDF_STATUS
ucfg_coex_register_cfg_updated_handler(struct wlan_objmgr_psoc *psoc,
@@ -134,6 +145,13 @@ ucfg_coex_send_btc_chain_mode(struct wlan_objmgr_vdev *vdev,
{
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS
ucfg_coex_send_logging_config(struct wlan_objmgr_psoc *psoc,
uint32_t *apps_args)
{
return QDF_STATUS_E_NOSUPPORT;
}
#endif
#ifdef WLAN_FEATURE_DBAM_CONFIG
/**

Datei anzeigen

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2020, 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.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -116,3 +116,39 @@ ucfg_coex_send_dbam_config(struct wlan_objmgr_vdev *vdev,
return wlan_dbam_config_send(vdev, param);
}
#endif
#define COEX_CONFIG_ENABLE_CONT_INFO 12
QDF_STATUS
ucfg_coex_send_logging_config(struct wlan_objmgr_psoc *psoc,
uint32_t *apps_args)
{
struct coex_config_params param = {0};
struct wlan_objmgr_vdev *vdev;
QDF_STATUS status;
if (apps_args[0] != COEX_CONFIG_ENABLE_CONT_INFO) {
coex_err("invalid cmd %d", apps_args);
return QDF_STATUS_E_FAILURE;
}
vdev = wlan_objmgr_get_vdev_by_opmode_from_psoc(psoc, QDF_STA_MODE,
WLAN_COEX_ID);
param.vdev_id = wlan_vdev_get_id(vdev);
param.config_type = WMI_COEX_CONFIG_ENABLE_CONT_INFO;
param.config_arg1 = apps_args[1];
param.config_arg2 = apps_args[2];
param.config_arg3 = apps_args[3];
param.config_arg4 = apps_args[4];
param.config_arg5 = apps_args[5];
param.config_arg6 = apps_args[6];
coex_debug("send logging_config arg: %d for vdev %d", apps_args,
param.vdev_id);
status = wlan_coex_config_send(vdev, &param);
wlan_objmgr_vdev_release_ref(vdev, WLAN_COEX_ID);
return status;
}