Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp2926345lqt; Tue, 23 Apr 2024 06:05:48 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCX+N1UgQvzXQTFrrWoKOpeoXgwGDWxmiSJ6mP4aRj83HpC1A4h6Q2Azn1NWwOAZehTPaw4p12UI8jnNWlz/mOAA0YpZdOTg+ieU0NhTPA== X-Google-Smtp-Source: AGHT+IGEjsTmC19mxGUFRCQPuMgPFDhLsWcs5dejpso3JGzw3SsceGxwE8Z76V2YwjAntG8j4TT0 X-Received: by 2002:a9d:5907:0:b0:6eb:df08:752d with SMTP id t7-20020a9d5907000000b006ebdf08752dmr13519287oth.11.1713877547781; Tue, 23 Apr 2024 06:05:47 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713877547; cv=pass; d=google.com; s=arc-20160816; b=yfasKHlrk4KlQqneZxWHrI1wqgs4klJ8odgYAuAESm44hO8RJHcmRMWVIWkdXbOh7S qe1wl6kCvMvDW54riI9tp0E++LHz5KXT3mZv8x7dVj8wEnP0wZL11EdNqIcNjpQEZYJs CD3mL0rsIgDwcBGAurRM2D6EBFcQpr8yomdAsvKDIH8y3ZL1SM1BRgcuinf0a/1LWAQ4 jrPNqS5QjAS2w3qNo1EHifQs3ots0fpa7jttmgWLEYqTx6ctxHAoSSPPvNe0VHLamkC7 Ad9+MxG5vIiNwrSSm4dRK4229pnvJa5lJGLdwai2W+4wGWcp5Y6pEPscBNqmRrJGP7U/ mx6w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from; bh=kSF3zYgpsySjBDM4hVd6tVwnQTgDdTjR4FDT3fU3yEw=; fh=MNKRx4WJmBaVWzQe39dfqMazHXuwPQWBzq8iA6LUjvg=; b=S/CbHDDiwbwbJJN/v1GeSXwSbxqtT5EK3wR9oWpijm0EiM7tKD5nGRwtfknBq2MD1I Hoqh4ZAnc9gDf08Fo+h2ot0uktXZ9H6cIV0RdR65PzBFbtBY9zHyy6RqZTfa49uf6Vum rFMZfThPohX7wfA1WywqaOkTB9SzONp9UeQOP1D40mS6aRDn73yKNDHLpA1z46pvC0c4 5Bsa+IYVHtHxYCPaBpxVEgcsMey3uIfxVenQ9Iz3Cl9mE2IdmsaR/JmFWq3smfHStMMy LrmnauPT3Bb0Gz4O59x991RixebAEtAO8oI/aN+F0Loq55HvmScqCbTZJiIZLDCr7nx0 0omQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=realtek.com); spf=pass (google.com: domain of linux-wireless+bounces-6726-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-wireless+bounces-6726-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id ec6-20020a05622a5b8600b00436a4873751si11436497qtb.534.2024.04.23.06.05.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Apr 2024 06:05:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless+bounces-6726-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=realtek.com); spf=pass (google.com: domain of linux-wireless+bounces-6726-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-wireless+bounces-6726-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 4E5BB1C23476 for ; Tue, 23 Apr 2024 13:05:47 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8B67585938; Tue, 23 Apr 2024 13:05:42 +0000 (UTC) X-Original-To: linux-wireless@vger.kernel.org Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 221E678C6E for ; Tue, 23 Apr 2024 13:05:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=211.75.126.72 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713877542; cv=none; b=iYv0CKk1EvdFq1iQBTbJ5Qw1VH3j/wybhsCpif533voKj/A0gBEcrv8bGXLR3thbKKtn7XJjnJ0glGGmsKOQuB1MZrqAKUgUBcRrnR6yWOovgIUIXoU5+8Qoj48J0LJizt6UiE3ZHXR0BDf1XoPHmYWjX4/pMeJwpISJvsLeo/c= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713877542; c=relaxed/simple; bh=Yzh3FCvRWfFPd6aRXzByFdAoJUVGneF3HRaK5KtOnOY=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=jnTif2WiTIP6iZI33UzSK7IsvkZq+Oj2o4VE1GVD6a7hNa9RVAJMjgo0fHXy5mVDEVxGdxos8nAPu6fV932Sl+7E5plC7qKqA6mtG65n+O1SAdth6CALLz7fEBNq7s12Z8x8nQgmYMygZcug9zc7Kk1SknKDMjYUShY3fpKNNzw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=realtek.com; spf=pass smtp.mailfrom=realtek.com; arc=none smtp.client-ip=211.75.126.72 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=realtek.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=realtek.com X-SpamFilter-By: ArmorX SpamTrap 5.78 with qID 43ND5bLD21251180, This message is accepted by code: ctloc85258 Received: from mail.realtek.com (rtexh36505.realtek.com.tw[172.21.6.25]) by rtits2.realtek.com.tw (8.15.2/2.95/5.92) with ESMTPS id 43ND5bLD21251180 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 23 Apr 2024 21:05:37 +0800 Received: from RTEXMBS04.realtek.com.tw (172.21.6.97) by RTEXH36505.realtek.com.tw (172.21.6.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 23 Apr 2024 21:05:38 +0800 Received: from [127.0.1.1] (172.16.20.182) by RTEXMBS04.realtek.com.tw (172.21.6.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 23 Apr 2024 21:05:37 +0800 From: Ping-Ke Shih To: CC: Subject: [PATCH 3/8] wifi: rtw89: coex: Add Bluetooth frequency hopping map version 7 Date: Tue, 23 Apr 2024 21:04:57 +0800 Message-ID: <20240423130502.32682-4-pkshih@realtek.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240423130502.32682-1-pkshih@realtek.com> References: <20240423130502.32682-1-pkshih@realtek.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: RTEXMBS02.realtek.com.tw (172.21.6.95) To RTEXMBS04.realtek.com.tw (172.21.6.97) X-KSE-ServerInfo: RTEXH36505.realtek.com.tw, 9 X-KSE-AntiSpam-Interceptor-Info: fallback X-KSE-Antivirus-Interceptor-Info: fallback X-KSE-AntiSpam-Interceptor-Info: fallback From: Ching-Te Ku The report is reported from Bluetooth, it described the usable Bluetooth channel map. Bluetooth should not hopped into Wi-Fi using channel. Version 8 report adjust the structure variables order. Signed-off-by: Ching-Te Ku Signed-off-by: Ping-Ke Shih --- drivers/net/wireless/realtek/rtw89/coex.c | 12 ++++++++++++ drivers/net/wireless/realtek/rtw89/core.h | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/drivers/net/wireless/realtek/rtw89/coex.c b/drivers/net/wireless/realtek/rtw89/coex.c index b0921a264f3d..f4ac9354f7ab 100644 --- a/drivers/net/wireless/realtek/rtw89/coex.c +++ b/drivers/net/wireless/realtek/rtw89/coex.c @@ -1138,6 +1138,7 @@ static void _update_bt_report(struct rtw89_dev *rtwdev, u8 rpt_type, u8 *pfinfo) struct rtw89_btc_fbtc_btscan_v7 *pscan_v7; struct rtw89_btc_fbtc_btafh *pafh_v1 = NULL; struct rtw89_btc_fbtc_btafh_v2 *pafh_v2 = NULL; + struct rtw89_btc_fbtc_btafh_v7 *pafh_v7 = NULL; struct rtw89_btc_fbtc_btdevinfo *pdev = NULL; bool scan_update = true; int i; @@ -1198,6 +1199,17 @@ static void _update_bt_report(struct rtw89_dev *rtwdev, u8 rpt_type, u8 *pfinfo) memcpy(&bt_linfo->afh_map_le[0], pafh_v2->afh_le_a, 4); memcpy(&bt_linfo->afh_map_le[4], pafh_v2->afh_le_b, 1); } + } else if (ver->fcxbtafh == 7) { + pafh_v7 = (struct rtw89_btc_fbtc_btafh_v7 *)pfinfo; + if (pafh_v7->map_type & RPT_BT_AFH_SEQ_LEGACY) { + memcpy(&bt_linfo->afh_map[0], pafh_v7->afh_l, 4); + memcpy(&bt_linfo->afh_map[4], pafh_v7->afh_m, 4); + memcpy(&bt_linfo->afh_map[8], pafh_v7->afh_h, 2); + } + if (pafh_v7->map_type & RPT_BT_AFH_SEQ_LE) { + memcpy(&bt_linfo->afh_map_le[0], pafh_v7->afh_le_a, 4); + memcpy(&bt_linfo->afh_map_le[4], pafh_v7->afh_le_b, 1); + } } else if (ver->fcxbtafh == 1) { pafh_v1 = (struct rtw89_btc_fbtc_btafh *)pfinfo; memcpy(&bt_linfo->afh_map[0], pafh_v1->afh_l, 4); diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h index 0b1d63b2fa1f..78600e7fbad4 100644 --- a/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h @@ -2735,6 +2735,18 @@ struct rtw89_btc_fbtc_btafh_v2 { u8 afh_le_b[4]; } __packed; +struct rtw89_btc_fbtc_btafh_v7 { + u8 fver; + u8 map_type; + u8 rsvd0; + u8 rsvd1; + u8 afh_l[4]; /*bit0:2402, bit1:2403.... bit31:2433 */ + u8 afh_m[4]; /*bit0:2434, bit1:2435.... bit31:2465 */ + u8 afh_h[4]; /*bit0:2466, bit1:2467.....bit14:2480 */ + u8 afh_le_a[4]; + u8 afh_le_b[4]; +} __packed; + struct rtw89_btc_fbtc_btdevinfo { u8 fver; /* btc_ver::fcxbtdevinfo */ u8 rsvd; -- 2.25.1