qcacmn: Add wmi wrapper function for mtrace logging
For qdf_mtrace 15 bits are reserved for message id and currently WMI message IDs are getting used as 32 bit IDs. Write a wrapper function which accepts 32 bit message IDs and converts this 32 bit message id to 15 bit by extracting WMI_GRP_ID and WMI_MESSAGE_ID in that group. New 15 bit message ID for qdf_mtrace will be constucted as 8 bits (From LSB) specifies the WMI_GRP_ID and remaining 7 bits specifies the actual WMI command. With this notation there can be maximum 256 groups and each group can have max 128 commands which can be supported. Change-Id: Ia5adfc079b63c2311bdc8ae4c73488d89afd462f CRs-Fixed: 2298877
Tento commit je obsažen v:

odevzdal
nshrivas

rodič
89921da033
revize
308f575884
@@ -40,6 +40,20 @@
|
||||
|
||||
#define QDF_TRACE_BUFFER_SIZE (512)
|
||||
|
||||
/*
|
||||
* Extracts the 8-bit group id from the wmi command id by performing the
|
||||
* reverse operation of WMI_CMD_GRP_START_ID
|
||||
*/
|
||||
#define QDF_WMI_MTRACE_GRP_ID(message_id) (((message_id) >> 12) & 0xFF)
|
||||
/*
|
||||
* Number of bits reserved for WMI mtrace command id
|
||||
*/
|
||||
#define QDF_WMI_MTRACE_CMD_NUM_BITS 7
|
||||
/*
|
||||
* Extracts the 7-bit group specific command id from the wmi command id
|
||||
*/
|
||||
#define QDF_WMI_MTRACE_CMD_ID(message_id) ((message_id) & 0x7F)
|
||||
|
||||
#ifdef CONFIG_MCL
|
||||
#define QDF_DEFAULT_TRACE_LEVEL \
|
||||
((1 << QDF_TRACE_LEVEL_FATAL) | (1 << QDF_TRACE_LEVEL_ERROR))
|
||||
|
@@ -143,6 +143,33 @@ static inline void copy_vdev_create_pdev_id(
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* wmi_mtrace() - Wrappper function for qdf_mtrace api
|
||||
* @message_id: 32-Bit Wmi message ID
|
||||
* @vdev_id: Vdev ID
|
||||
* @data: Actual message contents
|
||||
*
|
||||
* This function converts the 32-bit WMI message ID in 15-bit message ID
|
||||
* format for qdf_mtrace as in qdf_mtrace message there are only 15
|
||||
* bits reserved for message ID.
|
||||
* out of these 15-bits, 8-bits (From MSB) specifies the WMI_GRP_ID
|
||||
* and remaining 7-bits specifies the actual WMI command. With this
|
||||
* notation there can be maximum 256 groups and each group can have
|
||||
* max 128 commands can be supported.
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static void wmi_mtrace(uint32_t message_id, uint16_t vdev_id, uint32_t data)
|
||||
{
|
||||
uint16_t mtrace_message_id;
|
||||
|
||||
mtrace_message_id = QDF_WMI_MTRACE_CMD_ID(message_id) |
|
||||
(QDF_WMI_MTRACE_GRP_ID(message_id) <<
|
||||
QDF_WMI_MTRACE_CMD_NUM_BITS);
|
||||
qdf_mtrace(QDF_MODULE_ID_WMI, QDF_MODULE_ID_TARGET,
|
||||
mtrace_message_id, vdev_id, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* send_vdev_create_cmd_tlv() - send VDEV create command to fw
|
||||
* @wmi_handle: wmi handle
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele