Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp2008060imm; Thu, 9 Aug 2018 05:57:56 -0700 (PDT) X-Google-Smtp-Source: AA+uWPyhGVuLwUUEhZcbpabtEwt7Xfz18tCC7MFlTASfIBpz1U6mjzVrO6mw7HGtmK9epDe6RVZq X-Received: by 2002:a63:4c21:: with SMTP id z33-v6mr2081279pga.383.1533819476612; Thu, 09 Aug 2018 05:57:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533819476; cv=none; d=google.com; s=arc-20160816; b=Y7Dj3/mj3rcl62vrLclk8T+uISFwkaFh6ezxxjTyqL8jk/4/IUoAwrxVqup0pxiysb NJeY0CTIfzqwDC0ZL3HlRj6u0fdDuyEvmnoIgkzMnnZ1bbyzmzhsY8EFDjy+qJBMpH6n jhLZWbJ9SK8zLB4tKPaMKJ0X9Qe+PZOzfUkwS19F4nqBaDSYIxqiRrqqWoT3ycCxs8be WyS6yrZ4vOXmFGtlYQghQKGyxOzoXU9HK09oEcg+D5+ERLBVAv30O5ZC7scDkzUrXNZ5 3I27h0Ngijuz1TulV3Yc8Qil2Hj/p/pMWowcTMVZtaRlB4Hj0iNTnD0BtJXes9YU1ZuC rVvA== 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:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :arc-authentication-results; bh=TOXJFMpZMmVSwE6Z69fkx3aErXv8znzvwNispGsIqig=; b=U/H15XFu9WXr6W2JasIzGwlRIGh3y2yp+txsC2fuEpeJwTorTmjbmBdqrPSpwiZoDm viBcoArnKyKiGXFRoAi4MciR9kziHqEYaxR4IAsHvnV0tyg1X3O7GBYGocJrzdzYQiyn y024IWnoWJMKo3Cqj8oQBXHsRHedwU6cnxee//OoAgA9fsuAbF/pxfL/MKaLYt4RaJIW Q34uVfmcDVRpabGV0oCrNlLLfomMdH7KdTOL788HpSiBdF4xMz/WGUw3uTkJiX1A5qmo h5I3vi/werKJLDwLzDo8bXO3/iX+s9gb34xll+4Q6cP3NHxSHfEl80QzLb5Fhb/hxT0s 3h0g== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p9-v6si5314038pgn.164.2018.08.09.05.57.41; Thu, 09 Aug 2018 05:57:56 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732073AbeHIPVf (ORCPT + 99 others); Thu, 9 Aug 2018 11:21:35 -0400 Received: from hqemgate14.nvidia.com ([216.228.121.143]:16896 "EHLO hqemgate14.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730634AbeHIPVf (ORCPT ); Thu, 9 Aug 2018 11:21:35 -0400 Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqemgate14.nvidia.com (using TLS: TLSv1, AES128-SHA) id ; Thu, 09 Aug 2018 05:56:32 -0700 Received: from HQMAIL101.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Thu, 09 Aug 2018 05:56:47 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Thu, 09 Aug 2018 05:56:47 -0700 Received: from dhcp-10-21-25-168 (10.21.25.201) by HQMAIL101.nvidia.com (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Thu, 9 Aug 2018 12:56:43 +0000 Date: Thu, 9 Aug 2018 15:56:38 +0300 From: Aapo Vienamo To: Thierry Reding CC: Rob Herring , Mark Rutland , Jonathan Hunter , Ulf Hansson , Adrian Hunter , "Mikko Perttunen" , Stefan Agner , , , , Subject: Re: [PATCH 13/40] mmc: tegra: Poll for calibration completion Message-ID: <20180809155638.23f96e61@dhcp-10-21-25-168> In-Reply-To: <20180809124616.GV21639@ulmo> References: <1533141150-10511-1-git-send-email-avienamo@nvidia.com> <1533141150-10511-14-git-send-email-avienamo@nvidia.com> <20180809124616.GV21639@ulmo> X-NVConfidentiality: public MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.21.25.201] X-ClientProxiedBy: UKMAIL101.nvidia.com (10.26.138.13) To HQMAIL101.nvidia.com (172.20.187.10) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 9 Aug 2018 14:46:16 +0200 Thierry Reding wrote: > On Wed, Aug 01, 2018 at 07:32:03PM +0300, Aapo Vienamo wrote: > > Implement polling with 10 ms timeout for automatic pad drive strength > > calibration. > > > > Signed-off-by: Aapo Vienamo > > --- > > drivers/mmc/host/sdhci-tegra.c | 21 ++++++++++++++++----- > > 1 file changed, 16 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c > > index 7d98455..c8ff267 100644 > > --- a/drivers/mmc/host/sdhci-tegra.c > > +++ b/drivers/mmc/host/sdhci-tegra.c > > @@ -16,6 +16,7 @@ > > #include > > #include > > #include > > +#include > > #include > > #include > > #include > > @@ -50,6 +51,9 @@ > > #define SDHCI_AUTO_CAL_START BIT(31) > > #define SDHCI_AUTO_CAL_ENABLE BIT(29) > > > > +#define SDHCI_TEGRA_AUTO_CAL_STATUS 0x1ec > > +#define SDHCI_TEGRA_AUTO_CAL_ACTIVE BIT(31) > > + > > #define NVQUIRK_FORCE_SDHCI_SPEC_200 BIT(0) > > #define NVQUIRK_ENABLE_BLOCK_GAP_DET BIT(1) > > #define NVQUIRK_ENABLE_SDHCI_SPEC_300 BIT(2) > > @@ -228,13 +232,20 @@ static void tegra_sdhci_reset(struct sdhci_host *host, u8 mask) > > > > static void tegra_sdhci_pad_autocalib(struct sdhci_host *host) > > { > > - u32 val; > > + u32 reg; > > + int ret; > > + > > + reg = sdhci_readl(host, SDHCI_TEGRA_AUTO_CAL_CONFIG); > > + reg |= SDHCI_AUTO_CAL_ENABLE | SDHCI_AUTO_CAL_START; > > + sdhci_writel(host, reg, SDHCI_TEGRA_AUTO_CAL_CONFIG); > > > > I know this is preexisting, but I want to make sure we cover this so we > don't run into this down the road: do these bits automatically clear on > calibration completion? Can we run these multiple times and get > everything properly calibrated? The TRM states in the pad auto-calibration procedure description that this bit should not be cleared. -Aapo