Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp172552imm; Mon, 14 May 2018 23:19:00 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqtP1mk28twIOItRvErQIY3MsZ1SE03lHCXkX6eFxbNuB+lVwDJQlgNhQdWEasyGkILKIX6 X-Received: by 2002:a17:902:581:: with SMTP id f1-v6mr13156416plf.48.1526365140400; Mon, 14 May 2018 23:19:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526365140; cv=none; d=google.com; s=arc-20160816; b=u4fN5Wx1D0sVol4BBMlUTvasMJkzOBYN9ksIunTG+8vOCqFX/sVbxJ2Y8ErD/iE9g0 eLZkkZCbmkLHVytl4MXBYbSerAJtP0dJ/efm7JtBtpWHw/gKjI2K6AgPorypcaEld2Ym jHRqNWQo2qsLqhwSbM7l3kFTY06tumUi8YXjndhoSrQ1op34U4pxcQAqosKbNveoi47C ccqV3jpumm5p+ZO1RTXsRjh8MbG4DplQS5RZ8EJdKqMVJwge4m+JVVu8y4RjDH1rr3u7 TV4yRIZ3QSdODj8yqdsbrZlEWXNk8JVpgbfpVB2RwL5ntpZ42y6J0Ta4UXUEUJJAFN9Y liBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=W3/jrcV2CNpFmoZDhz47E9iVedS7pOIL7VXRaj5eIjU=; b=K3RP7saTyWxiQkwm+491XLlIm8QHS0FrTibURfqXzrE9TvSqvCHW8mDRf97+kyVtu0 A0euSfAlXIlPgm5bBsqBX72TVX+wbK9twGN1M5SK3d46mwQRdnDfELSMW3ZpGjQUwEEp YaZhNUH1DQk1Q4aQR4IxT0KmBIqWrgb1bsSY3YPmb1qhedqhJNinQCWXYYdTaiVXAKIr 54lZlZzsDqPXZT1JXXWsLO5/D4Q6lnrAhf5XsIvWq56r47DoJbbSIp5jNara1bd8w9J2 KbExmpsNqQn4Ywyf2N97R5XBaErHhb77R3odk4O75UpG2lrGdMtNu90Fr11kmolSD9Zf NVhQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=d38wd0M3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y7-v6si10481029plk.473.2018.05.14.23.18.46; Mon, 14 May 2018 23:19:00 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=d38wd0M3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752200AbeEOGSg (ORCPT + 99 others); Tue, 15 May 2018 02:18:36 -0400 Received: from mail-qt0-f193.google.com ([209.85.216.193]:42601 "EHLO mail-qt0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752084AbeEOGSe (ORCPT ); Tue, 15 May 2018 02:18:34 -0400 Received: by mail-qt0-f193.google.com with SMTP id c2-v6so19387901qtn.9; Mon, 14 May 2018 23:18:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=W3/jrcV2CNpFmoZDhz47E9iVedS7pOIL7VXRaj5eIjU=; b=d38wd0M3H6yrQhrbD0qZBu6MkSIQdYzjLjaAyVbLKI3nb/KNQydl+X1cEt4ftT/Id8 U9yS5B06j7JsjfQm5ZyAoaz4pziT4xAkvErGLmgkvgR66jiVVFKfZCwxTjH2zAcpO1Qs IGCm8l5xO00+SHtGinB3wmenfxB56+nVn0pWZqGAtHBEH1VZ8cKzaZUeVVZrpN0KUmnq GP4FjiVhMfU3Xz9GdinCaXJ0m5Ivrdsm326dVnUhz6OZQX59fOHWby6dMzKYXd0AL8+Q cXcSiV3xP6rqdmR41AHNudj3KPIOeOIEdzSYyDFeSnXQz8Fmle0ZZu5vWUo0dkGxZ+4a FQHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=W3/jrcV2CNpFmoZDhz47E9iVedS7pOIL7VXRaj5eIjU=; b=kxyr6rtTEx8x5WhstBdebmhMT8MR2smK7QWPaHpj1LwrSwB5YElCrlOIzhEnDzgLSu Pc1a4k07hhd09RQaCGNy8QlgV45YmdDePvNOYSgoHJ6NGbcMiDddhK9UUgGZc0SID/t4 iZ2mjtKfrZ/hEVmfLMepciVcUWK4P2pGpQY2W34ns9Vc94OQkGDojqHqK4psFgtJ22+I +tzPLIdWtgOipU1SPuQsjI8zvH5mEo8CwL/Fl//gG4Pj/XFf+/1PsXffYPFLPtV59GRZ 4lZz6lXmVJIbJW4fqwtuwD9lqHebRr/s9wQUC/p4RZuMXy2eDJn4QsZeYNTKdYOKNFzv vTeg== X-Gm-Message-State: ALKqPwfCbXWdUpYnlyjEWfeP8NnBM4DaY9IcAtszqq7hocpsVKY3RBzG 6aqwgeHVoxjGQ/SEwXFleH3jLrYYt+Y= X-Received: by 2002:a0c:8856:: with SMTP id 22-v6mr12045865qvm.79.1526365113393; Mon, 14 May 2018 23:18:33 -0700 (PDT) Received: from ?IPv6:2601:18d:4600:e68c:feaa:14ff:fe71:bf72? ([2601:18d:4600:e68c:feaa:14ff:fe71:bf72]) by smtp.googlemail.com with ESMTPSA id s16-v6sm9097053qks.78.2018.05.14.23.18.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 14 May 2018 23:18:32 -0700 (PDT) Subject: Re: [PATCH] mmc: sdhci-pxav3: don't disable clocks when we might get an interrupt To: Adrian Hunter , linux-kernel@vger.kernel.org Cc: Ulf Hansson , "open list:SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI...)" References: <20180514215645.17592-1-tommyhebb@gmail.com> From: Tom Hebb Message-ID: Date: Tue, 15 May 2018 02:18:31 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 05/15/2018 01:59 AM, Adrian Hunter wrote: > On 15/05/18 00:56, Thomas Hebb wrote: >> Currently, runtime_suspend() unconditionally disables the clock gates >> for the controller, which means that it's unable to receive interrupts >> generated by connected SDIO cards. > > We currently get / put runtime pm with enable / disable of the SDIO IRQ > (refer sdhci_enable_sdio_irq()) so are you sure this is needed? You're correct; this patch is unnecessary. I wrote it before 923713b35745 ("mmc: sdhci: Disable runtime pm when the sdio_irq is enabled"), and it was needed then. Sorry for the noise. FYI, sdhci-esdhc-imx still checks the IRQ in its suspend/resume functions. That's one of the things that misled me to think this patch was still relevant. >> >> Signed-off-by: Thomas Hebb >> --- >> drivers/mmc/host/sdhci-pxav3.c | 16 ++++++++++------ >> 1 file changed, 10 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c >> index a34434166ca7..59760f3cc1d7 100644 >> --- a/drivers/mmc/host/sdhci-pxav3.c >> +++ b/drivers/mmc/host/sdhci-pxav3.c >> @@ -562,9 +562,11 @@ static int sdhci_pxav3_runtime_suspend(struct device *dev) >> if (host->tuning_mode != SDHCI_TUNING_MODE_3) >> mmc_retune_needed(host->mmc); >> >> - clk_disable_unprepare(pxa->clk_io); >> - if (!IS_ERR(pxa->clk_core)) >> - clk_disable_unprepare(pxa->clk_core); >> + if (!sdhci_sdio_irq_enabled(host)) { >> + clk_disable_unprepare(pxa->clk_io); >> + if (!IS_ERR(pxa->clk_core)) >> + clk_disable_unprepare(pxa->clk_core); >> + } >> >> return 0; >> } >> @@ -575,9 +577,11 @@ static int sdhci_pxav3_runtime_resume(struct device *dev) >> struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); >> struct sdhci_pxa *pxa = sdhci_pltfm_priv(pltfm_host); >> >> - clk_prepare_enable(pxa->clk_io); >> - if (!IS_ERR(pxa->clk_core)) >> - clk_prepare_enable(pxa->clk_core); >> + if (!sdhci_sdio_irq_enabled(host)) { >> + clk_prepare_enable(pxa->clk_io); >> + if (!IS_ERR(pxa->clk_core)) >> + clk_prepare_enable(pxa->clk_core); >> + } >> >> return sdhci_runtime_resume_host(host); >> } >> >