[PATCH] ath10k: Make fw stats prints specific to firmware version
Kalle Valo
kvalo at qca.qualcomm.com
Wed Aug 19 04:20:39 PDT 2015
Manikanta Pubbisetty <c_mpubbi at qti.qualcomm.com> writes:
> Currently fw stats printing in ath10k is common to all firmware
> versions. Eventually we end up printing the stats which are not
> intended to be printed. For example, we might print stats of 10.2.4
> in 10.2, additional stats will have the value of zeros and this
> might lead to confusion.
>
> The patch makes debug stats prints fw specific by adding a new member
> in wmi_ops.
>
> Signed-off-by: Manikanta Pubbisetty <c_mpubbi at qti.qualcomm.com>
kbuild found quite a few warnings:
>> drivers/built-in.o:(.rodata+0x7ca10): undefined reference to `ath10k_debug_10x_fw_stats_fill'
drivers/built-in.o:(.rodata+0x7cb30): undefined reference to `ath10k_debug_10x_fw_stats_fill'
drivers/built-in.o:(.rodata+0x7cc50): undefined reference to `ath10k_debug_10x_fw_stats_fill'
>> drivers/built-in.o:(.rodata+0x7cd70): undefined reference to `ath10k_debug_fw_stats_fill'
drivers/built-in.o:(.rodata+0x7ced0): undefined reference to `ath10k_debug_fw_stats_fill'
drivers/net/wireless/ath/ath10k/debug.c: In function 'ath10k_debug_fw_pdev_base_stats_fill':
>> drivers/net/wireless/ath/ath10k/debug.c:2045:16: error: 'ATH10K_FW_STATS_BUF_SIZE' undeclared (first use in this function)
int buf_len = ATH10K_FW_STATS_BUF_SIZE;
^
drivers/net/wireless/ath/ath10k/debug.c:2045:16: note: each undeclared identifier is reported only once for each function it appears in
drivers/net/wireless/ath/ath10k/debug.c: In function 'ath10k_debug_fw_pdev_extra_stats_fill':
drivers/net/wireless/ath/ath10k/debug.c:2076:16: error: 'ATH10K_FW_STATS_BUF_SIZE' undeclared (first use in this function)
int buf_len = ATH10K_FW_STATS_BUF_SIZE;
^
drivers/net/wireless/ath/ath10k/debug.c: In function 'ath10k_debug_fw_pdev_tx_stats_fill':
drivers/net/wireless/ath/ath10k/debug.c:2098:16: error: 'ATH10K_FW_STATS_BUF_SIZE' undeclared (first use in this function)
int buf_len = ATH10K_FW_STATS_BUF_SIZE;
^
drivers/net/wireless/ath/ath10k/debug.c: In function 'ath10k_debug_fw_pdev_rx_stats_fill':
drivers/net/wireless/ath/ath10k/debug.c:2159:16: error: 'ATH10K_FW_STATS_BUF_SIZE' undeclared (first use in this function)
int buf_len = ATH10K_FW_STATS_BUF_SIZE;
^
drivers/net/wireless/ath/ath10k/debug.c: In function 'ath10k_debug_fw_vdev_stats_fill_common':
drivers/net/wireless/ath/ath10k/debug.c:2203:16: error: 'ATH10K_FW_STATS_BUF_SIZE' undeclared (first use in this function)
int buf_len = ATH10K_FW_STATS_BUF_SIZE;
^
drivers/net/wireless/ath/ath10k/debug.c: In function 'ath10k_debug_fw_peer_stats_fill_common':
drivers/net/wireless/ath/ath10k/debug.c:2264:16: error: 'ATH10K_FW_STATS_BUF_SIZE' undeclared (first use in this function)
int buf_len = ATH10K_FW_STATS_BUF_SIZE;
^
drivers/net/wireless/ath/ath10k/debug.c: At top level:
>> drivers/net/wireless/ath/ath10k/debug.c:2278:6: error: redefinition of 'ath10k_debug_fw_stats_fill'
void ath10k_debug_fw_stats_fill(struct ath10k *ar,
^
In file included from drivers/net/wireless/ath/ath10k/debug.c:24:0:
drivers/net/wireless/ath/ath10k/debug.h:138:1: note: previous definition of 'ath10k_debug_fw_stats_fill' was here
ath10k_debug_fw_stats_fill(struct ath10k *ar,
^
drivers/net/wireless/ath/ath10k/debug.c: In function 'ath10k_debug_fw_stats_fill':
drivers/net/wireless/ath/ath10k/debug.c:2283:16: error: 'ATH10K_FW_STATS_BUF_SIZE' undeclared (first use in this function)
int buf_len = ATH10K_FW_STATS_BUF_SIZE;
^
>> drivers/net/wireless/ath/ath10k/debug.c:2299:2: error: implicit declaration of function 'ath10k_debug_fw_stats_num_peers' [-Werror=implicit-function-declaration]
num_peers = ath10k_debug_fw_stats_num_peers(&fw_stats->peers);
^
>> drivers/net/wireless/ath/ath10k/debug.c:2300:2: error: implicit declaration of function 'ath10k_debug_fw_stats_num_vdevs' [-Werror=implicit-function-declaration]
num_vdevs = ath10k_debug_fw_stats_num_vdevs(&fw_stats->vdevs);
^
drivers/net/wireless/ath/ath10k/debug.c: At top level:
>> drivers/net/wireless/ath/ath10k/debug.c:2335:6: error: redefinition of 'ath10k_debug_10x_fw_stats_fill'
void ath10k_debug_10x_fw_stats_fill(struct ath10k *ar,
^
In file included from drivers/net/wireless/ath/ath10k/debug.c:24:0:
drivers/net/wireless/ath/ath10k/debug.h:145:1: note: previous definition of 'ath10k_debug_10x_fw_stats_fill' was here
ath10k_debug_10x_fw_stats_fill(struct ath10k *ar,
^
drivers/net/wireless/ath/ath10k/debug.c: In function 'ath10k_debug_10x_fw_stats_fill':
drivers/net/wireless/ath/ath10k/debug.c:2340:25: error: 'ATH10K_FW_STATS_BUF_SIZE' undeclared (first use in this function)
unsigned int buf_len = ATH10K_FW_STATS_BUF_SIZE;
^
cc1: some warnings being treated as errors
> --- a/drivers/net/wireless/ath/ath10k/wmi.c
> +++ b/drivers/net/wireless/ath/ath10k/wmi.c
> @@ -6225,6 +6225,7 @@ static const struct wmi_ops wmi_ops = {
> .gen_addba_send = ath10k_wmi_op_gen_addba_send,
> .gen_addba_set_resp = ath10k_wmi_op_gen_addba_set_resp,
> .gen_delba_send = ath10k_wmi_op_gen_delba_send,
> + .fw_stats_fill = ath10k_debug_fw_stats_fill,
> /* .gen_bcn_tmpl not implemented */
> /* .gen_prb_tmpl not implemented */
> /* .gen_p2p_go_bcn_ie not implemented */
> @@ -6289,6 +6290,7 @@ static const struct wmi_ops wmi_10_1_ops = {
> .gen_addba_send = ath10k_wmi_op_gen_addba_send,
> .gen_addba_set_resp = ath10k_wmi_op_gen_addba_set_resp,
> .gen_delba_send = ath10k_wmi_op_gen_delba_send,
> + .fw_stats_fill = ath10k_debug_10x_fw_stats_fill,
> /* .gen_bcn_tmpl not implemented */
> /* .gen_prb_tmpl not implemented */
> /* .gen_p2p_go_bcn_ie not implemented */
> @@ -6354,6 +6356,7 @@ static const struct wmi_ops wmi_10_2_ops = {
> .gen_addba_send = ath10k_wmi_op_gen_addba_send,
> .gen_addba_set_resp = ath10k_wmi_op_gen_addba_set_resp,
> .gen_delba_send = ath10k_wmi_op_gen_delba_send,
> + .fw_stats_fill = ath10k_debug_10x_fw_stats_fill,
> };
>
> static const struct wmi_ops wmi_10_2_4_ops = {
> @@ -6414,6 +6417,7 @@ static const struct wmi_ops wmi_10_2_4_ops = {
> .gen_addba_send = ath10k_wmi_op_gen_addba_send,
> .gen_addba_set_resp = ath10k_wmi_op_gen_addba_set_resp,
> .gen_delba_send = ath10k_wmi_op_gen_delba_send,
> + .fw_stats_fill = ath10k_debug_10x_fw_stats_fill,
> /* .gen_bcn_tmpl not implemented */
> /* .gen_prb_tmpl not implemented */
> /* .gen_p2p_go_bcn_ie not implemented */
I don't really like the idea of wmi_ops directly pointing to debug.c.
What if all the filler functions would be moved to corresponding wmi*.c
files instead (and renamed to ath10k_wmi_*_fw_stats_fill)?
--
Kalle Valo
More information about the ath10k
mailing list