Received: by 2002:a05:6602:2086:0:0:0:0 with SMTP id a6csp4317985ioa; Wed, 27 Apr 2022 00:35:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwMokukVfhV0at1TimuyeOryBoUbGMKnEMpLu9Pb67GSIuwrC8WDqn3gWkGI09Y0yZRrLmD X-Received: by 2002:a62:c545:0:b0:50d:2d0f:2e8a with SMTP id j66-20020a62c545000000b0050d2d0f2e8amr19262468pfg.12.1651044905283; Wed, 27 Apr 2022 00:35:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651044905; cv=none; d=google.com; s=arc-20160816; b=qFffIblF11sNP8PP8E8l03Cg8mp50v5d2uzg9PLQif455rKbgv/grnKpfh7O49u8W9 9naaWlYapHrWAd/TjjEhICXR7fWTD0UICVBkrZ54oMKVjYW/BDAsnH164VIG1xgS9wgp wumJXBBVjwn6h77LCwrSeOu2Lk7sRhnjp6irDF44dFXCJgOLW8n08ho5iJ64r5bFdmTT Y0m3Yklc2ShfcigU3rwwhTSpIDhYXOOz12msrwxrZ4HrPrxMyEPKT2JqrFuZh3SHQjLq cpf0O4EKSMRDnjgwb+/Z+DNKjGp766NVHOS8ryBuUJ8GWTLaNRki/WvP6mjtGNvu7S1U VRnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from :dkim-signature; bh=+p40Cvh2hhSxVfAPCJZpYYJuBDaizdr/QFl0LujIiyQ=; b=n30WZnI9W7tHioobYUl2a0fAaaPtQOk62t9/7vQFNCQw3fbUWHuI+dBRftk6FOObN5 zR09NwSGIBpSEjIzKgoXX2Oki91AV7MCEvb7CGmQ2s82lviE1ZQOZExHw7KmTIZi1HJc jDRW3cA5j3f9iQn5KjyrrswN6j4+cq/igmodVwJ5ab3gxlzn3EaZhIAJhea4gnpVKK1N 80MoHnipYS+H5HdJEeajiKRKF3QKNYWDpyfs3wunYN13IEZFRDUTLj0DxYk0hXgGvOSN sWuwVxsNtX9jYuIREqBGdqwMvMetrZD919H4aOLSXgydQF+6dLpRKm7VYPqdkYXkrPlj Qvow== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b=y1OMGka4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f8-20020a170902ce8800b0015872dc578csi875105plg.311.2022.04.27.00.34.52; Wed, 27 Apr 2022 00:35:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-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; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b=y1OMGka4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348500AbiDZJyR (ORCPT + 99 others); Tue, 26 Apr 2022 05:54:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36218 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347569AbiDZJxi (ORCPT ); Tue, 26 Apr 2022 05:53:38 -0400 Received: from alexa-out.qualcomm.com (alexa-out.qualcomm.com [129.46.98.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B72672981A; Tue, 26 Apr 2022 02:10:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1650964242; x=1682500242; h=from:to:cc:subject:date:message-id; bh=+p40Cvh2hhSxVfAPCJZpYYJuBDaizdr/QFl0LujIiyQ=; b=y1OMGka4EBLJIHT6oDWaoQuh1qamXXwi234qTk3eLdV9AldtHw5OuLsV yL7Pni4OYSLMgsUsFkFVWZCR8e/dAKv0H57S8bcHgFEWzaPvxU1fv4N1c R/ihdMUEgf/B1XGyORS6x720HNeFoXNVm9DgPg7y6t6K1TFjtnYYGKn28 Q=; Received: from ironmsg08-lv.qualcomm.com ([10.47.202.152]) by alexa-out.qualcomm.com with ESMTP; 26 Apr 2022 02:10:42 -0700 X-QCInternal: smtphost Received: from ironmsg02-blr.qualcomm.com ([10.86.208.131]) by ironmsg08-lv.qualcomm.com with ESMTP/TLS/AES256-SHA; 26 Apr 2022 02:10:40 -0700 X-QCInternal: smtphost Received: from hu-c-spathi-hyd.qualcomm.com (HELO hu-sgudaval-hyd.qualcomm.com) ([10.213.108.59]) by ironmsg02-blr.qualcomm.com with ESMTP; 26 Apr 2022 14:40:28 +0530 Received: by hu-sgudaval-hyd.qualcomm.com (Postfix, from userid 212714) id B262D3AE1; Tue, 26 Apr 2022 14:40:27 +0530 (+0530) From: Srinivasarao Pathipati To: ulf.hansson@linaro.org, u.kleine-koenig@pengutronix.de, YehezkelShB@gmail.com, rmk+kernel@armlinux.org.uk, t.scherer@eckelmann.de, s.shtylyov@omp.ru, sensor1010@163.com, sartgarg@codeaurora.org, hns@goldelico.com, uic_kamasali@quicinc.com, quic_spathi@quicinc.com, tiantao6@hisilicon.com, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org Cc: kamasali Subject: [PATCH V1] mmc: sdhci-msm: Add wakeup functionality support for sdio cards Date: Tue, 26 Apr 2022 14:40:25 +0530 Message-Id: <1650964225-6705-1-git-send-email-quic_spathi@quicinc.com> X-Mailer: git-send-email 2.7.4 X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_NONE autolearn=no 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-kernel@vger.kernel.org From: Sarthak Garg This adds external GPIO wakeup support to sdhci-msm driver for sdio cards. Also enables clk gating only in system Suspend/Resume for SDIO card. Also add the below fixes from 4.9 kernel : c363224b: Fix wakeup functionality for SDIO 61fc5bf6: Remove flag MMC_PM_WAKE_SDIO_IRQ in mmc_resume_host a7a2a82e: Set sdio_pending_processing default state to false. Signed-off-by: Sarthak Garg Signed-off-by: kamasali Signed-off-by: Srinivasarao Pathipati --- drivers/mmc/core/bus.c | 7 +++++++ drivers/mmc/core/sdio.c | 1 + 2 files changed, 8 insertions(+) diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c index 58a60af..a475fe1 100644 --- a/drivers/mmc/core/bus.c +++ b/drivers/mmc/core/bus.c @@ -364,6 +364,13 @@ int mmc_add_card(struct mmc_card *card) #endif card->dev.of_node = mmc_of_find_child_device(card->host, 0); + if (mmc_card_sdio(card)) { + ret = device_init_wakeup(&card->dev, true); + if (ret) + pr_err("%s: %s: failed to init wakeup: %d\n", + mmc_hostname(card->host), __func__, ret); + } + device_enable_async_suspend(&card->dev); ret = device_add(&card->dev); diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c index 25799ac..9502318 100644 --- a/drivers/mmc/core/sdio.c +++ b/drivers/mmc/core/sdio.c @@ -1096,6 +1096,7 @@ static int mmc_sdio_resume(struct mmc_host *host) mmc_release_host(host); host->pm_flags &= ~MMC_PM_KEEP_POWER; + host->pm_flags &= ~MMC_PM_WAKE_SDIO_IRQ; return err; } -- 2.7.4