From patchwork Fri Jun 20 18:53:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bitterblue Smith X-Patchwork-Id: 898750 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (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 0EC111FBEA6 for ; Fri, 20 Jun 2025 18:53:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750445621; cv=none; b=QwZvKU72rEfbxKQ0el6XJWUO1X4/fbbs0olSochA4ljohYC0qFlt049AxXFcILX4Qdw52Ytb2B/uuPInbSJPlD/qCjyy52ym1PriX0Q3eTOWdMNgZwqqBq5eaQ7gKLB7rJJr442p8rptLtP73kDjMRN578ho5s4HSurd/n9F02w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750445621; c=relaxed/simple; bh=qBPDhoEDLvjmbM258D8VBejJh3CqNYlJ75BO+GkoKvA=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=CPcN5SG6TZDGBg+PQ5kkQEnQYcbFfmq/fEOrrAoTxXnyEVtHnaLrOOTT1lcrJP1IgJq27JLZzFapdQE0PqzkQfcV//4b6XERGim9ikUhksyBH9EZ2KCLKb0NcY1LN7NtM6eNZtmgYB5Y5PxEaAGUpitnYR2XJLAMnbvxDDqUxIs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ZybjQ4sb; arc=none smtp.client-ip=209.85.221.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZybjQ4sb" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-3a5257748e1so1448295f8f.2 for ; Fri, 20 Jun 2025 11:53:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750445618; x=1751050418; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=fypJ14hsScvHrpm8yo+S6aLQ74r2PcJMYNDCJkz5Gfw=; b=ZybjQ4sbS+VtdT3i52wpKbHa8FIa6GhThYElhYlkr2yMMKl032p/z5gNi1Gs/Lpgjr qXkYfgsiB9AuempNN2RUP+p8mpmNS399rje8qgMO+DFK4Cg2U2+p1KnES42okpxwA9cL LoIo82FDcDDRhsqQPjn0Wo1F62l+E8Rrl6+UMsYki4HMy01HjmFyJu5j3+snadUU/Vv6 2K6eLiDsfV5QDemZ93fRl3B+1+h23zwfunl7eOkHKGbDlPFrDENcTJ+jNOWa8cuQk9p/ GO3OouA23R12aT1WiPOGJ1DwXrLNm5sG2l/n84J9tOQ6XZD227hl1+MprMnJZh7T2Hz1 n6Vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750445618; x=1751050418; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=fypJ14hsScvHrpm8yo+S6aLQ74r2PcJMYNDCJkz5Gfw=; b=LjPRdMcFrQewBvJ6QcupxY/kKl9Z8RNNMiR99Vw/v98y5V8bBLH+kPBSUIAroauOzy Bf7dIm2sGueH05NV8qkZ2PIVzBQpb7vhxnalpFT0W6cs47lryYDF0xJ7RIo9xTwEmafA E4ILKz7AWbA59Q4MmfWE72Q7GYuig/yWQHq1WLM4ouUhQfLB2CceZS6eilCv/KDQDG9a b5p5Ze8apCyX/ETmWEBobFi/kjLT7C7rappdw4BW/Y7yY0p/mQ1iRsXQ1zVQ7/bLeyJa l8c3m1Ml3xIVUl+wBBfwnpHqiDAWh/jw60bIVQfIEb/CJKIpg+CRDFj2nRVL3IzEW/K/ EdpQ== X-Gm-Message-State: AOJu0Yzm9PnVp/CsGfiUNTVrmK/Jsot6x2uTyWzF688X0ym1mosOnDtJ tVRjlOv5KT2xNN7epZ9QnS5nxO4YCqtPBJ/wIogP8bVJGXLmSlFkb1LxM0N9Ng== X-Gm-Gg: ASbGnctcfFocQyTKc88LfKhYflJQoPp04RFNZi7qC+elWSpxk5RAwGXADPL9M5YxA68 tm9mh5uIUUDBL+JqX2QYEsDNGYM7ZLUs4PIVWob9WbN1iIpFQrU9b7t4FTUb6G7xcto5QwVjZPg e8cEn460vkK0lgFwpATrfTonls1viXkZbLHcR7K18fQAWk154xoAp8XG/Jy05QH2P+/c4mhxSJo Bk2hsxoXg0P+MAQSfnAr3z9pIZzPwQVuk85RNA8q/XKfgFmlm9IP+lLNo8im5f9IhhZqCBHWJ8w Ch/TzrNAPwyaQqVgoe3edF7MzPJWPS5KDnyuAJmceCiX3OWSQqXiLhNrakzY7mVwjSuUUQ== X-Google-Smtp-Source: AGHT+IH8mn9ckSeR+YqcfzTU5GXj/M0C90sYmXGYDaR6CBFEGhLh10sjnsP0jCoH+tQ8OvE6JBpNpw== X-Received: by 2002:a05:6000:2289:b0:3a4:e6d7:6160 with SMTP id ffacd0b85a97d-3a6d12c298dmr3653286f8f.6.1750445618304; Fri, 20 Jun 2025 11:53:38 -0700 (PDT) Received: from [192.168.0.50] ([79.119.240.16]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d0f18207sm2772544f8f.30.2025.06.20.11.53.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 20 Jun 2025 11:53:37 -0700 (PDT) Message-ID: <8690ab79-c5ed-45ca-a234-7074ceb9ca70@gmail.com> Date: Fri, 20 Jun 2025 21:53:36 +0300 Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH rtw-next v3 01/14] wifi: rtw89: 8851b: Accept USB devices and load their MAC address From: Bitterblue Smith To: "linux-wireless@vger.kernel.org" Cc: Ping-Ke Shih References: Content-Language: en-US In-Reply-To: Make rtw8851b_read_efuse() accept USB devices and load the MAC address from the correct offset. Signed-off-by: Bitterblue Smith Acked-by: Ping-Ke Shih --- v2: - Add Acked-by. v3: - No change. --- drivers/net/wireless/realtek/rtw89/rtw8851b.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/net/wireless/realtek/rtw89/rtw8851b.c b/drivers/net/wireless/realtek/rtw89/rtw8851b.c index 39df1a255095..6ba88ca2bab3 100644 --- a/drivers/net/wireless/realtek/rtw89/rtw8851b.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8851b.c @@ -461,14 +461,6 @@ static int rtw8851b_pwr_off_func(struct rtw89_dev *rtwdev) return 0; } -static void rtw8851b_efuse_parsing(struct rtw89_efuse *efuse, - struct rtw8851b_efuse *map) -{ - ether_addr_copy(efuse->addr, map->e.mac_addr); - efuse->rfe_type = map->rfe_type; - efuse->xtal_cap = map->xtal_k; -} - static void rtw8851b_efuse_parsing_tssi(struct rtw89_dev *rtwdev, struct rtw8851b_efuse *map) { @@ -549,12 +541,18 @@ static int rtw8851b_read_efuse(struct rtw89_dev *rtwdev, u8 *log_map, switch (rtwdev->hci.type) { case RTW89_HCI_TYPE_PCIE: - rtw8851b_efuse_parsing(efuse, map); + ether_addr_copy(efuse->addr, map->e.mac_addr); + break; + case RTW89_HCI_TYPE_USB: + ether_addr_copy(efuse->addr, map->u.mac_addr); break; default: return -EOPNOTSUPP; } + efuse->rfe_type = map->rfe_type; + efuse->xtal_cap = map->xtal_k; + rtw89_info(rtwdev, "chip rfe_type is %d\n", efuse->rfe_type); return 0; From patchwork Fri Jun 20 18:56:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bitterblue Smith X-Patchwork-Id: 898749 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (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 A20AF27E040 for ; Fri, 20 Jun 2025 18:56:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750445767; cv=none; b=CxpJ/FVYV04lbtHIue24NIH3XJj64xrXu3WpuuqxvRNmbd2q2oZr3WGzVbl6mLcIiXGL2LpWyCUC3u9hYiGtC9tuUe54spLxvF52wJHEkwSlO1Vw3wFChEmH+HDB2KXMDkSOSybaDw5Sgueq/K+SwcnmJoGMeEiVu/YnH3pQ+AQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750445767; c=relaxed/simple; bh=uhzeiwhTC5RbUNLDmYd6/ZM/1sn2tnyKlSfBcxbYoMg=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=RER3UeUq9ueIuiuScFzfF3gJBUMxJoqSJdXUgqfQGDEr1WPBbntSO6Lx2Y/FCVah3UEiiQ8O+g02QVrQN1yDY0eaMtSGBSWEExXQdi331gdappx0zWPeZ7X7z+XNeg+i+YcQ2s/I1KvXQQgAeWUbAzyLL0DStS54xe93CRLwN8o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=CPykypai; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="CPykypai" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-43ea40a6e98so24849585e9.1 for ; Fri, 20 Jun 2025 11:56:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750445764; x=1751050564; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=mDuk4rR7xmvUDfdPmoD7BLnQtPdniSEaK7Uf+g1XJRw=; b=CPykypaiNLFQXzMeD6LSLUwDfmdjF8shsyGEleJseMrotWG7HSM+4bW4bQZOuUav37 Kp5hDo22sCJBhywjVHifSSs+BV20yB7HJItVImrC6M+EsaqZIQNfw9OTblbFSk9+weFR BFfMXL8ijtrEPo3Lj3FdiGcJ+xPqz9pPP8OMzqpLeDJYKxD8qZ4NB+dRw89t2F3j6z+h SmjenNmkVNt4GDjnnvF+MqinQaV1JaeE3I0WIfESIlGnKIuTeSLpRcnXSQolEV4/PRGh /hTFiwy+mnqKtubAFTTxBH3Ln01CcXEWPI/skJqB2v97Zdp37XE18Dd0MQtdBA4RaURs 8NQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750445764; x=1751050564; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=mDuk4rR7xmvUDfdPmoD7BLnQtPdniSEaK7Uf+g1XJRw=; b=hgp7P4S5xbaZWvgiJut8LLMSmxrqfA9e2IznFpv0chEDvtSdzKUwIV1NsS0u8sYJ0c Vj2F6WPe1PT/pLEyad9m23dnwk/1PeSjIWfH4i2Sokff0A6DoyG9b6sc1WzqhtBL20mN BVktaP8sfiJuhDnl0rhkIey30YInvuoCwgwvDUFCFbCemb/cYcl2bZy+WL8+slTj9nWw gRIMd1533t8bVwRhesl6GaKE4g7zUMdJf0jjh0rnaaKzjEfZ7N55XRwqO7sSANdqmzQB ZZIXJ3TT5FcCNeQYgOYKRgq1vwke0+yPy2TFvE0qcrHYIRM0S3Soq8rHTZ7Q7So1dBFD VW0g== X-Gm-Message-State: AOJu0YyosyvDQWkmvNl71pL/kXjCV+H2QA5GiKpZ3qcyM87nlvlVDpdD eG8KiryMcMvg12p+wvF4k1Whd/DQXhFuDGmuYUAxA0T4JrCfQfjqvB3YE5qh/Q== X-Gm-Gg: ASbGnctrLlI2aHkvRuea0ORcTvqFKcdWPvsWsoOwEeFaTq5f0+ZBsfgVDTXWi80dUmO Wfaohs8xPSxwopdkHAq9pvRaz0DFNyXP0l7b1UTdW0CmSNcOtZL9Tais+s1pLJwJhLu0S5jNeN6 32l9X0gNXSXWRrvmObuKt264sYlcdeAYXwIDSbHsuRU12etWp5wz+2/Hp9aqg2oxGiP6HXRtyUZ 7NKPfma/B/pj/uCKYQ7qSnIn6a/wda5EAQxqjzYFndmS0BYIyKvdpSIgTD/oIaKZ2FBWmECbPS3 iCHHGCsGj/+K4APg2+sWcMIoqYtFnZZN5WXNAz2/fb/CTUr61qQLlcU8aSuJbENbZfc/9A== X-Google-Smtp-Source: AGHT+IHEiW9mUgWFz1xPax2tkG7P2iA6h3kzdI30s+E9/WM8nsFI/GfkUqunxBWU69IK75pHX5WzfQ== X-Received: by 2002:a05:600c:5490:b0:44b:eb56:1d45 with SMTP id 5b1f17b1804b1-453655c30e4mr46148135e9.15.1750445763576; Fri, 20 Jun 2025 11:56:03 -0700 (PDT) Received: from [192.168.0.50] ([79.119.240.16]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4536466596asm34880985e9.0.2025.06.20.11.56.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 20 Jun 2025 11:56:03 -0700 (PDT) Message-ID: <4fedeea5-d3a4-44ca-b1a7-83de381eff8d@gmail.com> Date: Fri, 20 Jun 2025 21:56:02 +0300 Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH rtw-next v3 03/14] wifi: rtw89: Make hfc_param_ini in rtw89_chip_info an array From: Bitterblue Smith To: "linux-wireless@vger.kernel.org" Cc: Ping-Ke Shih References: Content-Language: en-US In-Reply-To: USB and SDIO will need different sets of values, so make hfc_param_ini in struct rtw89_chip_info an array. Also make param_ini a pointer instead of copying the struct. Signed-off-by: Bitterblue Smith --- v2: - Make hfc_param_ini an array instead of having (eventually) three different hfc_param_ini_* members. v3: - Add null check for rtwdev->chip->hfc_param_ini[rtwdev->hci.type]. - Make param_ini a pointer instead of copying the struct. --- drivers/net/wireless/realtek/rtw89/core.h | 4 ++- drivers/net/wireless/realtek/rtw89/mac.c | 29 +++++++++---------- drivers/net/wireless/realtek/rtw89/rtw8851b.c | 2 +- drivers/net/wireless/realtek/rtw89/rtw8852a.c | 2 +- drivers/net/wireless/realtek/rtw89/rtw8852b.c | 2 +- .../net/wireless/realtek/rtw89/rtw8852bt.c | 2 +- drivers/net/wireless/realtek/rtw89/rtw8852c.c | 2 +- drivers/net/wireless/realtek/rtw89/rtw8922a.c | 2 +- 8 files changed, 23 insertions(+), 22 deletions(-) diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h index 46d3512afb57..cab28dc10b4e 100644 --- a/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h @@ -130,6 +130,8 @@ enum rtw89_hci_type { RTW89_HCI_TYPE_PCIE, RTW89_HCI_TYPE_USB, RTW89_HCI_TYPE_SDIO, + + RTW89_HCI_TYPE_NUM, }; enum rtw89_hci_dle_type { @@ -4355,7 +4357,7 @@ struct rtw89_chip_info { u16 max_amsdu_limit; bool dis_2g_40m_ul_ofdma; u32 rsvd_ple_ofst; - const struct rtw89_hfc_param_ini *hfc_param_ini; + const struct rtw89_hfc_param_ini *hfc_param_ini[RTW89_HCI_TYPE_NUM]; const struct rtw89_dle_mem *dle_mem[RTW89_HCI_DLE_TYPE_NUM]; u8 wde_qempty_acq_grpnum; u8 wde_qempty_mgq_grpsel; diff --git a/drivers/net/wireless/realtek/rtw89/mac.c b/drivers/net/wireless/realtek/rtw89/mac.c index 7d3e6448423a..d3814012a02e 100644 --- a/drivers/net/wireless/realtek/rtw89/mac.c +++ b/drivers/net/wireless/realtek/rtw89/mac.c @@ -875,31 +875,30 @@ EXPORT_SYMBOL(rtw89_mac_set_err_status); static int hfc_reset_param(struct rtw89_dev *rtwdev) { + const struct rtw89_hfc_param_ini *param_ini, *param_inis; struct rtw89_hfc_param *param = &rtwdev->mac.hfc_param; - struct rtw89_hfc_param_ini param_ini = {NULL}; u8 qta_mode = rtwdev->mac.dle_info.qta_mode; - switch (rtwdev->hci.type) { - case RTW89_HCI_TYPE_PCIE: - param_ini = rtwdev->chip->hfc_param_ini[qta_mode]; - param->en = 0; - break; - default: + param_inis = rtwdev->chip->hfc_param_ini[rtwdev->hci.type]; + if (!param_inis) return -EINVAL; - } - if (param_ini.pub_cfg) - param->pub_cfg = *param_ini.pub_cfg; + param_ini = ¶m_inis[qta_mode]; + + param->en = 0; + + if (param_ini->pub_cfg) + param->pub_cfg = *param_ini->pub_cfg; - if (param_ini.prec_cfg) - param->prec_cfg = *param_ini.prec_cfg; + if (param_ini->prec_cfg) + param->prec_cfg = *param_ini->prec_cfg; - if (param_ini.ch_cfg) - param->ch_cfg = param_ini.ch_cfg; + if (param_ini->ch_cfg) + param->ch_cfg = param_ini->ch_cfg; memset(¶m->ch_info, 0, sizeof(param->ch_info)); memset(¶m->pub_info, 0, sizeof(param->pub_info)); - param->mode = param_ini.mode; + param->mode = param_ini->mode; return 0; } diff --git a/drivers/net/wireless/realtek/rtw89/rtw8851b.c b/drivers/net/wireless/realtek/rtw89/rtw8851b.c index bd777b0c3f4d..7872c58c37ec 100644 --- a/drivers/net/wireless/realtek/rtw89/rtw8851b.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8851b.c @@ -2465,7 +2465,7 @@ const struct rtw89_chip_info rtw8851b_chip_info = { .max_amsdu_limit = 3500, .dis_2g_40m_ul_ofdma = true, .rsvd_ple_ofst = 0x2f800, - .hfc_param_ini = rtw8851b_hfc_param_ini_pcie, + .hfc_param_ini = {rtw8851b_hfc_param_ini_pcie, NULL, NULL}, .dle_mem = {rtw8851b_dle_mem_pcie, NULL, NULL, NULL}, .wde_qempty_acq_grpnum = 4, .wde_qempty_mgq_grpsel = 4, diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852a.c b/drivers/net/wireless/realtek/rtw89/rtw8852a.c index 13fbc3a1b49e..222d271771be 100644 --- a/drivers/net/wireless/realtek/rtw89/rtw8852a.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8852a.c @@ -2184,7 +2184,7 @@ const struct rtw89_chip_info rtw8852a_chip_info = { .max_amsdu_limit = 3500, .dis_2g_40m_ul_ofdma = true, .rsvd_ple_ofst = 0x6f800, - .hfc_param_ini = rtw8852a_hfc_param_ini_pcie, + .hfc_param_ini = {rtw8852a_hfc_param_ini_pcie, NULL, NULL}, .dle_mem = {rtw8852a_dle_mem_pcie, NULL, NULL, NULL}, .wde_qempty_acq_grpnum = 16, .wde_qempty_mgq_grpsel = 16, diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852b.c b/drivers/net/wireless/realtek/rtw89/rtw8852b.c index b2989cdcce34..ce2df199307f 100644 --- a/drivers/net/wireless/realtek/rtw89/rtw8852b.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8852b.c @@ -820,7 +820,7 @@ const struct rtw89_chip_info rtw8852b_chip_info = { .max_amsdu_limit = 5000, .dis_2g_40m_ul_ofdma = true, .rsvd_ple_ofst = 0x2f800, - .hfc_param_ini = rtw8852b_hfc_param_ini_pcie, + .hfc_param_ini = {rtw8852b_hfc_param_ini_pcie, NULL, NULL}, .dle_mem = {rtw8852b_dle_mem_pcie, NULL, NULL, NULL}, .wde_qempty_acq_grpnum = 4, .wde_qempty_mgq_grpsel = 4, diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852bt.c b/drivers/net/wireless/realtek/rtw89/rtw8852bt.c index 762a1fc005d2..8f79207bfcf0 100644 --- a/drivers/net/wireless/realtek/rtw89/rtw8852bt.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8852bt.c @@ -754,7 +754,7 @@ const struct rtw89_chip_info rtw8852bt_chip_info = { .max_amsdu_limit = 5000, .dis_2g_40m_ul_ofdma = true, .rsvd_ple_ofst = 0x6f800, - .hfc_param_ini = rtw8852bt_hfc_param_ini_pcie, + .hfc_param_ini = {rtw8852bt_hfc_param_ini_pcie, NULL, NULL}, .dle_mem = {rtw8852bt_dle_mem_pcie, NULL, NULL, NULL}, .wde_qempty_acq_grpnum = 4, .wde_qempty_mgq_grpsel = 4, diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c index c0d76d318b24..6f481f335484 100644 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c @@ -3004,7 +3004,7 @@ const struct rtw89_chip_info rtw8852c_chip_info = { .max_amsdu_limit = 8000, .dis_2g_40m_ul_ofdma = false, .rsvd_ple_ofst = 0x6f800, - .hfc_param_ini = rtw8852c_hfc_param_ini_pcie, + .hfc_param_ini = {rtw8852c_hfc_param_ini_pcie, NULL, NULL}, .dle_mem = {rtw8852c_dle_mem_pcie, NULL, NULL, NULL}, .wde_qempty_acq_grpnum = 16, .wde_qempty_mgq_grpsel = 16, diff --git a/drivers/net/wireless/realtek/rtw89/rtw8922a.c b/drivers/net/wireless/realtek/rtw89/rtw8922a.c index 7854d6f30b6d..43efb6b4e9cb 100644 --- a/drivers/net/wireless/realtek/rtw89/rtw8922a.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8922a.c @@ -2859,7 +2859,7 @@ const struct rtw89_chip_info rtw8922a_chip_info = { .max_amsdu_limit = 8000, .dis_2g_40m_ul_ofdma = false, .rsvd_ple_ofst = 0x8f800, - .hfc_param_ini = rtw8922a_hfc_param_ini_pcie, + .hfc_param_ini = {rtw8922a_hfc_param_ini_pcie, NULL, NULL}, .dle_mem = {rtw8922a_dle_mem_pcie, NULL, NULL, NULL}, .wde_qempty_acq_grpnum = 4, .wde_qempty_mgq_grpsel = 4, From patchwork Fri Jun 20 18:57:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bitterblue Smith X-Patchwork-Id: 898748 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (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 241641FBEA6 for ; Fri, 20 Jun 2025 18:58:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750445884; cv=none; b=MbWyAYc1opDbY6iO26IhK0NqvXugFxApKOOxgKVOo1b92627ZQIZ1ECX8qx7w71VmXM96ec/SlfHowovFr1GayrpogTi8zNdrI9eZNaWlyiDj119yX5hJ6BEj3aw60mrObxfWqWF5xNjmxrT5ENP+Y1Jgwc5QJRfNROehqMuLLs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750445884; c=relaxed/simple; bh=+pGJRWOrzPlTE6vtJwH9BVUMl8e1McBK814ncGAEmFQ=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=r8qMSZLui6E+RRL1x6iLWlWiQHJOCjAV/G6UMu0Fpik5RLhW812A7ODYq2spBugJUEUO/8YtlxSSQEGl2VNa24/aQU4RKz0PkoAd26TyqpKIDd00YOHDJglSCyH18oV9R+JWWLEzVdyWwi1KSR6EDnIwqzjg2fHeWC80/6giSNw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ClW1esbb; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ClW1esbb" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-450ce671a08so13982445e9.3 for ; Fri, 20 Jun 2025 11:58:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750445881; x=1751050681; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=0mKfEpQ69Adg71mTd7LQ3/YJRmjUjP170d1PZlBCPVw=; b=ClW1esbbXqWZ12GBnccwL4neUk3K6+mJVwY2DjwvC5JsJi1lTmtGDeRCpi56zMm0dm t9WUltzieHZW2T5PU1HXp/yohVrTYgQXwWIKfatiWBfxIrc7rm8WxKbaOrTiMfuCghJf pf5VQ/2LBRrBDOyql0Wo4Vk5QMTPzOaM7cCsQQLjAoMIqCwuwGTTQJ3nvQ9xvSgG7g0L UinzlnZzQk7TvNV1WUZdvBedViwKtyjQLKhVYU2Zd1g7+7sVRssFuh7jKgwG3cu774pt Os0CZNRV9ND2piiTflgzXXtafo/620LGifniZcDJyx2EeuibuuhsTejtiBc9THgmXrLr NzJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750445881; x=1751050681; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=0mKfEpQ69Adg71mTd7LQ3/YJRmjUjP170d1PZlBCPVw=; b=dCXb4ewbG19zSpeVToCjAovgpYJDVWMHovx0yIal93h5l841fekH7fcp1xPle7jrco L+Zao3YfSbqTYcS7UKVgdGcZCESUY22Ivk79hAHYJYIOhrDXOZvwtso8Q8/Gi1JGLaJi xuzd7yIuV65wuXjrzNwfDKIB+Ks/l1O0TpmFWlbdkaSkJbjDy1c+pSEvAM66sE5zz0pR odpOu/Pg4RcDWiWeR0XiP4GmjLFWN3DQKHknvFrv8CNYEZnXHRr4nb6MR+HkSg9ILGUh UomuEHmk9VAyCw53X6t5ymvkfF9yQukDsBxAJS1oIsZGQkXJbCxJfIwcGmAMwwiEOXlt sRMA== X-Gm-Message-State: AOJu0Yx5QlkWabfIBEhn14AA7xiRWloZ3AFEneYhbbhdzEdEnuYL+tTV dYe64T85Ns9Vfbq7nNJXz/wb9dARcA+bWR6P5xfOZCnOB6RONbTE3KEQ/Df1WQ== X-Gm-Gg: ASbGncudM0jbNmjiqjQuzRxoPd1K8KGXUcT09y3Hglct7LJmSx7bmuyKLcHtkMv6jCL 21VS6PBfEaicIMaRJSpXEalybouHWasu01DaMeGr2WuVn4MaoPJXf2HLUtnLNKs7+S2N0b2fdXV gdltaogpl18HGp/ocE8RqWB+oS76kdlIIFDhQNxzwMJNXNIHmS5EP2/8eOd4G1HayoceIn75oqa XvVwYMefQDI/PLlwOfcquM02H1yDo55kMYJ5MkvDN/C5KcefXgqj8FBhgczRY8rI2ozQqDqqFbg 992RnnNCn5xl8bSfFd/k220UgL3ThD3EA8u+TFFFRFJ1fr+AvW+3vjiW9tU3P1X4MYKgZw== X-Google-Smtp-Source: AGHT+IFwLiXn5dZohxQdgga4i1c+gyXjjA8B33hACJ6fud9pVvcNq8uwDFrRb2LeiLkdO6sxzr0XJA== X-Received: by 2002:a05:600c:34d0:b0:43c:f8fc:f697 with SMTP id 5b1f17b1804b1-453653af999mr47317015e9.9.1750445881281; Fri, 20 Jun 2025 11:58:01 -0700 (PDT) Received: from [192.168.0.50] ([79.119.240.16]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535ead2a27sm66585375e9.31.2025.06.20.11.58.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 20 Jun 2025 11:58:00 -0700 (PDT) Message-ID: Date: Fri, 20 Jun 2025 21:57:59 +0300 Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH rtw-next v3 05/14] wifi: rtw89: Add rtw8851b_hfc_param_ini_usb From: Bitterblue Smith To: "linux-wireless@vger.kernel.org" Cc: Ping-Ke Shih References: Content-Language: en-US In-Reply-To: "hfc" means "hci fc" which is "Host Control Interface Flow Control". These are some parameters needed for RTL8851BU. Signed-off-by: Bitterblue Smith Acked-by: Ping-Ke Shih --- v2: - Adapt to the changes in patch 3. - Add more information in the commit message. v3: - Add Acked-by. - Adjust the wording of the commit message. --- drivers/net/wireless/realtek/rtw89/rtw8851b.c | 46 ++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/realtek/rtw89/rtw8851b.c b/drivers/net/wireless/realtek/rtw89/rtw8851b.c index 55703de9920a..e6ca3b045fc2 100644 --- a/drivers/net/wireless/realtek/rtw89/rtw8851b.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8851b.c @@ -51,6 +51,48 @@ static const struct rtw89_hfc_param_ini rtw8851b_hfc_param_ini_pcie[] = { [RTW89_QTA_INVALID] = {NULL}, }; +static const struct rtw89_hfc_ch_cfg rtw8851b_hfc_chcfg_usb[] = { + {18, 152, grp_0}, /* ACH 0 */ + {18, 152, grp_0}, /* ACH 1 */ + {18, 152, grp_0}, /* ACH 2 */ + {18, 152, grp_0}, /* ACH 3 */ + {0, 0, grp_0}, /* ACH 4 */ + {0, 0, grp_0}, /* ACH 5 */ + {0, 0, grp_0}, /* ACH 6 */ + {0, 0, grp_0}, /* ACH 7 */ + {18, 152, grp_0}, /* B0MGQ */ + {18, 152, grp_0}, /* B0HIQ */ + {0, 0, grp_0}, /* B1MGQ */ + {0, 0, grp_0}, /* B1HIQ */ + {0, 0, 0} /* FWCMDQ */ +}; + +static const struct rtw89_hfc_pub_cfg rtw8851b_hfc_pubcfg_usb = { + 152, /* Group 0 */ + 0, /* Group 1 */ + 152, /* Public Max */ + 0 /* WP threshold */ +}; + +static const struct rtw89_hfc_prec_cfg rtw8851b_hfc_preccfg_usb = { + 9, /* CH 0-11 pre-cost */ + 32, /* H2C pre-cost */ + 64, /* WP CH 0-7 pre-cost */ + 24, /* WP CH 8-11 pre-cost */ + 1, /* CH 0-11 full condition */ + 1, /* H2C full condition */ + 1, /* WP CH 0-7 full condition */ + 1, /* WP CH 8-11 full condition */ +}; + +static const struct rtw89_hfc_param_ini rtw8851b_hfc_param_ini_usb[] = { + [RTW89_QTA_SCC] = {rtw8851b_hfc_chcfg_usb, &rtw8851b_hfc_pubcfg_usb, + &rtw8851b_hfc_preccfg_usb, RTW89_HCIFC_STF}, + [RTW89_QTA_DLFW] = {NULL, NULL, + &rtw8851b_hfc_preccfg_usb, RTW89_HCIFC_STF}, + [RTW89_QTA_INVALID] = {NULL}, +}; + static const struct rtw89_dle_mem rtw8851b_dle_mem_pcie[] = { [RTW89_QTA_SCC] = {RTW89_QTA_SCC, &rtw89_mac_size.wde_size6, &rtw89_mac_size.ple_size6, &rtw89_mac_size.wde_qt6, @@ -2491,7 +2533,9 @@ const struct rtw89_chip_info rtw8851b_chip_info = { .max_amsdu_limit = 3500, .dis_2g_40m_ul_ofdma = true, .rsvd_ple_ofst = 0x2f800, - .hfc_param_ini = {rtw8851b_hfc_param_ini_pcie, NULL, NULL}, + .hfc_param_ini = {rtw8851b_hfc_param_ini_pcie, + rtw8851b_hfc_param_ini_usb, + NULL}, .dle_mem = {rtw8851b_dle_mem_pcie, rtw8851b_dle_mem_usb2, rtw8851b_dle_mem_usb3, From patchwork Fri Jun 20 18:59:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bitterblue Smith X-Patchwork-Id: 898747 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (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 207A12EA738 for ; Fri, 20 Jun 2025 18:59:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750445987; cv=none; b=dM5MsTq6WnQCBiM+Q2XKa1Df17CDtymV9eY6fKj8Xj5iSDE2nsiaKctmbpE+Mzmyd/hg3k+pGdGXFPVtYkUSQ12XIvheeGjpncreRsqaKfOpNIu777UQltdDfK5aXI8I6JfP+JOiSenihOSHKo4qbYCpNsuzRTlax331CdLleQQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750445987; c=relaxed/simple; bh=lPT7UgNXe+2+mQGZ+O2OFlkdzmTID0pGFbrnOBlpUMA=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=CZbGyIjW/gcZ7mdZLC9bheR59hkJ5pAPg/k0udK6YEDglpRP4j1uZv4h4NtXpszaoupGJT0DAsPkRdEbd4aQtKIz4In4XnMDbfoM94GggUqzIvdyfYK/yIj6FjcfJSdXx6v6anbxVnXjSqANvbCmYj9v3nUbUlYIodxdNOYnKXI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=LHQxZlCx; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LHQxZlCx" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-4530921461aso18352085e9.0 for ; Fri, 20 Jun 2025 11:59:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750445984; x=1751050784; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=oMw1NuN4txbJObhEt8lG+lssZQKFN9y0NiSBw0A6kjw=; b=LHQxZlCx7hWlPJYHhTQ/DOnvqUqEPCQjR2H5A2+3BOWnCBr9b2nmjhNq+FunxsggYu oGxe+7jgz2toyl6hrrvjREk8PiFjlowPq1MNoulNhu4ZTm0D5nVrWiZsWGsU/4A7yqKR E6AvL9QGPeSoeyjHP+z0Vt9falzzRP3R6ToHQHYYszEHqwGsLsjq0FB81nNNibJWrQY5 A+GZhmH0fbdI0+msVm+Zm99lAvWuLA3kXj4bmLecZNFnLOyjj3T+BfbRQIClEWKyTCRc hLDJAsee44jigiEnnvcgOcegqeb/nFQHlaJGuDMPXMjsO+Xkd7XiPZSDQ9zTYW8se+Gj X16A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750445984; x=1751050784; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=oMw1NuN4txbJObhEt8lG+lssZQKFN9y0NiSBw0A6kjw=; b=n64i/s0BoqhaTea0qcRF5l4QXaTGM09+VkiFjAMilM2/S53jJHS53zCpf2gFVJaCMY 2tOb+QSwr3ioPhQBkPEw5XiW5UYcScKUEuWl+rTc6JennMkA7jfM9d+pZNWa00oE32uh VFnkZ5eE1dmQKuLD1cK3GFlSXyFSHVUM6pHSrhic0Gr2/1rnscxtF1+/gdPAFF7nWqtE Ix5Gko86FxpP4zC2LNXe0Hwyf7xG3ymC4c0ynr4LMJWRFDVzdZ1Rif4jJ817TmuI4e3S nYjTIvx218n8/UjOes+o/JDdhCR1UfC5y/Jb5QPI5R5SMJr5Dj0tEmXANnnyK9DnfpDC /BHg== X-Gm-Message-State: AOJu0Yx7WqDRlJYnkYutXrkRavJifbCGhzS3xM/yt5pshvriot2AoP8V IDWe/XCn+yGUqv+o1K+y1Q3C66Zxe2PkIqWFzu28uFuOQS7JqfzsKlGh6eFOHg== X-Gm-Gg: ASbGncsLYFIiicmLe1mdOYfYTLp4FR3X0zyz1kP8HuUkka8HuNLiebVlNVOqVCd6A/I 8a8nwex5cpdd9BfpoHtMz2PKQnABWfZ3ZhYg7ovKDaLxFEzLFKYy8dgBxchnf4ybTpszod7CzGG VG2wHmd5xpF90NYKu7d/GTCcei1LSk+sX2+/eOMcHNzj9u8SFbYYd12FoSKTHs6/KGQW1c6Ks3H caE3dSWlzbkmdwZvqI2ccaoL+U81YBSNmWG1zkVK/Tx+MYQcVOjGSnr22D3qvqvmbZE6wY87wCh 1grxLuR/DaiMyv9A+SoGuO0GEjeihRgYe5xom4Hj+8k1ilDkcMfdMRTMoTLoqMqlMuQW2fCCidb 1SiC+ X-Google-Smtp-Source: AGHT+IEUuxouL3oxexqyUVT/18z3zBxCujwiZ++SE1TR4iPN8OCGFi47vPETAmIIRF4lYuUrhkrhnQ== X-Received: by 2002:a05:600c:3b14:b0:43d:2313:7b49 with SMTP id 5b1f17b1804b1-4536539c469mr40691015e9.12.1750445984146; Fri, 20 Jun 2025 11:59:44 -0700 (PDT) Received: from [192.168.0.50] ([79.119.240.16]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535e9844a9sm68376425e9.12.2025.06.20.11.59.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 20 Jun 2025 11:59:43 -0700 (PDT) Message-ID: <4f8e955b-d728-4aca-9e65-cdb146f58ac1@gmail.com> Date: Fri, 20 Jun 2025 21:59:42 +0300 Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH rtw-next v3 07/14] wifi: rtw89: Add extra TX headroom for USB From: Bitterblue Smith To: "linux-wireless@vger.kernel.org" Cc: Ping-Ke Shih References: Content-Language: en-US In-Reply-To: In the case of USB the TX descriptor is transmitted in the same buffer as the 802.11 frame, so add the required headroom. Signed-off-by: Bitterblue Smith Acked-by: Ping-Ke Shih --- v2: - Add Acked-by. v3: - No change. --- drivers/net/wireless/realtek/rtw89/core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c index bc7af6117709..3e53b1f1a35f 100644 --- a/drivers/net/wireless/realtek/rtw89/core.c +++ b/drivers/net/wireless/realtek/rtw89/core.c @@ -5578,6 +5578,9 @@ static int rtw89_core_register_hw(struct rtw89_dev *rtwdev) int ret; int tx_headroom = IEEE80211_HT_CTL_LEN; + if (rtwdev->hci.type == RTW89_HCI_TYPE_USB) + tx_headroom += chip->txwd_body_size + chip->txwd_info_size; + hw->vif_data_size = struct_size_t(struct rtw89_vif, links_inst, n); hw->sta_data_size = struct_size_t(struct rtw89_sta, links_inst, n); hw->txq_data_size = sizeof(struct rtw89_txq); From patchwork Fri Jun 20 19:01:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bitterblue Smith X-Patchwork-Id: 898746 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (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 B237C136988 for ; Fri, 20 Jun 2025 19:01:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750446082; cv=none; b=RLFa2HZKnW324k3NDKTrEq69Jg78IJTvzCwAxSzD7UXdax1/5qGDHbuPyuCXaOHmW/PbywRBzmxqnMn4MuRb8LSCPJrsszGgY3OHYd3K/sPv/Y1xO4bQFuhRLcYFvxSWWmCR8LdP8V3ej8CNRmWIemMVEMcfuE3ir22/rqBb5+g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750446082; c=relaxed/simple; bh=gC6jCJeaopFOrccx0ZKNSyJeoP2ytc1yDUzjQNeTUsI=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=jqfqfT9qLuawDWteB23WZFu0YM+jODbTacGvLEKxeP5sCYtnUHaNVRfuAPdH+D7M6WibmdGbhTuUzyDZq7REIXvuS3bEH2bz6HSNfmkg7WrHa9HAiV1Xydaln2X8z2zD2VzQ/On7HVGg7fioxMwcTw0DjskAqGJv/nf+UUtebjI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=iD2qiM+l; arc=none smtp.client-ip=209.85.221.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="iD2qiM+l" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-3a4f71831abso1847622f8f.3 for ; Fri, 20 Jun 2025 12:01:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750446079; x=1751050879; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=qxHMMOcY66bP1LsRIoW6eOannwq1DaW34Cyw+f/JOEg=; b=iD2qiM+liX4vPRB6AEyW5X0VE6EGMGskbQ0J3MXGL5RQkFXmtW02ap6fljF/LdBAwt Aq5gg4wgxlMo4GjLAcAENDG3eR3fACmibxyrgL+VLF5kcAjbFuB0qEEKhK4O8UhXdHdv m8CeINJKi+iHOG6Ic/LibU/nDXrnN5o6LEaeWKQaLJPLxCM9GnKeoz0ZrWlVSr73GNGh cvQIK/o/tKVK/8FstuY5PAy8L/AazP5tmG1N5+kIZOlhWyB0RiAKmzyiB3rwoLRL9H5d 2LMtY57n1xOh6muoeokVFh4ENMFmZMbLU/4bz5K6OnIVyUgX9MjscDn9l6TrEF5Eu2ih iZOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750446079; x=1751050879; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qxHMMOcY66bP1LsRIoW6eOannwq1DaW34Cyw+f/JOEg=; b=IPD5Tv9BZOT5pRDhbgPl2E5+0krupRkDNqusPveCmbzVgQQbqpXkKPI5RmPBNzSy67 4SgcGpwWNmW1Xnz8IzP9qZpMB6uDU+oYwT7lJzzHU5/zhgVmGjz30ZWDskrbd587ae2L oy+eIctblQ1QfKJ6/AnGHkSHw4mpXUcBtJdIVe7q8S8Nz8Gw4R4gLT4NMRs7w33CCSK3 CMUkDIuxwAoTNfL8wjdm9E46ZCXlTCrS0dab9kMcbc7C4eaTGnSzwFw8kHJ9KBjtceJg ZeyElyjdSm/nyTcVi18usP3dp/N+dPCYMcdbBgL7LrksX1eJSa18J70ohke0EEAKgcCV qddQ== X-Gm-Message-State: AOJu0YxkKaZ6q0Qi3BcoS0qqZxhqcahTfaAAoX+dxfJu47JxNg5r7dZs tOb1tUOeJwrGXlKROGW1Dxaj1hJifQEjbEdt9r9SoIE+bpcxpwpC90ffgG/DNg== X-Gm-Gg: ASbGncsA5gXj1MLwygieEq4jj2iLXPiaZsCnU/W2LdzlILIIHjJNB3T6ppwOWra3Wv7 6raEmuvyG8H8qAy/ooypjSL6oltTOHfGY/o5aHkdBnaBWm41mxhIDUdusq/bmgyeGgSJjeMvvk4 kmzyZmB1QI+VTiU/070vrndbJZYlGXHuv0AHS4d+BjtvItkU+VrGmXPs9y9K5qmqeJXQxs3ckxG do/NJq/ZkKuh1jttQBhLHoO6roVvr/m4ABbk4jHk56ZMUPOeObIWLTZpvrqiJqfdaTOmJWbgxDS fUlc9O3pghIw1yrSNGwPFBklweGGCeE434TasZVBMYa6x7VOzoKMHGSWJfDUlvfRnjDChQ== X-Google-Smtp-Source: AGHT+IHQpBnQJxO48Mvs1hG6WsuhZEpWkeki4eqewrGlisNzW/UX/BTziFGEHYmeJXQ8kIc/NhpSWg== X-Received: by 2002:a05:6000:25ca:b0:3a3:6e85:a529 with SMTP id ffacd0b85a97d-3a6d1325e94mr3620524f8f.51.1750446078866; Fri, 20 Jun 2025 12:01:18 -0700 (PDT) Received: from [192.168.0.50] ([79.119.240.16]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d117c66esm2683271f8f.47.2025.06.20.12.01.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 20 Jun 2025 12:01:18 -0700 (PDT) Message-ID: Date: Fri, 20 Jun 2025 22:01:17 +0300 Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH rtw-next v3 09/14] wifi: rtw89: 8851b: Modify rtw8851b_pwr_{on,off}_func() for USB From: Bitterblue Smith To: "linux-wireless@vger.kernel.org" Cc: Ping-Ke Shih References: Content-Language: en-US In-Reply-To: There are a few differences in the power on/off functions between PCIE and USB. While the RTL8851BU appears to work without these changes, it's probably best to implement them, in case they are needed in some situations. Signed-off-by: Bitterblue Smith --- v2: - Patch is new in v2. v3: - Add B_AX_SOP_EDSWR to reg.h, which was accidentally missing in v2. --- drivers/net/wireless/realtek/rtw89/reg.h | 1 + drivers/net/wireless/realtek/rtw89/rtw8851b.c | 22 ++++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/realtek/rtw89/reg.h b/drivers/net/wireless/realtek/rtw89/reg.h index 4a65b0c9c2d1..c680441232fb 100644 --- a/drivers/net/wireless/realtek/rtw89/reg.h +++ b/drivers/net/wireless/realtek/rtw89/reg.h @@ -21,6 +21,7 @@ #define R_AX_SYS_PW_CTRL 0x0004 #define B_AX_SOP_ASWRM BIT(31) #define B_AX_SOP_PWMM_DSWR BIT(29) +#define B_AX_SOP_EDSWR BIT(28) #define B_AX_XTAL_OFF_A_DIE BIT(22) #define B_AX_DIS_WLBT_PDNSUSEN_SOPC BIT(18) #define B_AX_RDY_SYSPWR BIT(17) diff --git a/drivers/net/wireless/realtek/rtw89/rtw8851b.c b/drivers/net/wireless/realtek/rtw89/rtw8851b.c index e6ca3b045fc2..30fa64f02e94 100644 --- a/drivers/net/wireless/realtek/rtw89/rtw8851b.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8851b.c @@ -385,7 +385,8 @@ static int rtw8851b_pwr_on_func(struct rtw89_dev *rtwdev) rtw89_write8_clr(rtwdev, R_AX_PLATFORM_ENABLE, B_AX_PLATFORM_EN); rtw89_write8_set(rtwdev, R_AX_PLATFORM_ENABLE, B_AX_PLATFORM_EN); - rtw89_write32_clr(rtwdev, R_AX_SYS_SDIO_CTRL, B_AX_PCIE_CALIB_EN_V1); + if (rtwdev->hci.type == RTW89_HCI_TYPE_PCIE) + rtw89_write32_clr(rtwdev, R_AX_SYS_SDIO_CTRL, B_AX_PCIE_CALIB_EN_V1); ret = rtw89_mac_write_xtal_si(rtwdev, XTAL_SI_ANAPAR_WL, XTAL_SI_OFF_WEI, XTAL_SI_OFF_WEI); @@ -430,8 +431,9 @@ static int rtw8851b_pwr_on_func(struct rtw89_dev *rtwdev) rtw89_write32_clr(rtwdev, R_AX_SYS_ISO_CTRL, B_AX_PWC_EV2EF_B14); rtw89_write32_clr(rtwdev, R_AX_PMC_DBG_CTRL2, B_AX_SYSON_DIS_PMCR_AX_WRMSK); - rtw89_write32_set(rtwdev, R_AX_GPIO0_16_EECS_EESK_LED1_PULL_LOW_EN, - B_AX_GPIO10_PULL_LOW_EN | B_AX_GPIO16_PULL_LOW_EN_V1); + if (rtwdev->hci.type == RTW89_HCI_TYPE_PCIE) + rtw89_write32_set(rtwdev, R_AX_GPIO0_16_EECS_EESK_LED1_PULL_LOW_EN, + B_AX_GPIO10_PULL_LOW_EN | B_AX_GPIO16_PULL_LOW_EN_V1); if (rtwdev->hal.cv == CHIP_CAV) { ret = rtw89_read_efuse_ver(rtwdev, &val8); @@ -515,7 +517,10 @@ static int rtw8851b_pwr_off_func(struct rtw89_dev *rtwdev) if (ret) return ret; - rtw89_write32(rtwdev, R_AX_WLLPS_CTRL, SW_LPS_OPTION); + if (rtwdev->hci.type == RTW89_HCI_TYPE_PCIE) + rtw89_write32(rtwdev, R_AX_WLLPS_CTRL, SW_LPS_OPTION); + else if (rtwdev->hci.type == RTW89_HCI_TYPE_USB) + rtw89_write32_clr(rtwdev, R_AX_SYS_PW_CTRL, B_AX_SOP_EDSWR); if (rtwdev->hal.cv == CHIP_CAV) { rtw8851b_patch_swr_pfm2pwm(rtwdev); @@ -524,7 +529,14 @@ static int rtw8851b_pwr_off_func(struct rtw89_dev *rtwdev) rtw89_write32_set(rtwdev, R_AX_SPSANA_ON_CTRL1, B_AX_FPWMDELAY); } - rtw89_write32_set(rtwdev, R_AX_SYS_PW_CTRL, B_AX_APFM_SWLPS); + if (rtwdev->hci.type == RTW89_HCI_TYPE_PCIE) { + rtw89_write32_set(rtwdev, R_AX_SYS_PW_CTRL, B_AX_APFM_SWLPS); + } else if (rtwdev->hci.type == RTW89_HCI_TYPE_USB) { + val32 = rtw89_read32(rtwdev, R_AX_SYS_PW_CTRL); + val32 &= ~B_AX_AFSM_PCIE_SUS_EN; + val32 |= B_AX_AFSM_WLSUS_EN; + rtw89_write32(rtwdev, R_AX_SYS_PW_CTRL, val32); + } return 0; } From patchwork Fri Jun 20 19:03:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bitterblue Smith X-Patchwork-Id: 898745 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (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 6BF271CBEB9 for ; Fri, 20 Jun 2025 19:03:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750446187; cv=none; b=mzN39WorDjhkcnr4riA09frivTmuC7V7o23xs2OhlMBMmoBf1Ylrm6re/TEPIdSewpOHSlPAs3eMYV1q5pAYBuZEfWPB8k2KkLNWhNZfwIWLvqhE3/KWoUsNfiI/pGq/5A1B/7bhW62h0Kv7TCKh3OdZT8hj7olkE5YyrvNrO5c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750446187; c=relaxed/simple; bh=DhdUEWXwcLveeomNh3l8ywNA/4p4rFBmpho8I+vCkxg=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=sy7w1iXQiZyVAg8H4mhIY6PXGqPNR73WpQPRzyYLOpL4W0ieRr7bGbsH7apfYeRKXI4O8omX/TClTQ0+OvgjnSHvo+eMRSOONvrLuoaUdJP3+zDa0ZgUn6QYRR+LP+EfzCqNhJzXyAYpHxAfX1UH+HED2/WD060cH9HQOmKi/Hg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=d3FKA9kl; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="d3FKA9kl" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-453647147c6so12072405e9.2 for ; Fri, 20 Jun 2025 12:03:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750446184; x=1751050984; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=pBmDc7Jb2nUGNlirpNdEGQGBNBqfcVYkc3AV/4dowWw=; b=d3FKA9klvJLQgmTog1KZtg/MRHVdMqICf+Q7rlKnPOV1+zQEvHrslxWVRO7bdFg6Yc iLeAR3rEifP/f4qxEEnTcy/mMKKgYK8H1FWUL4Q3zEgMtFDe6PMb2O635DzkrVrVzCSR 88z5msQK44D8DqYteO0r6YuVcxNXX0fIM1N9n2lt7UgXZKL5fwWXPP0p2O6c6SzUFgEA wz3DfC9oOqG+YBnQyZ7ekLb7DigegU5STyswfXkP1hw/oKBJsJBtoRInAkrV3+6tm8Ry sjV8xO/7BhVmyotof1CQPAYqPBt8r19iYCqOBgapZQ0WD0jDe3zK8XDFJxsgzhfcVLb2 wMIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750446184; x=1751050984; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=pBmDc7Jb2nUGNlirpNdEGQGBNBqfcVYkc3AV/4dowWw=; b=OU+j8bQdJoYweRwaOGB0fwToHvhulMwB+CX7idxYoFvv8YRQfpJm1Oiz8XqmEdsvdR bfFWayrkhtWXaPEA9eSE4z5BB+OJFrN1jMsOERCatMbCpIjw07a2VlkSmb7EihdFJIEg drW0l+Kreq81fRHLIPdfpb72FFBtEMIp1bF21S8J5mPsOxLr43GeB7blI2WyPpM2L+2x MdpWGe9hEu0Cf+G4mdD6eJj3ntOhH+w8QRJQFT9rooBC50yLoE0qNBDwLhlc2LgDXFiI SdwUstG6SIFzKrskt07uX+q58Ye1fJQZvjpQgzhi+B2Vpnbu6xaY4t3Z2VVtRLhRRlgI cNSw== X-Gm-Message-State: AOJu0Yxgbj6P/PBWErVkb6a9PPtagfrgblpRELN3wu4R/4BWdhVzyEhv i6KxkRJ48qI5JK0hjGT6eJfHVk8AulMQRZcxNm3S43u0Prg0cS3IFHDtK53VDg== X-Gm-Gg: ASbGncukuXJX8L7/a4MDgjEUSXsNL+9SBRYanxdffjnTBTDyDq0zZ2e7AuOmfLc7/Fg 4pEfD7wnWayaXcF3fmtst22by/44Yxfi/MiOjYU/qNoQ+aYV94ZttTUxOjl3GEaDdUAaA33LJCr EQRyqI3a3GcKrrJyPh1em22Aih5bf5+LEnSI7D8WBMnMGJG0ZwSDR/C645lyycQpfzKC0K0KNrD SFc/sK0iJE9u+K+p2FDqsxpYJKZxC1IqUwsRbqWokOobgbg+lTojRKTQQHDYfc08Id3nscHOWN8 zdsBt9iMqI8U8W5cHAOt895O0G7wqhy0r+EPaifHFhp9qUAZfMeomInLNz+SUP43srW0JQ== X-Google-Smtp-Source: AGHT+IHJAWwSJBpindfcbhOQYwEbVAECXyhrQxMdwqGK2p44bfD395RHlAh06KZDGjaa93M0AHYDiw== X-Received: by 2002:a05:600c:468b:b0:442:f98e:f37 with SMTP id 5b1f17b1804b1-453658ba2e3mr36986635e9.21.1750446183665; Fri, 20 Jun 2025 12:03:03 -0700 (PDT) Received: from [192.168.0.50] ([79.119.240.16]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535e9844c3sm67915625e9.11.2025.06.20.12.03.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 20 Jun 2025 12:03:03 -0700 (PDT) Message-ID: <3fcba6f4-8c7a-4a3e-a2e9-abf7c70f31fb@gmail.com> Date: Fri, 20 Jun 2025 22:03:02 +0300 Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH rtw-next v3 11/14] wifi: rtw89: Add some definitions for USB From: Bitterblue Smith To: "linux-wireless@vger.kernel.org" Cc: Ping-Ke Shih References: Content-Language: en-US In-Reply-To: Add various register and bit definitions which will be used by the new USB driver. Signed-off-by: Bitterblue Smith Acked-by: Ping-Ke Shih --- v2: - Add Acked-by. v3: - No change. --- drivers/net/wireless/realtek/rtw89/reg.h | 29 +++++++++++++++++++++++ drivers/net/wireless/realtek/rtw89/txrx.h | 1 + 2 files changed, 30 insertions(+) diff --git a/drivers/net/wireless/realtek/rtw89/reg.h b/drivers/net/wireless/realtek/rtw89/reg.h index be4a8486c9f8..aa9e1668996d 100644 --- a/drivers/net/wireless/realtek/rtw89/reg.h +++ b/drivers/net/wireless/realtek/rtw89/reg.h @@ -382,6 +382,18 @@ #define B_AX_ACH1_BUSY BIT(9) #define B_AX_ACH0_BUSY BIT(8) +#define R_AX_USB_ENDPOINT_0 0x1060 +#define B_AX_EP_IDX GENMASK(3, 0) +#define R_AX_USB_ENDPOINT_2 0x1068 +#define NUMP 0x1 +#define R_AX_USB_HOST_REQUEST_2 0x1078 +#define B_AX_R_USBIO_MODE BIT(4) +#define R_AX_USB3_MAC_NPI_CONFIG_INTF_0 0x1114 +#define B_AX_SSPHY_LFPS_FILTER BIT(31) +#define R_AX_USB_WLAN0_1 0x1174 +#define B_AX_USBRX_RST BIT(9) +#define B_AX_USBTX_RST BIT(8) + #define R_AX_PCIE_DBG_CTRL 0x11C0 #define B_AX_DBG_DUMMY_MASK GENMASK(23, 16) #define B_AX_PCIE_DBG_SEL_MASK GENMASK(15, 13) @@ -461,6 +473,17 @@ #define R_AX_WP_PAGE_CTRL2_V1 0x17A4 #define R_AX_WP_PAGE_INFO1_V1 0x17A8 +#define R_AX_USB_ENDPOINT_0_V1 0x5060 +#define B_AX_EP_IDX_V1 GENMASK(3, 0) +#define R_AX_USB_ENDPOINT_2_V1 0x5068 +#define R_AX_USB_HOST_REQUEST_2_V1 0x5078 +#define B_AX_R_USBIO_MODE_V1 BIT(4) +#define R_AX_USB3_MAC_NPI_CONFIG_INTF_0_V1 0x5114 +#define B_AX_SSPHY_LFPS_FILTER_V1 BIT(31) +#define R_AX_USB_WLAN0_1_V1 0x5174 +#define B_AX_USBRX_RST_V1 BIT(9) +#define B_AX_USBTX_RST_V1 BIT(8) + #define R_AX_H2CREG_DATA0_V1 0x7140 #define R_AX_H2CREG_DATA1_V1 0x7144 #define R_AX_H2CREG_DATA2_V1 0x7148 @@ -1027,6 +1050,12 @@ #define B_AX_DISPATCHER_INTN_SEL_MASK GENMASK(7, 4) #define B_AX_DISPATCHER_CH_SEL_MASK GENMASK(3, 0) +#define R_AX_RXDMA_SETTING 0x8908 +#define B_AX_BULK_SIZE GENMASK(1, 0) +#define USB11_BULKSIZE 0x2 +#define USB2_BULKSIZE 0x1 +#define USB3_BULKSIZE 0x0 + #define R_AX_RX_FUNCTION_STOP 0x8920 #define B_AX_HDR_RX_STOP BIT(0) diff --git a/drivers/net/wireless/realtek/rtw89/txrx.h b/drivers/net/wireless/realtek/rtw89/txrx.h index 94f27a9ee9f7..ec01bfc363da 100644 --- a/drivers/net/wireless/realtek/rtw89/txrx.h +++ b/drivers/net/wireless/realtek/rtw89/txrx.h @@ -73,6 +73,7 @@ static inline u8 rtw89_get_data_nss(struct rtw89_dev *rtwdev, u16 hw_rate) #define RTW89_TXWD_BODY0_FW_DL BIT(20) #define RTW89_TXWD_BODY0_CHANNEL_DMA GENMASK(19, 16) #define RTW89_TXWD_BODY0_HDR_LLC_LEN GENMASK(15, 11) +#define RTW89_TXWD_BODY0_STF_MODE BIT(10) #define RTW89_TXWD_BODY0_WD_PAGE BIT(7) #define RTW89_TXWD_BODY0_HW_AMSDU BIT(5) #define RTW89_TXWD_BODY0_HW_SSN_SEL GENMASK(3, 2) From patchwork Fri Jun 20 19:05:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bitterblue Smith X-Patchwork-Id: 898744 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (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 AE45A21FF45 for ; Fri, 20 Jun 2025 19:05:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750446316; cv=none; b=IrsttLqrazsRgdrNEWpxehHLlTW2Az2zKmxcn+FuhukNyHz9KP3phefgvo2rrNGsC5QnO8g8X+KE6QNa+fGvfKUO0Y5hWk+bn/ObdZBvCy/OjgtnawpJcXJNqXo0eV64ZekojC66Q0sVshZVPNOfhQgGFo7pXmUzvuM9RdZVBJQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750446316; c=relaxed/simple; bh=hOaNBd+v6JmFJPZRq0UiAHqQ2HkNHQwK40X+1XxcKgU=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=RinD3z8olYdW2K4MdhQgU/01Jj33CvVPJl/47Fv44Kn/2uLCHd/OHh3bKidpkVvrDLoYrH/wF+flZKbMd6V1jvxXjQvSDc2thSHWwRlyUZFg/Tin17CAuQ75H+32FUZHHLf+l2E48liDSlIXkiWT+HwmLIW2QIoSZVzNlLMWBGk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=UjtTHfiE; arc=none smtp.client-ip=209.85.221.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UjtTHfiE" Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3a5123c1533so1127424f8f.2 for ; Fri, 20 Jun 2025 12:05:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750446313; x=1751051113; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=GHBg08t98vF5mnv3HSHdhGU+q6xS6XPuyl8IkNvyWig=; b=UjtTHfiEmVETtKnWEp7otY9+2r9CtKognDrzbyBF9oLt7jvEKHOptGMxzolzFFJ8j4 ud55oZtE4WSkuUWr0VLG4xnpC4VM16hqBBgi0/hR6q/BxljlIdEUhGdagFfknFY4YolL 7uLZOhzCLqkRoCw3mxUssvxBKpmA4X8sTBIJWlOEXt/HMJmVs90gFhUU2S3UPN1G+yCu aLtHVefQEbFgWXAIC0rG9Ykqx0K06okemzpOPaxUCfpqH8PsYPlUB+rXeKY9Z1fLCAnp Lo21C8eU6nnFXeMm+AJgxGCzmnWD/UGObQOYi5aG2pLu4qa430lD7167GuQ9gZ6UwdaW RIjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750446313; x=1751051113; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=GHBg08t98vF5mnv3HSHdhGU+q6xS6XPuyl8IkNvyWig=; b=RvhEtGPWhXfz5hG6YjgEEoLB0CUpUhZrkXwR5TFqiHvwn2YQZP0Lvfd1Jg/xdWdOgz x78lsY/D7HuJBYU5vSTPajABj2QidD+K1f130bvWM3YATQPiUXKFgk5g8lGBKvxk6KNW yJbtJbN10gYVWCB2x/cN/NqKp+KaoymtuJ+b75N6/h2vmfCwT2Fu7mU67fYd3SbzYKj8 g9zcnJjnmRV3oN18j65sfTTH2F5Y2DNaEb6R51dcsNpUqIdzYMbjaHl+OycJYbAHJfEm WXFBmFVTgd+YN4iGjTdZX193MDLJigOpS7r6b3xEMNurd8oRGN814jNTbJqr/WyuyuN4 yvCw== X-Gm-Message-State: AOJu0YykJxMm3AB356JCKCaiuf1/qkPhvQDNv3mrgFie4571/4KQ/L0j ty3AmoR0GejqQfp+P9m2t2NTdDcv/blCtJmnp7g7q6cGD4DFtG8CYlzWAivyyA== X-Gm-Gg: ASbGncsgTf5A5zyziaclH33nibNyGFtd/McTq6h8fxSS05APTc8GVROiATFcn99nLl2 sVJBvq1HDE3l9YFjpGoGwQ6yYJa1y0FxBDmtw6Q66YmSc4z+bcVYVa/V2p+nFKvdoj08ayQtnsM FcbqSIUvV4QB1VxTSOiFYVfXpktWX/yrABAZ9kLf00qtQktSlsiawENR8NtnLfyryiLss5OIT6Z cylBs7V/2MmOCfduJnOcAWDn9liaPWWYcCBrUtSRpQuHoGRwtGmPWKvbS1zAzc5bPGM3lVD9ygf vt+sO0uB2Odth4qw6M5SETxYr2n9B3wZxqZt6PX/iZ6MhcE9pkU0BQN5BS1E3nTD7r1tdA== X-Google-Smtp-Source: AGHT+IHd2WonP+wgcMyqtP3XkJnb1L9cYcJ/DO6ZAgQrYrsqYJ0htosBVWSwaUvL9YkuvhVDGRdYWQ== X-Received: by 2002:a05:6000:4013:b0:3a4:d6aa:1277 with SMTP id ffacd0b85a97d-3a6d12d5274mr3278026f8f.37.1750446312951; Fri, 20 Jun 2025 12:05:12 -0700 (PDT) Received: from [192.168.0.50] ([79.119.240.16]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a6d0f10a8csm2820658f8f.13.2025.06.20.12.05.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 20 Jun 2025 12:05:12 -0700 (PDT) Message-ID: Date: Fri, 20 Jun 2025 22:05:11 +0300 Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH rtw-next v3 13/14] wifi: rtw89: Add rtw8851bu.c From: Bitterblue Smith To: "linux-wireless@vger.kernel.org" Cc: Ping-Ke Shih References: Content-Language: en-US In-Reply-To: This is the entry point for the new rtw89_8851bu module. Signed-off-by: Bitterblue Smith Acked-by: Ping-Ke Shih --- v2: - Add USB ID 3625:010b for TP-Link Archer TX10UB Nano. - Add USB ID 7392:e611 for Edimax EW-7611UXB. v3: - Add Acked-by. --- .../net/wireless/realtek/rtw89/rtw8851bu.c | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8851bu.c diff --git a/drivers/net/wireless/realtek/rtw89/rtw8851bu.c b/drivers/net/wireless/realtek/rtw89/rtw8851bu.c new file mode 100644 index 000000000000..c3722547c6b0 --- /dev/null +++ b/drivers/net/wireless/realtek/rtw89/rtw8851bu.c @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause +/* Copyright(c) 2025 Realtek Corporation + */ + +#include +#include +#include "rtw8851b.h" +#include "usb.h" + +static const struct rtw89_driver_info rtw89_8851bu_info = { + .chip = &rtw8851b_chip_info, + .variant = NULL, + .quirks = NULL, +}; + +static const struct usb_device_id rtw_8851bu_id_table[] = { + { USB_DEVICE_AND_INTERFACE_INFO(0x0bda, 0xb851, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&rtw89_8851bu_info }, + /* TP-Link Archer TX10UB Nano */ + { USB_DEVICE_AND_INTERFACE_INFO(0x3625, 0x010b, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&rtw89_8851bu_info }, + /* Edimax EW-7611UXB */ + { USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xe611, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&rtw89_8851bu_info }, + {}, +}; +MODULE_DEVICE_TABLE(usb, rtw_8851bu_id_table); + +static struct usb_driver rtw_8851bu_driver = { + .name = KBUILD_MODNAME, + .id_table = rtw_8851bu_id_table, + .probe = rtw89_usb_probe, + .disconnect = rtw89_usb_disconnect, +}; +module_usb_driver(rtw_8851bu_driver); + +MODULE_AUTHOR("Bitterblue Smith "); +MODULE_DESCRIPTION("Realtek 802.11ax wireless 8851BU driver"); +MODULE_LICENSE("Dual BSD/GPL");