Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp356907pxb; Wed, 3 Nov 2021 05:29:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxm9mgBivcSpT4p9XyscABPDQ9zCu6tSVJZjPBb497K23sbCe8+wSftYqhb9Rs8CsF5+Ccl X-Received: by 2002:a5e:cb0b:: with SMTP id p11mr30801553iom.41.1635942580575; Wed, 03 Nov 2021 05:29:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635942580; cv=none; d=google.com; s=arc-20160816; b=j2mQTMWegRE8HiRAGuC+IfwwkKXrFI9cfYHVuL6CloYWjH/tTmjmVInNC8b+razsD0 LMEK2V3BJebbyM/xYYqV5B6eMO/OJYXWyUoIvY7orr64SBHp1raotnnYs9DoVaOjXfPs S//XBoTlv58vX+MOmWOkuffWu+IU2Y2AGCbLJJV3t4vQ0q4hhuarLnFEEXHdxps8otRL u6APdPPegHAOSpMKBI15BSpSWX1EtVFWT1jCGYbafjfU2heWz7a2lWEUjdUWPQ7vYlTy 1zQxUsWpwFVvJiCGx/RGYHQi9E/aOlGeN6sz9S2sbG58DEbQnVO15IaBY1fz1YMXIfmd exFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:references :cc:to:from:content-language:subject:mime-version:date:message-id; bh=GvKvk5+VjdRoPa1kwFwPc1d7DZh6wxbGh3HA01kNA4A=; b=LKDTk6jUD1tP185Gmn3hAer7P4kp4rTVv2QMiAeLf7dyRJeiKUrFtjdAHaf01j4nh+ d7FQ72ChJBWchFm0Jwh0QCrHrnqufFGDPkX9XnzrrcK8vEDRN9WD7gnGgrsGplWToOmv a0QVIVMsVXd3tC3HEHpyaEbFk3WMe8/pGWzwo71683X/7KBaItI6hibeY6HJt6nU5M48 e/mE/14xOW0OebQK4V0G7qtOMwXsfIg9K2IzXObS452hXERvi+4k7bM0zqG+kZzRlmZV ADhTT3wirrNNPYQPfING4EVtH7cI2EsJ6Gzqwfkk08rG1aKIGc66uNQtQgr5ux2PqiIh /ONA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b8si2607722ios.12.2021.11.03.05.29.23; Wed, 03 Nov 2021 05:29:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232012AbhKCMbt (ORCPT + 66 others); Wed, 3 Nov 2021 08:31:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58936 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231910AbhKCMbs (ORCPT ); Wed, 3 Nov 2021 08:31:48 -0400 Received: from mout-p-102.mailbox.org (mout-p-102.mailbox.org [IPv6:2001:67c:2050::465:102]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 85AEBC061714; Wed, 3 Nov 2021 05:29:12 -0700 (PDT) Received: from smtp102.mailbox.org (smtp102.mailbox.org [80.241.60.233]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4HkmKf6CsxzQkBl; Wed, 3 Nov 2021 13:29:10 +0100 (CET) X-Virus-Scanned: amavisd-new at heinlein-support.de Message-ID: <771f1f07-882b-2eeb-36fa-126c9b8d5fd8@v0yd.nl> Date: Wed, 3 Nov 2021 13:29:05 +0100 MIME-Version: 1.0 Subject: Re: [PATCH] mwifiex: Add quirk to disable deep sleep with certain hardware revision Content-Language: en-US From: =?UTF-8?Q?Jonas_Dre=c3=9fler?= To: Brian Norris Cc: Amitkumar Karwar , Ganapathi Bhat , Xinming Hu , Kalle Valo , "David S. Miller" , Jakub Kicinski , Tsuchiya Yuto , linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Maximilian Luz , Andy Shevchenko , Bjorn Helgaas , =?UTF-8?Q?Pali_Roh=c3=a1r?= References: <20211028073729.24408-1-verdre@v0yd.nl> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: D22AC5AF Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org Also, just in case anyone at NXP is still following this thread, for the sake of completeness here's a list of all the firmware bugs we've discovered when investigating this wifi card: - Firmware can crash after setting TX ring write pointer while ASPM L1 or L1 substate is active (exact substate is platform dependent). Workaround "mwifiex: Read a PCI register after writing the TX ring write pointer" - Firmware sometimes doesn't wake up and send an interrupt after reading/writing a PCI register. Workaround "mwifiex: Try waking the firmware until we get an interrupt" - Firmware doesn't properly implement PCIe LTR (appears to send a single report during fw startup), making the system unable to enter deeper powersaving states. Workaround "mwifiex: Add quirk resetting the PCI bridge on MS Surface devices" - On hardware revision 20 the card randomly wakes up from deep sleep, most likely a hardware bug, the firmware should work around that. Workaround "mwifiex: Add quirk to disable deep sleep with certain hardware revision" - BTCOEX events from firmware are not sent consistently when BT gets active/inactive and we end up throttling wifi speeds for no reason. Workaround "Ignore BTCOEX events from the firmware" - Firmwares BT LE active and passive scan feature is ignoring the "Filter duplicates" property, leading to tons of USB interrupts from the card, preventing the system from powersaving. No workaround except not pairing any LE devices or disabling BT LE.