Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit acfe7ecf authored by Michal Kazior's avatar Michal Kazior Committed by Kalle Valo
Browse files

ath10k: make wmi service bitmap non-debug



The service bitmap can be used to determine
firmware capabilities.

Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 37b9f933
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -123,6 +123,7 @@ struct ath10k_wmi {
	struct completion service_ready;
	struct completion unified_ready;
	wait_queue_head_t tx_credits_wq;
	DECLARE_BITMAP(svc_map, WMI_SERVICE_MAX);
	struct wmi_cmd_map *cmd;
	struct wmi_vdev_param_map *vdev_param;
	struct wmi_pdev_param_map *pdev_param;
@@ -313,7 +314,6 @@ struct ath10k_debug {
	struct ath10k_fw_stats fw_stats;
	struct completion fw_stats_complete;
	bool fw_stats_done;
	DECLARE_BITMAP(wmi_service_bitmap, WMI_SERVICE_MAX);

	unsigned long htt_stats_mask;
	struct delayed_work htt_stats_dwork;
+3 −8
Original line number Diff line number Diff line
@@ -179,13 +179,6 @@ EXPORT_SYMBOL(ath10k_warn);

#ifdef CONFIG_ATH10K_DEBUGFS

void ath10k_debug_read_service_map(struct ath10k *ar,
				   const void *service_map,
				   size_t map_size)
{
	memcpy(ar->debug.wmi_service_bitmap, service_map, map_size);
}

static ssize_t ath10k_read_wmi_services(struct file *file,
					char __user *user_buf,
					size_t count, loff_t *ppos)
@@ -207,8 +200,9 @@ static ssize_t ath10k_read_wmi_services(struct file *file,
	if (len > buf_len)
		len = buf_len;

	spin_lock_bh(&ar->data_lock);
	for (i = 0; i < WMI_SERVICE_MAX; i++) {
		enabled = test_bit(i, ar->debug.wmi_service_bitmap);
		enabled = test_bit(i, ar->wmi.svc_map);
		name = wmi_service_name(i);

		if (!name) {
@@ -224,6 +218,7 @@ static ssize_t ath10k_read_wmi_services(struct file *file,
				 "%-40s %s\n",
				 name, enabled ? "enabled" : "-");
	}
	spin_unlock_bh(&ar->data_lock);

	ret_cnt = simple_read_from_buffer(user_buf, count, ppos, buf, len);

+0 −9
Original line number Diff line number Diff line
@@ -62,9 +62,6 @@ int ath10k_debug_create(struct ath10k *ar);
void ath10k_debug_destroy(struct ath10k *ar);
int ath10k_debug_register(struct ath10k *ar);
void ath10k_debug_unregister(struct ath10k *ar);
void ath10k_debug_read_service_map(struct ath10k *ar,
				   const void *service_map,
				   size_t map_size);
void ath10k_debug_fw_stats_process(struct ath10k *ar, struct sk_buff *skb);
struct ath10k_fw_crash_data *
ath10k_debug_get_new_fw_crash_data(struct ath10k *ar);
@@ -109,12 +106,6 @@ static inline void ath10k_debug_unregister(struct ath10k *ar)
{
}

static inline void ath10k_debug_read_service_map(struct ath10k *ar,
						 const void *service_map,
						 size_t map_size)
{
}

static inline void ath10k_debug_fw_stats_process(struct ath10k *ar,
						 struct sk_buff *skb)
{
+4 −4
Original line number Diff line number Diff line
@@ -2511,16 +2511,17 @@ static void ath10k_wmi_event_service_ready(struct ath10k *ar,
{
	struct wmi_svc_rdy_ev_arg arg = {};
	u32 num_units, req_id, unit_size, num_mem_reqs, num_unit_info, i;
	DECLARE_BITMAP(svc_bmap, WMI_SERVICE_MAX) = {};
	int ret;

	memset(&ar->wmi.svc_map, 0, sizeof(ar->wmi.svc_map));

	if (test_bit(ATH10K_FW_FEATURE_WMI_10X, ar->fw_features)) {
		ret = ath10k_wmi_10x_pull_svc_rdy_ev(skb, &arg);
		wmi_10x_svc_map(arg.service_map, svc_bmap,
		wmi_10x_svc_map(arg.service_map, ar->wmi.svc_map,
				arg.service_map_len);
	} else {
		ret = ath10k_wmi_main_pull_svc_rdy_ev(skb, &arg);
		wmi_main_svc_map(arg.service_map, svc_bmap,
		wmi_main_svc_map(arg.service_map, ar->wmi.svc_map,
				 arg.service_map_len);
	}

@@ -2543,7 +2544,6 @@ static void ath10k_wmi_event_service_ready(struct ath10k *ar,
	ar->num_rf_chains = __le32_to_cpu(arg.num_rf_chains);
	ar->ath_common.regulatory.current_rd = __le32_to_cpu(arg.eeprom_rd);

	ath10k_debug_read_service_map(ar, svc_bmap, sizeof(svc_bmap));
	ath10k_dbg_dump(ar, ATH10K_DBG_WMI, NULL, "wmi svc: ",
			arg.service_map, arg.service_map_len);