qcacmn: Add support for NAN msg in kmsg
Add support for the following NAN messages in kmsg:- 1. NAN enable status 2. NAN, NDP match events 3. NDP channel info. etc. Change-Id: I7f67b67153904b7efe8a708e3f93d069e399395c CRs-Fixed: 2618433
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
|
||||
/*
|
||||
* Copyright (c) 2013-2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2013-2020 The Linux Foundation. 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
|
||||
@@ -111,6 +111,16 @@ wmi_extract_ndp_initiator_rsp(wmi_unified_t wmi_handle, uint8_t *data,
|
||||
QDF_STATUS wmi_extract_ndp_ind(wmi_unified_t wmi_handle, uint8_t *data,
|
||||
struct nan_datapath_indication_event *ind);
|
||||
|
||||
/**
|
||||
* wmi_extract_nan_msg - api to extract ndp dmesg buffer to print logs
|
||||
* @data: event buffer
|
||||
* @msg: buffer to populate
|
||||
*
|
||||
* Return: status of operation
|
||||
*/
|
||||
QDF_STATUS wmi_extract_nan_msg(wmi_unified_t wmi_handle, uint8_t *data,
|
||||
struct nan_dump_msg *msg);
|
||||
|
||||
/**
|
||||
* wmi_extract_ndp_confirm - api to extract ndp confim struct from even buffer
|
||||
* @wmi_hdl: wmi handle
|
||||
|
@@ -4526,6 +4526,7 @@ typedef enum {
|
||||
wmi_ndp_responder_rsp_event_id,
|
||||
wmi_ndp_end_indication_event_id,
|
||||
wmi_ndp_end_rsp_event_id,
|
||||
wmi_nan_dmesg_event_id,
|
||||
wmi_ndl_schedule_update_event_id,
|
||||
wmi_ndp_event_id,
|
||||
wmi_oem_response_event_id,
|
||||
|
@@ -1960,6 +1960,8 @@ QDF_STATUS (*extract_ndp_initiator_rsp)(wmi_unified_t wmi_handle,
|
||||
uint8_t *data, struct nan_datapath_initiator_rsp *rsp);
|
||||
QDF_STATUS (*extract_ndp_ind)(wmi_unified_t wmi_handle,
|
||||
uint8_t *data, struct nan_datapath_indication_event *ind);
|
||||
QDF_STATUS (*extract_nan_msg)(uint8_t *data,
|
||||
struct nan_dump_msg *msg);
|
||||
QDF_STATUS (*extract_ndp_confirm)(wmi_unified_t wmi_handle,
|
||||
uint8_t *data, struct nan_datapath_confirm_event *ev);
|
||||
QDF_STATUS (*extract_ndp_responder_rsp)(wmi_unified_t wmi_handle,
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2013-2020 The Linux Foundation. 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
|
||||
@@ -98,6 +98,16 @@ QDF_STATUS wmi_unified_ndp_end_req_cmd_send(wmi_unified_t wmi_handle,
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
QDF_STATUS wmi_extract_nan_msg(wmi_unified_t wmi_handle,
|
||||
uint8_t *data,
|
||||
struct nan_dump_msg *msg)
|
||||
{
|
||||
if (wmi_handle->ops->extract_nan_msg)
|
||||
return wmi_handle->ops->extract_nan_msg(data, msg);
|
||||
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
QDF_STATUS wmi_extract_ndp_initiator_rsp(wmi_unified_t wmi_handle,
|
||||
uint8_t *data, struct nan_datapath_initiator_rsp *rsp)
|
||||
{
|
||||
|
@@ -1,6 +1,6 @@
|
||||
|
||||
/*
|
||||
* Copyright (c) 2013-2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2013-2020 The Linux Foundation. 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
|
||||
@@ -755,6 +755,29 @@ static QDF_STATUS extract_ndp_initiator_rsp_tlv(wmi_unified_t wmi_handle,
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
#define MAX_NAN_MSG_LEN 200
|
||||
|
||||
static QDF_STATUS extract_nan_msg_tlv(uint8_t *data,
|
||||
struct nan_dump_msg *msg)
|
||||
{
|
||||
WMI_NAN_DMESG_EVENTID_param_tlvs *event;
|
||||
wmi_nan_dmesg_event_fixed_param *fixed_params;
|
||||
|
||||
event = (WMI_NAN_DMESG_EVENTID_param_tlvs *)data;
|
||||
fixed_params = (wmi_nan_dmesg_event_fixed_param *)event->fixed_param;
|
||||
if (!fixed_params->msg_len ||
|
||||
fixed_params->msg_len > MAX_NAN_MSG_LEN ||
|
||||
fixed_params->msg_len > event->num_msg)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
msg->data_len = fixed_params->msg_len;
|
||||
msg->msg = event->msg;
|
||||
|
||||
msg->msg[fixed_params->msg_len - 1] = (uint8_t)'\0';
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static QDF_STATUS extract_ndp_ind_tlv(wmi_unified_t wmi_handle,
|
||||
uint8_t *data, struct nan_datapath_indication_event *rsp)
|
||||
{
|
||||
@@ -1239,6 +1262,7 @@ void wmi_nan_attach_tlv(wmi_unified_t wmi_handle)
|
||||
ops->send_ndp_end_req_cmd = nan_ndp_end_req_tlv;
|
||||
ops->extract_ndp_initiator_rsp = extract_ndp_initiator_rsp_tlv;
|
||||
ops->extract_ndp_ind = extract_ndp_ind_tlv;
|
||||
ops->extract_nan_msg = extract_nan_msg_tlv,
|
||||
ops->extract_ndp_confirm = extract_ndp_confirm_tlv;
|
||||
ops->extract_ndp_responder_rsp = extract_ndp_responder_rsp_tlv;
|
||||
ops->extract_ndp_end_rsp = extract_ndp_end_rsp_tlv;
|
||||
|
@@ -14047,6 +14047,8 @@ static void populate_tlv_events_id(uint32_t *event_ids)
|
||||
event_ids[wmi_oem_data_event_id] = WMI_OEM_DATA_EVENTID;
|
||||
event_ids[wmi_mgmt_offload_data_event_id] =
|
||||
WMI_VDEV_MGMT_OFFLOAD_EVENTID;
|
||||
event_ids[wmi_nan_dmesg_event_id] =
|
||||
WMI_NAN_DMESG_EVENTID;
|
||||
event_ids[wmi_pdev_multi_vdev_restart_response_event_id] =
|
||||
WMI_PDEV_MULTIPLE_VDEV_RESTART_RESP_EVENTID;
|
||||
event_ids[wmi_roam_pmkid_request_event_id] =
|
||||
|
Reference in New Issue
Block a user