From patchwork Wed Dec 23 08:46:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: You-Sheng Yang X-Patchwork-Id: 1419712 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4D16Tq3bqZz9sVM; Wed, 23 Dec 2020 19:54:55 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1krzux-00061S-EF; Wed, 23 Dec 2020 08:54:47 +0000 Received: from mail-pl1-f176.google.com ([209.85.214.176]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1krzuN-0005M4-SM for kernel-team@lists.ubuntu.com; Wed, 23 Dec 2020 08:54:12 +0000 Received: by mail-pl1-f176.google.com with SMTP id s15so4381914plr.9 for ; Wed, 23 Dec 2020 00:53:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=54oRwIymWXn7lSSagRn6FPXlyV1TQc6sLd+Z73GeCpA=; b=rCtLlMvfqBViZ3bsamKPVBltwwVbDkFiGmpgI+6/WANUii4SAeE34oRiSxFudOcgSP LJ0F4YlGW6uMgE7tQp1TSi3V2U4yLj6/QY6QjtthBh89cK9rRTHFhOzceT3O6vexE/Z4 3gNYkSAvbN7HUC+0n83BMYRrG0Jnnrob7LTS7Tum8Z/FSNKj47yiEu+3m3cWNtgwb4gu cdFbgsGTKdyfCpi/3SwYCSJBziQlunQj6EOhvWDFboiw/rjA2aj5inK8D2duhBkXT7BM B4ZSTV+ESivbNfA0SqOAMS/3A7BgMFg/q8o2AUW9dld80OHva5TzO/bsh4sU6GFXrRYi wNYw== X-Gm-Message-State: AOAM531wdBfGvj7DsFkdULEVzlnbC71A7tz4NuAYxu/QzVg72y/w7BYD yPbrmsr4M+f10xS7ef2VJ94Jvb6PN0KnKzZ9 X-Google-Smtp-Source: ABdhPJyBNF46yYJU8+xbZxiZLu/yFfCVvVbWkE2eSjLpmUtqw0J4wKB/wzAOwVeuXeN1CB/wVrWlZg== X-Received: by 2002:a17:90a:fb8e:: with SMTP id cp14mr25189158pjb.96.1608713630491; Wed, 23 Dec 2020 00:53:50 -0800 (PST) Received: from localhost (61-220-137-37.HINET-IP.hinet.net. [61.220.137.37]) by smtp.gmail.com with ESMTPSA id a4sm223787pgn.40.2020.12.23.00.53.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Dec 2020 00:53:49 -0800 (PST) From: You-Sheng Yang To: kernel-team@lists.ubuntu.com Subject: [PATCH 044/379][SRU][OEM-5.6] ath11k: add handling for BSS color Date: Wed, 23 Dec 2020 16:46:17 +0800 Message-Id: <20201223085152.554896-45-vicamo.yang@canonical.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201223085152.554896-1-vicamo.yang@canonical.com> References: <20201223085152.554896-1-vicamo.yang@canonical.com> MIME-Version: 1.0 Received-SPF: pass client-ip=209.85.214.176; envelope-from=vicamo@gmail.com; helo=mail-pl1-f176.google.com X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: John Crispin BugLink: https://bugs.launchpad.net/bugs/1879633 This patch adds code to handle the BSS_CHANGED_BSS_COLOR flag. It will trigger the propagation of BSS color settings into the FW. Handling is slightly different between AP and STA interfaces. Signed-off-by: John Crispin Signed-off-by: Kalle Valo (cherry picked from commit beb2f77297b0b7640e20ca2894104c87e21f5a47) Signed-off-by: You-Sheng Yang --- drivers/net/wireless/ath/ath11k/mac.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c index 61fd81d63efc..4e38913172ec 100644 --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c @@ -1956,6 +1956,31 @@ static void ath11k_mac_op_bss_info_changed(struct ieee80211_hw *hw, ath11k_wmi_send_obss_spr_cmd(ar, arvif->vdev_id, &info->he_obss_pd); + if (changed & BSS_CHANGED_HE_BSS_COLOR) { + if (vif->type == NL80211_IFTYPE_AP) { + ret = ath11k_wmi_send_obss_color_collision_cfg_cmd( + ar, arvif->vdev_id, info->he_bss_color.color, + ATH11K_BSS_COLOR_COLLISION_DETECTION_AP_PERIOD_MS, + !info->he_bss_color.disabled); + if (ret) + ath11k_warn(ar->ab, "failed to set bss color collision on vdev %i: %d\n", + arvif->vdev_id, ret); + } else if (vif->type == NL80211_IFTYPE_STATION) { + ret = ath11k_wmi_send_bss_color_change_enable_cmd(ar, + arvif->vdev_id, + 1); + if (ret) + ath11k_warn(ar->ab, "failed to enable bss color change on vdev %i: %d\n", + arvif->vdev_id, ret); + ret = ath11k_wmi_send_obss_color_collision_cfg_cmd( + ar, arvif->vdev_id, 0, + ATH11K_BSS_COLOR_COLLISION_DETECTION_STA_PERIOD_MS, 1); + if (ret) + ath11k_warn(ar->ab, "failed to set bss color collision on vdev %i: %d\n", + arvif->vdev_id, ret); + } + } + mutex_unlock(&ar->conf_mutex); }