From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-il1-x12a.google.com (mail-il1-x12a.google.com [IPv6:2607:f8b0:4864:20::12a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 72A443B29E for ; Thu, 30 Sep 2021 14:27:05 -0400 (EDT) Received: by mail-il1-x12a.google.com with SMTP id i13so7934408ilm.4 for ; Thu, 30 Sep 2021 11:27:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-transfer-encoding; bh=CyZo1Wk+bRXe5UmAf1knZPPa6xO1f9zFNbj18xgTgNI=; b=IEelyIc2wlYeHcFpv/xKInxkWRKzktmGnxaUxVf8Wub761QQlZb/6oUKSYaCUMR9Aa f2GVM+skRvAp10evj9BAfitaT+MbCZtYr9q4njPeZtkkV9u/fY+IdSf/GFGZnrV0GjBp voIGwwh85F3Zde6JwzmaMiFcw7gJs5ivlamhUi06WuRjGpSRnMu5DTSfsy3qQ9hi/0CU 6JBVDNjdWRA945y7epVb6wb8F4FdFRzgW0N5ZdLtBv23xV6xLB96dPBxeQlbqPaLEkFA Nh1kuVc/RmyMrc4iwQ4MGaEi3jlLQKEv6kHnAiDES/t5Og02nh1p0FKju3+r62/I8Z9X fmGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-transfer-encoding; bh=CyZo1Wk+bRXe5UmAf1knZPPa6xO1f9zFNbj18xgTgNI=; b=CI4LzKE19y0R07/XRSDSJpC05aVx+OTOSM+0kvVxu8ONo9h7+K2kHCKmpVfQsmYxRh CCGFCLfcdUX300c0x2lKBYUU2TJkMSB/Rjxe+EyYca5yvxzn3DU+OX6pXpQuGp9Q+G1N DWjEoorj7PFQhbwpd2hHwh4OQeYb7QERQy8cGMwZD1HC1kEFOguOcNvUj1T/alTfdJBm nevRuEcUNDrR8o0vh3wzdR4YJS67P0eizK1m0TlVV/uL3j0dgR2hV6IsIzeMRMjK93Zn cCS2sbxNWcJ+vr9vtSsbHtnp59Wpu1r35LrvX7SH593Bse+vDq377trIXBp/8HAPZLHS LMAw== X-Gm-Message-State: AOAM531sADCexfmOYUDIxMArrO2uKAWbbuhEeJYso2Mu9aH6FfpHTad+ AF7BeZBqZyyJ4Rh0fb8YiqRg5sUGom7bFw32YxL2zdrD X-Google-Smtp-Source: ABdhPJxmEdZr/3TI67vbSHyHp3QY6zXvh0Y1ZZE1fNmB0Ixx75oLjJaySLhJaTIOkNPCn3BzRXjgDaDA5rlxAzW7P0c= X-Received: by 2002:a92:1a11:: with SMTP id a17mr4456346ila.221.1633026424228; Thu, 30 Sep 2021 11:27:04 -0700 (PDT) MIME-Version: 1.0 References: <20210930104422.968365-1-chris.chiu@canonical.com> In-Reply-To: <20210930104422.968365-1-chris.chiu@canonical.com> From: Dave Taht Date: Thu, 30 Sep 2021 11:26:52 -0700 Message-ID: To: Make-Wifi-fast , chris.chiu@canonical.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: [Make-wifi-fast] Fwd: [PATCH] rtl8xxxu: Use lower tx rates for the ack packet X-BeenThere: make-wifi-fast@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Sep 2021 18:27:05 -0000 I am glad more folk are looking at the excessive retransmit problem ---------- Forwarded message --------- From: Chris Chiu Date: Thu, Sep 30, 2021 at 7:31 AM Subject: [PATCH] rtl8xxxu: Use lower tx rates for the ack packet To: , , , Cc: , , , Chris Chiu According to the Realtek propritary driver and the rtw88 driver, the tx rates of the ack (includes block ack) are initialized with lower tx rates (no HT rates) which is set by the RRSR register value. In real cases, ack rate higher than current tx rate could lead to difficulty for the receiving end to receive management/control frames. The retransmission rate would be higher then expected when the driver is acting as receiver and the RSSI is not good. Cross out higer rates for ack packet before implementing dynamic rrsr configuration Signed-off-by: Chris Chiu --- drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 7 ++++++- drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c index 774341b0005a..413cccd88f5c 100644 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c @@ -4460,13 +4460,18 @@ void rtl8xxxu_gen1_init_aggregation(struct rtl8xxxu_priv *priv) static void rtl8xxxu_set_basic_rates(struct rtl8xxxu_priv *priv, u32 rate_= cfg) { + struct ieee80211_hw *hw =3D priv->hw; u32 val32; u8 rate_idx =3D 0; rate_cfg &=3D RESPONSE_RATE_BITMAP_ALL; val32 =3D rtl8xxxu_read32(priv, REG_RESPONSE_RATE_SET); - val32 &=3D ~RESPONSE_RATE_BITMAP_ALL; + val32 =3D rtl8xxxu_read32(priv, REG_RESPONSE_RATE_SET); + if (hw->conf.chandef.chan->band =3D=3D NL80211_BAND_5GHZ) + val32 &=3D RESPONSE_RATE_RRSR_INIT_5G; + else + val32 &=3D RESPONSE_RATE_RRSR_INIT_2G; val32 |=3D rate_cfg; rtl8xxxu_write32(priv, REG_RESPONSE_RATE_SET, val32); diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h index a2a31f374a82..438b65ba9640 100644 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h @@ -516,6 +516,8 @@ #define REG_RESPONSE_RATE_SET 0x0440 #define RESPONSE_RATE_BITMAP_ALL 0xfffff #define RESPONSE_RATE_RRSR_CCK_ONLY_1M 0xffff1 +#define RESPONSE_RATE_RRSR_INIT_2G 0x15f +#define RESPONSE_RATE_RRSR_INIT_5G 0x150 #define RSR_1M BIT(0) #define RSR_2M BIT(1) #define RSR_5_5M BIT(2) -- 2.20.1 --=20 Fixing Starlink's Latencies: https://www.youtube.com/watch?v=3Dc9gLo6Xrwgw Dave T=C3=A4ht CEO, TekLibre, LLC