From patchwork Mon Aug 28 14:29:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 111170 Delivered-To: patch@linaro.org Received: by 10.140.95.78 with SMTP id h72csp4922461qge; Mon, 28 Aug 2017 07:32:12 -0700 (PDT) X-Received: by 10.99.180.2 with SMTP id s2mr719379pgf.183.1503930731952; Mon, 28 Aug 2017 07:32:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1503930731; cv=none; d=google.com; s=arc-20160816; b=Ve1PM5gN+J2RdeEl6KdcWtApJgKD1pYJB2VHoDCJ9y/APKpC6BA3ueoInWquSfnn2F SE9IMk9Qpcnv8J9GNFs0WaMVJhMgKaa/ziuirq1Q/1NodpOKRgx1uXC7W9k1plLVpnIQ om4XFm6qiG0qqx7u7YoAqeKmNRWwAoFh2BbXnmdkKOPW/aAh4f5PEgYuMB/NFA/dF8jN F6Xl9zbeoN14SZoMNP/5niePbvt26No0MxOAQxXIp+Itdvk1+nDoGSR2Z9y3hZmUKHbq 1aH7BlrWolcjNCf/VTn67Ql9SfphioLX6ySs+ECXT/QKgI1c85ZIo70Q183fe7zj74Nc 9bAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=DROVhI4wEKUjPn/upt3yg7EKO4xwfiSsCnakhqcU3DA=; b=QYHp0r+wzIS1MKgVP31hOJaR2lYcBtWk6lfhta0LHgCWzTYgMDD4d8WMF4nIx2wint 6Br8NhdWLBLtFBEnh0nT6GxWxQ0y7EkNM8/ksMYeGo3AXiw0+WEZjOKTFkcQsGstnMbU 62UgSIIC/7NZDOw7HDWUE7KGmjHxlcP3aEzYyGZrAQWHeh9Pilkiyr9hpnlS0asE1vp7 PHDfW5j9OTqof9GF7v5Uxbc6kudx2eKyLPwYT12AGpIpBLUKlAyfKDDb4mEsMLIE4xk0 Lhoqx0U4XjRkme3MgqNd8LjzsRhxOm1rXc3AkyJPLGHQHMFiQ+rUs0Vgq321csZzxOfK K2Ow== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=R6Vo+OmJ; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c188si367538pfa.427.2017.08.28.07.32.11; Mon, 28 Aug 2017 07:32:11 -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=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=R6Vo+OmJ; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751775AbdH1OcJ (ORCPT + 26 others); Mon, 28 Aug 2017 10:32:09 -0400 Received: from mail-wm0-f41.google.com ([74.125.82.41]:38607 "EHLO mail-wm0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751231AbdH1O3W (ORCPT ); Mon, 28 Aug 2017 10:29:22 -0400 Received: by mail-wm0-f41.google.com with SMTP id t201so4742132wmt.1 for ; Mon, 28 Aug 2017 07:29:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=DROVhI4wEKUjPn/upt3yg7EKO4xwfiSsCnakhqcU3DA=; b=R6Vo+OmJ7a1VwwWwAkMP8AVtHGXpsUf1/X1ISWLj6rt6T+4ZygJTRvoZqxIZp8c6R1 fzsBPhdU6/uEY5tECTotXWPyT67YMl3N6DYHs7WmqwboW3ibGXEU7/iLapZMMFGoF+jv gPuC/iNaSnhypLhHqgPfcBaWMQw3+WrGhPajheCnAGB0UFEmBgzYu1h1L3ORZh2mOk+/ zaZrQ0MbOrVc9aZgIM9R+Nno0AtW8ceex3Pnyr718QWhxb5LgRlA50AcUHYysUMr8rbK QA3hFLsTd5KU9nvuFBlLNxZV9Z9VgwJ41ivtb9xMJHMX3FqXyN/Ztsrs7hLRCZTxvfx7 aDWA== 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:in-reply-to :references; bh=DROVhI4wEKUjPn/upt3yg7EKO4xwfiSsCnakhqcU3DA=; b=OMhWOjYIOCLicF8Z7JJXINwQm+I1axaJfR89vhN4+OTJgefk79cOYcnTpM34N9VNSp kd32Tll/Cq3cq/nG41YVw2bWXZiZ1RFISCnrE2Ia59ytxjSY1sOpq1GVFnHpEJvVWf+O 3RVt+9KT1wVNC6OWEKqBF6uJbWLOsBSziuT8bVQqhL1RbRywANtGW2ioV4QEo3gE+BNs /AbcKskBxo6IYoevXg1mr9fMN3GhiQvAio7DTVa536qcS9GOB1YcsNBVRuPhOLUMq9V5 mPyPAqrNiz8eAfXeGg6MwSbuBKHTl5qS6WDpepzOjDhMfo+tvXMWM/7PjNyZ7el8I5Ys SQaw== X-Gm-Message-State: AHYfb5iWirRRhS2ey7wcYgvnvR3NMbV5Hj9fuNOwwDME6D4wZuwiAGJx AHM/nX6LBpFMVxyf X-Received: by 10.28.188.67 with SMTP id m64mr450998wmf.174.1503930561406; Mon, 28 Aug 2017 07:29:21 -0700 (PDT) Received: from localhost.localdomain (uluru.liltaz.com. [163.172.81.188]) by smtp.googlemail.com with ESMTPSA id z39sm604792wrz.61.2017.08.28.07.29.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 28 Aug 2017 07:29:20 -0700 (PDT) From: Jerome Brunet To: Ulf Hansson , Kevin Hilman , Carlo Caione Cc: Jerome Brunet , linux-mmc@vger.kernel.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 02/13] mmc: meson-gx: cfg init overwrite values Date: Mon, 28 Aug 2017 16:29:04 +0200 Message-Id: <20170828142915.27020-3-jbrunet@baylibre.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20170828142915.27020-1-jbrunet@baylibre.com> References: <20170828142915.27020-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org cfg init function overwrite values set in the clk init function Remove the cfg pokes from the clk init. Actually, trying to use the CLK_AUTO, like initially tried in clk_init, would break the card initialization Reviewed-by: Kevin Hilman Signed-off-by: Jerome Brunet --- drivers/mmc/host/meson-gx-mmc.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) -- 2.9.5 diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c index d2de5c11cdce..7d14d382cb1c 100644 --- a/drivers/mmc/host/meson-gx-mmc.c +++ b/drivers/mmc/host/meson-gx-mmc.c @@ -337,7 +337,7 @@ static int meson_mmc_clk_init(struct meson_host *host) int i, ret = 0; const char *mux_parent_names[MUX_CLK_NUM_PARENTS]; const char *clk_div_parents[1]; - u32 clk_reg, cfg; + u32 clk_reg; /* init SD_EMMC_CLOCK to sane defaults w/min clock rate */ clk_reg = 0; @@ -402,12 +402,6 @@ static int meson_mmc_clk_init(struct meson_host *host) if (WARN_ON(PTR_ERR_OR_ZERO(host->cfg_div_clk))) return PTR_ERR(host->cfg_div_clk); - /* Ensure clock starts in "auto" mode, not "always on" */ - cfg = readl(host->regs + SD_EMMC_CFG); - cfg &= ~CFG_CLK_ALWAYS_ON; - cfg |= CFG_AUTO_CLK; - writel(cfg, host->regs + SD_EMMC_CFG); - ret = clk_prepare_enable(host->cfg_div_clk); if (ret) return ret; @@ -956,6 +950,9 @@ static int meson_mmc_probe(struct platform_device *pdev) if (ret) goto err_core_clk; + /* set config to sane default */ + meson_mmc_cfg_init(host); + /* Stop execution */ writel(0, host->regs + SD_EMMC_START); @@ -964,9 +961,6 @@ static int meson_mmc_probe(struct platform_device *pdev) writel(IRQ_EN_MASK, host->regs + SD_EMMC_STATUS); writel(IRQ_EN_MASK, host->regs + SD_EMMC_IRQ_EN); - /* set config to sane default */ - meson_mmc_cfg_init(host); - ret = devm_request_threaded_irq(&pdev->dev, irq, meson_mmc_irq, meson_mmc_irq_thread, IRQF_SHARED, NULL, host);