Received: by 2002:a05:6602:2086:0:0:0:0 with SMTP id a6csp3318797ioa; Tue, 26 Apr 2022 00:54:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyfGbBZa56y5okSdlQkz7P+yNrBH+sMisVvw5NcEJ3cPUg4k72pWL60xhynnPFLpGMU78VU X-Received: by 2002:a17:907:6d11:b0:6f3:66a9:b57b with SMTP id sa17-20020a1709076d1100b006f366a9b57bmr13829242ejc.374.1650959665885; Tue, 26 Apr 2022 00:54:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650959665; cv=none; d=google.com; s=arc-20160816; b=vaPZRfMr+eAlSHrG7O8tGoJj2X/bMqY6bb+wp/DqBBClHAs9zV3HR4nhV8pinmotWn 6h0rupsndSmS9arTbZP3eYVZG7rA0wd1deRX54kXk0LQe0DziZVegFw/iSZsBmCtEAH9 lcXiB4PKDEH4kn7ND5VjHP4g7cmTGdDSgKhm0MT5KqkPchZK97NWBJ/zpgPfDiDIGVS9 by5+6nJZcl6rZRmMxLM/Jn/pDzYjhBZ6VCl9mFCWbCkZ343KSCpmxsO+nxRRKMtRmqqO g4yMWbToUUxrLttl34ETIxz9zlXhhMTO2ckR4ePh6tHi8XOz4xCrBzUthHIXa8KxWRBp gc6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:authenticated-by; bh=+Ncn5BfjYPZGQ0lXg48e/taFXq09dIQIGgQVVxthA6c=; b=Q5SIMeEt791rrEIWvmqlVlOzonNlYVcjOJjzJx37TFp1IVHb66Jwe6N1nnoXjNGiYP zyGq/FqpZbQVo1w/P9DCVnALeqebwGzUZckFe1K/elMnOvaDiLHQeM7tYLgSLHJmgUk1 mGGeQG3yIixSZlGdQv6ThIeorpiHNAAC4VVovEZ0cLf7hUkpTPeOwuAckjfuYy3ck4CS DVitWA3OtoXUWjrOyXhXfyUJ4OQXdFKgziMMHvbcYKJcFCWk7xz9K47kL4FrHuTXsIb1 VXfpeiR2PkUiUnxBXmWZToQWdC+EAKZbzxPoM0LnsVjCj9q0INykglvcr/WIpB7XQkd3 DDhg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u17-20020a17090657d100b006e884e059e0si15140389ejr.890.2022.04.26.00.54.06; Tue, 26 Apr 2022 00:54:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233576AbiDZGgV (ORCPT + 67 others); Tue, 26 Apr 2022 02:36:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50386 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229548AbiDZGgS (ORCPT ); Tue, 26 Apr 2022 02:36:18 -0400 Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2D9571582E for ; Mon, 25 Apr 2022 23:33:10 -0700 (PDT) Authenticated-By: X-SpamFilter-By: ArmorX SpamTrap 5.73 with qID 23Q6WuKN2015183, This message is accepted by code: ctloc85258 Received: from mail.realtek.com ([172.21.6.27]) by rtits2.realtek.com.tw (8.15.2/2.71/5.88) with ESMTPS id 23Q6WuKN2015183 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 26 Apr 2022 14:32:56 +0800 Received: from RTEXMBS04.realtek.com.tw (172.21.6.97) by RTEXH36504.realtek.com.tw (172.21.6.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Tue, 26 Apr 2022 14:32:56 +0800 Received: from localhost (172.21.69.188) by RTEXMBS04.realtek.com.tw (172.21.6.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Tue, 26 Apr 2022 14:32:56 +0800 From: Ping-Ke Shih To: CC: Subject: [PATCH 00/15] rtw89: 8852c: add RFK and then enable 8852ce in Makefile and Kconfig Date: Tue, 26 Apr 2022 14:32:20 +0800 Message-ID: <20220426063235.41650-1-pkshih@realtek.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [172.21.69.188] X-ClientProxiedBy: RTEXMBS02.realtek.com.tw (172.21.6.95) To RTEXMBS04.realtek.com.tw (172.21.6.97) X-KSE-ServerInfo: RTEXMBS04.realtek.com.tw, 9 X-KSE-AntiSpam-Interceptor-Info: trusted connection X-KSE-Antiphishing-Info: Clean X-KSE-Antiphishing-ScanningType: Deterministic X-KSE-Antiphishing-Method: None X-KSE-Antiphishing-Bases: 04/26/2022 06:17:00 X-KSE-AttachmentFiltering-Interceptor-Info: no applicable attachment filtering rules found X-KSE-Antivirus-Interceptor-Info: scan successful X-KSE-Antivirus-Info: =?big5?B?Q2xlYW4sIGJhc2VzOiAyMDIyLzQvMjYgpFekyCAwNDozODowMA==?= X-KSE-BulkMessagesFiltering-Scan-Result: protection disabled X-KSE-ServerInfo: RTEXH36504.realtek.com.tw, 9 X-KSE-Attachment-Filter-Triggered-Rules: Clean X-KSE-Attachment-Filter-Triggered-Filters: Clean X-KSE-BulkMessagesFiltering-Scan-Result: protection disabled X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org After this patchset, basic functions are ready, so we can enable 8852ce. It can play as STA, AP and monitor modes. The BT coexistence and power save are still cooking, but these don't affect the performance of Wi-Fi only. Patches 1-9 are related to RF calibration (RFK). These RFK can be called once interface is going up, or when we are going to connect to AP in certain channel, or band is changed. The general steps of calibration are to backup registers (optional) and set a set of registers before doing calibration according to channels or something else, and then trigger the calibration and poll if calibration is complete. Then, check the result is positive or not to decide to adjust parameters and re-trigger again. If the result is okay, set registers accordingly, and restore registers we backup before (optional). Patches 10-11 are to add necessary chip_ops and chip_info. Patch 12 is to fine tune polling interval to enter/leave low power mode. Since 8852ce will do this more frequently, polling interval become more important. Patch 13-14 are to correct registers settings found when we develop 8852ce. Final patch is to add 8852ce to Makefile and Kconfig, so user can use it with firmware version 0.27.20.0 that I will send out after this patchset. Ping-Ke Shih (15): rtw89: 8852c: rfk: add RFK tables rtw89: 8852c: rfk: add DACK rtw89: 8852c: rfk: add LCK rtw89: 8852c: rfk: add TSSI rtw89: 8852c: rfk: add RCK rtw89: 8852c: rfk: add RX DCK rtw89: 8852c: rfk: add IQK rtw89: 8852c: rfk: add DPK rtw89: 8852c: rfk: get calibrated channels to notify firmware rtw89: 8852c: add chip_ops::bb_ctrl_btc_preagc rtw89: 8852c: add basic and remaining chip_info rtw89: ps: fine tune polling interval while changing low power mode rtw89: correct AID settings of beamformee rtw89: 8852c: correct register definitions used by 8852c rtw89: 8852c: add 8852ce to Makefile and Kconfig drivers/net/wireless/realtek/rtw89/Kconfig | 18 +- drivers/net/wireless/realtek/rtw89/Makefile | 9 + drivers/net/wireless/realtek/rtw89/core.h | 19 +- drivers/net/wireless/realtek/rtw89/mac.c | 7 +- drivers/net/wireless/realtek/rtw89/reg.h | 219 +- .../net/wireless/realtek/rtw89/rtw8852a_rfk.c | 8 +- drivers/net/wireless/realtek/rtw89/rtw8852c.c | 181 +- .../net/wireless/realtek/rtw89/rtw8852c_rfk.c | 3812 +++++++++++++++++ .../net/wireless/realtek/rtw89/rtw8852c_rfk.h | 14 + .../realtek/rtw89/rtw8852c_rfk_table.c | 781 ++++ .../realtek/rtw89/rtw8852c_rfk_table.h | 67 + 11 files changed, 5107 insertions(+), 28 deletions(-) create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852c_rfk_table.c create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852c_rfk_table.h -- 2.25.1