Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp3657321ybl; Sun, 8 Dec 2019 20:34:46 -0800 (PST) X-Google-Smtp-Source: APXvYqxdnwm6yv0l/YE8oj8UEcqiN9nkEmmkvAfPV4aTk9ICAK11HgCcpuTtXdco4Tb97u8hf9DS X-Received: by 2002:aca:2210:: with SMTP id b16mr19887981oic.32.1575866085935; Sun, 08 Dec 2019 20:34:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575866085; cv=none; d=google.com; s=arc-20160816; b=04GSZFoYnhyglHpoG292tCUSHCKSkekwmbF9IpVLZ1JzsSQ3WcRht5cEh42z8h1tN3 NjoWYWjx1MZLUnTUPbNfKXD1GA1cobSreAWrNmsT4cJcYGFvc0FxSxtEEkhJLdwtYeaA 0rNCaG6MWvUErjGW85z6JS1ZFIWvQQh+e4+FcoBkXflWMPUOi6OnswkF8/C/mvanCFQv pGUR6Vh7Ilie+wa0aIX4BrLUrztQ2u/TdQg0/EhGGYEagqvDmCmb5Z/TeHAMoLbsJvr6 RTMgLj1sSfKFXjQkNroaY6K5I+0RcZIVeL/UqU0zrW91DGEDQxBRzzRGkAv4MMPPsSy1 axog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:feedback-id:user-agent:message-id :references:in-reply-to:subject:cc:to:from:date :content-transfer-encoding:mime-version:dkim-signature :dkim-signature; bh=i3+U8WCEWVsmY7B/1cOK6nlDvv162k660ESFGIofkqQ=; b=ECT/lniXaWUD9Y0GAoBKD2uubCXWe+BTPvQ/R/YqBbwN8YBXOquO4F2gBtce49II5Z XyJZetR2RTo3l3f2wMcMfxGQ2hKj/Xa9UgF4ndYQQuwJa1nke90UoU0lO8/D6EPBXC75 2FwJYdaxoXKfWZGu4jjiEyqJouBej0G7lfpQjhmh5k8DiY1kgasKmhEiElo1IIGuA1kg H60QKjRfjqFXyjJmSu+A0KFQpr0XDIMy4/RHv9g4tq0m0WnsW9HferVROx4mCUi/RPso ONlXFwXG0FTkN7nIu8LAPl/Y0+71lZyW7eLGgOnNONDfmrplkdYRKroREQbKwgKkuSTT DWrQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=zsmsymrwgfyinv5wlfyidntwsjeeldzt header.b="Xvq1E/aR"; dkim=pass header.i=@amazonses.com header.s=gdwg2y3kokkkj5a55z2ilkup5wp5hhxx header.b=EKE7MkGQ; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j204si11250036oif.253.2019.12.08.20.34.21; Sun, 08 Dec 2019 20:34:45 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=zsmsymrwgfyinv5wlfyidntwsjeeldzt header.b="Xvq1E/aR"; dkim=pass header.i=@amazonses.com header.s=gdwg2y3kokkkj5a55z2ilkup5wp5hhxx header.b=EKE7MkGQ; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726916AbfLIEd3 (ORCPT + 99 others); Sun, 8 Dec 2019 23:33:29 -0500 Received: from a27-10.smtp-out.us-west-2.amazonses.com ([54.240.27.10]:44652 "EHLO a27-10.smtp-out.us-west-2.amazonses.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726826AbfLIEd3 (ORCPT ); Sun, 8 Dec 2019 23:33:29 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=zsmsymrwgfyinv5wlfyidntwsjeeldzt; d=codeaurora.org; t=1575866008; h=MIME-Version:Content-Type:Content-Transfer-Encoding:Date:From:To:Cc:Subject:In-Reply-To:References:Message-ID; bh=KQpRpRQoaMEDukK1IeBPBcM+8J7tLI1yFUGS9m9HLnQ=; b=Xvq1E/aRxj4+UhkfopTyYFjhJP2zDsopZY7EIVdA6iV/oLnX1N8CPzBX0y9Fxv7p LfkqakBQGSi5ODDroXg/wIE175e4Vlo0XGWQlPHfCqUfeIBTxE3lUnBUnRanI0ThCfN sT1ZTWeQxgZqJZDwBjlRErQDnhBfnRsc5H3YcP14= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=gdwg2y3kokkkj5a55z2ilkup5wp5hhxx; d=amazonses.com; t=1575866008; h=MIME-Version:Content-Type:Content-Transfer-Encoding:Date:From:To:Cc:Subject:In-Reply-To:References:Message-ID:Feedback-ID; bh=KQpRpRQoaMEDukK1IeBPBcM+8J7tLI1yFUGS9m9HLnQ=; b=EKE7MkGQ8OZyR7tI9YXub4m7ybxO9Mqzm7sE87LE4Xz8o+d0oRkMfJOhzw4x5Ugj sAn9kKtQ0b8/PvE3C9j/AvvtXt+vjIoi744hk9lAwOxkbmqENLTq4Lxfsh2DsmPfgGF Nwk2C/ZB9m65qGP2zFRjiYKLH78wEx1Q3ej3iQRM= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=2.0 tests=ALL_TRUSTED autolearn=unavailable autolearn_force=no version=3.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Mon, 9 Dec 2019 04:33:28 +0000 From: vthiagar@codeaurora.org To: John Crispin Cc: Johannes Berg , Kalle Valo , linux-wireless@vger.kernel.org, ath11k@lists.infradead.org Subject: Re: [PATCH 6/7] ath11k: add WMI calls required for handling BSS color In-Reply-To: <20191206143401.4080-6-john@phrozen.org> References: <20191206143401.4080-1-john@phrozen.org> <20191206143401.4080-6-john@phrozen.org> Message-ID: <0101016ee8ef01a3-a48ae67a-693f-4656-ae5e-0bc0cc63fe7a-000000@us-west-2.amazonses.com> X-Sender: vthiagar@codeaurora.org User-Agent: Roundcube Webmail/1.3.9 X-SES-Outgoing: 2019.12.09-54.240.27.10 Feedback-ID: 1.us-west-2.CZuq2qbDmUIuT3qdvXlRHZZCpfZqZ4GtG9v3VKgRyF0=:AmazonSES Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On 2019-12-06 20:04, John Crispin wrote: > If the he_operation field of the beacon sets a BSS color, we need to > inform > the FW of the settings. This patch adds the WMI command handlers > required > to do so. > > Signed-off-by: John Crispin > --- > drivers/net/wireless/ath/ath11k/wmi.c | 67 +++++++++++++++++++++++++++ > drivers/net/wireless/ath/ath11k/wmi.h | 31 +++++++++++++ > 2 files changed, 98 insertions(+) > > diff --git a/drivers/net/wireless/ath/ath11k/wmi.c > b/drivers/net/wireless/ath/ath11k/wmi.c > index 8cf7220a95f9..5d9276db9a85 100644 > --- a/drivers/net/wireless/ath/ath11k/wmi.c > +++ b/drivers/net/wireless/ath/ath11k/wmi.c > @@ -2789,6 +2789,73 @@ ath11k_wmi_send_obss_spr_cmd(struct ath11k *ar, > u32 vdev_id, > return ret; > } > > +int > +ath11k_wmi_send_obss_color_collision_cfg_cmd(struct ath11k *ar, u32 > vdev_id, > + u8 bss_color, u32 period, > + bool enable) > +{ > + struct ath11k_pdev_wmi *wmi = ar->wmi; > + struct ath11k_base *ab = wmi->wmi_ab->ab; > + struct wmi_obss_color_collision_cfg_params_cmd *cmd; > + struct sk_buff *skb; > + int ret, len; > + > + len = sizeof(*cmd); > + > + skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len); > + if (!skb) > + return -ENOMEM; > + > + cmd = (struct wmi_obss_color_collision_cfg_params_cmd *)skb->data; > + cmd->tlv_header = FIELD_PREP(WMI_TLV_TAG, > WMI_TAG_OBSS_COLOR_COLLISION_DET_CONFIG) | > + FIELD_PREP(WMI_TLV_LEN, len - TLV_HDR_SIZE); > + cmd->vdev_id = vdev_id; > + cmd->evt_type = enable ? ATH11K_OBSS_COLOR_COLLISION_DETECTION : > + ATH11K_OBSS_COLOR_COLLISION_DETECTION_DISABLE; > + cmd->current_bss_color = bss_color; > + cmd->detection_period_ms = period; > + cmd->scan_period_ms = ATH11K_BSS_COLOR_COLLISION_SCAN_PERIOD_MS; > + cmd->free_slot_expiry_time_ms = 0; > + cmd->flags = 0; > + > + ret = ath11k_wmi_cmd_send(wmi, skb, > + WMI_OBSS_COLOR_COLLISION_DET_CONFIG_CMDID); > + if (ret) { > + ath11k_warn(ab, "Failed to send > WMI_OBSS_COLOR_COLLISION_DET_CONFIG_CMDID"); > + dev_kfree_skb(skb); > + } WMI debug log please. > + return ret; > +} > + > +int ath11k_wmi_send_bss_color_change_enable_cmd(struct ath11k *ar, > u32 vdev_id, bool enable) > +{ > + struct ath11k_pdev_wmi *wmi = ar->wmi; > + struct ath11k_base *ab = wmi->wmi_ab->ab; > + struct wmi_bss_color_change_enable_params_cmd *cmd; > + struct sk_buff *skb; > + int ret, len; > + > + len = sizeof(*cmd); > + > + skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len); > + if (!skb) > + return -ENOMEM; > + > + cmd = (struct wmi_bss_color_change_enable_params_cmd *)skb->data; > + cmd->tlv_header = FIELD_PREP(WMI_TLV_TAG, > WMI_TAG_BSS_COLOR_CHANGE_ENABLE) | > + FIELD_PREP(WMI_TLV_LEN, len - TLV_HDR_SIZE); > + cmd->vdev_id = vdev_id; > + cmd->enable = enable ? 1 : 0; > + > + ret = ath11k_wmi_cmd_send(wmi, skb, > + WMI_BSS_COLOR_CHANGE_ENABLE_CMDID); > + if (ret) { > + ath11k_warn(ab, "Failed to send WMI_TWT_DIeABLE_CMDID"); > + dev_kfree_skb(skb); > + } Same here. Vasanth