summaryrefslogtreecommitdiffstats
path: root/wlcore-sdio-Fixup-power-on-off-sequence.patch
diff options
context:
space:
mode:
Diffstat (limited to 'wlcore-sdio-Fixup-power-on-off-sequence.patch')
-rw-r--r--wlcore-sdio-Fixup-power-on-off-sequence.patch161
1 files changed, 0 insertions, 161 deletions
diff --git a/wlcore-sdio-Fixup-power-on-off-sequence.patch b/wlcore-sdio-Fixup-power-on-off-sequence.patch
deleted file mode 100644
index 6b42a5fec..000000000
--- a/wlcore-sdio-Fixup-power-on-off-sequence.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-From patchwork Wed Jan 16 11:37:23 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Ulf Hansson <ulf.hansson@linaro.org>
-X-Patchwork-Id: 10765783
-Return-Path: <linux-omap-owner@kernel.org>
-Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org
- [172.30.200.125])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 956256C2
- for <patchwork-linux-omap@patchwork.kernel.org>;
- Wed, 16 Jan 2019 11:37:39 +0000 (UTC)
-Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1])
- by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 860D62D08C
- for <patchwork-linux-omap@patchwork.kernel.org>;
- Wed, 16 Jan 2019 11:37:39 +0000 (UTC)
-Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486)
- id 7A4732DBF8; Wed, 16 Jan 2019 11:37:39 +0000 (UTC)
-X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
- pdx-wl-mail.web.codeaurora.org
-X-Spam-Level:
-X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED,
- DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI
- autolearn=unavailable version=3.3.1
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 86DFA2D579
- for <patchwork-linux-omap@patchwork.kernel.org>;
- Wed, 16 Jan 2019 11:37:37 +0000 (UTC)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S2389465AbfAPLhg (ORCPT
- <rfc822;patchwork-linux-omap@patchwork.kernel.org>);
- Wed, 16 Jan 2019 06:37:36 -0500
-Received: from mail-lj1-f195.google.com ([209.85.208.195]:46058 "EHLO
- mail-lj1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S2389488AbfAPLhg (ORCPT
- <rfc822;linux-omap@vger.kernel.org>); Wed, 16 Jan 2019 06:37:36 -0500
-Received: by mail-lj1-f195.google.com with SMTP id s5-v6so5113775ljd.12
- for <linux-omap@vger.kernel.org>;
- Wed, 16 Jan 2019 03:37:34 -0800 (PST)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=linaro.org; s=google;
- h=from:to:cc:subject:date:message-id;
- bh=G4uWfUBdfRWJ7ooa2ukqyMzWYVfm+tWSAZRULgvNQ08=;
- b=DqdSNsfGTw5APfw140m3LimoqimPBt+dTkOxqu/2bQyXk7S9f23O7PxiN3oFynlZKr
- SASxPUZ8sG4xbfOK9h8FHLlWWFpRIZSahu+mE0EseqtvBLV4sdCnBwOS8M3gko6ngb7C
- i176BhDXn0+wm8tZGD3yN7Qp96KnQZ3Sv/tjk=
-X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=1e100.net; s=20161025;
- h=x-gm-message-state:from:to:cc:subject:date:message-id;
- bh=G4uWfUBdfRWJ7ooa2ukqyMzWYVfm+tWSAZRULgvNQ08=;
- b=a7MooeHuGM0cTZPVwhtKcW1jg4pqdeIMk6f7/zUrRv+SoOb7Vnw9KEGP3KU5lDSMo5
- fdJcqriPtpflqlW2b23HNJ2gVIYbySV3bmkiu2AKTwNWCFTkIS2ortWV4MES6WsAsR7G
- SJBjNOxj2qAxl8qauqOq0X2TNOhKQXtXsfOZ+d5pkSB1+/BBEcxtWLRHwsnMQW5GjawC
- DICSSEnG7V41Nz/GwJN/YMZ5mDDoTgm5E0w5FUpgIsWkaZ3EwXNfATg7MrYDRaaP8D+y
- Bc3D5LBTeGf5Ka2znrkAwm5UNG0ACbfhyC051z0Pt/8c0dPIdccFOYiaQId02Kxg6z3K
- O1Tw==
-X-Gm-Message-State: AJcUukfOVkWnN7bzdpLCd5T4eBBp4b+eeSeNmP9oASomJxjWdmE2FFn/
- FXErvZDhVCsQSfNn/eJnmK5Zq0rkuSY=
-X-Google-Smtp-Source:
- ALg8bN4GExvNSUhrn1ThdHo4TWGq9deM7EiNDhwBHUXk+6BhziaXs9EaV54O4+YG3vKLHV5hZLkJyg==
-X-Received: by 2002:a2e:6503:: with SMTP id
- z3-v6mr6194730ljb.153.1547638653812;
- Wed, 16 Jan 2019 03:37:33 -0800 (PST)
-Received: from localhost.localdomain (h-158-174-22-210.NA.cust.bahnhof.se.
- [158.174.22.210])
- by smtp.gmail.com with ESMTPSA id
- f11sm1144237lfi.12.2019.01.16.03.37.32
- (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
- Wed, 16 Jan 2019 03:37:33 -0800 (PST)
-From: Ulf Hansson <ulf.hansson@linaro.org>
-To: Kalle Valo <kvalo@codeaurora.org>,
- Tony Lindgren <tony@atomide.com>, Eyal Reizer <eyalr@ti.com>,
- linux-wireless@vger.kernel.org
-Cc: Ricardo Salveti <rsalveti@rsalveti.net>,
- Kishon Vijay Abraham I <kishon@ti.com>,
- Anders Roxell <anders.roxell@linaro.org>,
- John Stultz <john.stultz@linaro.org>,
- Jan Kiszka <jan.kiszka@web.de>,
- Ulf Hansson <ulf.hansson@linaro.org>,
- linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org
-Subject: [PATCH V2] wlcore: sdio: Fixup power on/off sequence
-Date: Wed, 16 Jan 2019 12:37:23 +0100
-Message-Id: <20190116113723.15668-1-ulf.hansson@linaro.org>
-X-Mailer: git-send-email 2.17.1
-Sender: linux-omap-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-omap.vger.kernel.org>
-X-Mailing-List: linux-omap@vger.kernel.org
-X-Virus-Scanned: ClamAV using ClamSMTP
-
-During "wlan-up", we are programming the FW into the WiFi-chip. However,
-re-programming the FW doesn't work, unless a power cycle of the WiFi-chip
-is made in-between the programmings.
-
-To conform to this requirement and to fix the regression in a simple way,
-let's start by allowing that the SDIO card (WiFi-chip) may stay powered on
-(runtime resumed) when wl12xx_sdio_power_off() returns. The intent with the
-current code is to treat this scenario as an error, but unfortunate this
-doesn't work as expected, so let's fix this.
-
-The other part is to guarantee that a power cycle of the SDIO card has been
-completed when wl12xx_sdio_power_on() returns, as to allow the FW
-programming to succeed. However, relying solely on runtime PM to deal with
-this isn't sufficient. For example, userspace may prevent runtime suspend
-via sysfs for the device that represents the SDIO card, leading to that the
-mmc core also keeps it powered on. For this reason, let's instead do a
-brute force power cycle in wl12xx_sdio_power_on().
-
-Fixes: 728a9dc61f13 ("wlcore: sdio: Fix flakey SDIO runtime PM handling")
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Tested-by: Tony Lindgren <tony@atomide.com>
-Tested-by: Anders Roxell <anders.roxell@linaro.org>
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
----
-
-Changes in v2:
- - Keep the SDIO host claimed when calling mmc_hw_reset().
- - Add a fixes tag.
----
- drivers/net/wireless/ti/wlcore/sdio.c | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/drivers/net/wireless/ti/wlcore/sdio.c b/drivers/net/wireless/ti/wlcore/sdio.c
-index bd10165d7eec..4d4b07701149 100644
---- a/drivers/net/wireless/ti/wlcore/sdio.c
-+++ b/drivers/net/wireless/ti/wlcore/sdio.c
-@@ -164,6 +164,12 @@ static int wl12xx_sdio_power_on(struct wl12xx_sdio_glue *glue)
- }
-
- sdio_claim_host(func);
-+ /*
-+ * To guarantee that the SDIO card is power cycled, as required to make
-+ * the FW programming to succeed, let's do a brute force HW reset.
-+ */
-+ mmc_hw_reset(card->host);
-+
- sdio_enable_func(func);
- sdio_release_host(func);
-
-@@ -174,20 +180,13 @@ static int wl12xx_sdio_power_off(struct wl12xx_sdio_glue *glue)
- {
- struct sdio_func *func = dev_to_sdio_func(glue->dev);
- struct mmc_card *card = func->card;
-- int error;
-
- sdio_claim_host(func);
- sdio_disable_func(func);
- sdio_release_host(func);
-
- /* Let runtime PM know the card is powered off */
-- error = pm_runtime_put(&card->dev);
-- if (error < 0 && error != -EBUSY) {
-- dev_err(&card->dev, "%s failed: %i\n", __func__, error);
--
-- return error;
-- }
--
-+ pm_runtime_put(&card->dev);
- return 0;
- }
-