Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp456941pxa; Wed, 12 Aug 2020 06:27:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxac3qs6uud4XHz/lzn6Xd5YOnWBtiIulh/zKvvqZuyioKm5rHNOTBLa2efilsEf6qfypvL X-Received: by 2002:a17:906:95d4:: with SMTP id n20mr33338840ejy.485.1597238841203; Wed, 12 Aug 2020 06:27:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597238841; cv=none; d=google.com; s=arc-20160816; b=0BVlXDBQO6epUTvibNq2T5Jq6eK580ebcEab6sFxN57Q4LmLA6jq5+jhZw75cJduvb X8DJFqiV0J0RPeb3wXsj/WS1pbZcMlXwAtEIZCU6EA7R0uk3x0CtBokfeB3vlsVNBAWC OJmDmaUVDId9IxAmsRh2gjDR4RRGNWNwZxCT0lFX138BeM9KITE78Pdb8HO2zgjTy0WG XvovPN8nF0V+Ki7zoSfyq7nQj1N1Vogc+fFBAo+DihaIK32C7+6DhXQ/kKeAIgLM+DCR Vba7nsXBQFdPVib7IqGJMdx2nexey2UtobAeqakYGiUyWMDjEEhZipdJtvvTv2nhkGt4 Nf8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature:dkim-signature; bh=ogsRn8UJvYnJnHmnmoJD8EeRCxvOuB0FI3xBqc0qcuQ=; b=VDIr24wQVmwI3hpXfHaAz2uGuWMNQJkIV4jVvGh1546FEGZaVXPKyQzp4LDrhrmKCR Vg1KACAuGswqjSPiy5yhhHmCBxYh927T0W0jAmUzbVKwmj/TweBflOINKtMSd0+vhjTt fG+iEtE5ru2029mTcjXjLyJ7JPd0fDfq/e99vZIMVRfPEVZagVULitOiT4M+t81vQJMu I0XoJmF2L47DimoVEnDBR0CnA5HGNFCAti6K5sax2glKiE0+BhMMZdvp+6fZg+iiTxR9 AAElJgR9OMDTlIacA92y7QFht9LhyMVd1c7PQkR7M1fcPU66I5RbMOoyz1XCKm6rk8lk lb6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kroah.com header.s=fm1 header.b=lIPY4fVS; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=j6q48Ofk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n8si1247556edr.202.2020.08.12.06.26.58; Wed, 12 Aug 2020 06:27:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kroah.com header.s=fm1 header.b=lIPY4fVS; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=j6q48Ofk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728096AbgHLNZv (ORCPT + 99 others); Wed, 12 Aug 2020 09:25:51 -0400 Received: from new1-smtp.messagingengine.com ([66.111.4.221]:54297 "EHLO new1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728056AbgHLNZq (ORCPT ); Wed, 12 Aug 2020 09:25:46 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailnew.nyi.internal (Postfix) with ESMTP id A6F7E5803D8; Wed, 12 Aug 2020 09:25:44 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Wed, 12 Aug 2020 09:25:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kroah.com; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=fm1; bh=ogsRn8UJvYnJnHmnmoJD8EeRCxv OuB0FI3xBqc0qcuQ=; b=lIPY4fVS/yyIBCu1HgDe/hcTkqorszv3Knz35oiXGxo 25RZMhsPABOSsbX5pqdYE7aD/GPKLPdNTxSqyNvdDo9EEEbwRTDiuckF00b9FEXL PeLn/goTNMAHalcs/sK07UwI2HAcYuOn1xMso0zGO2ln5TLDAonjPwJeEd6ozHs1 mdUb3o/rg98N+6CK+/x1+5s5bT81wkZ/tR+oxA7TEezvyHXcUzidJUck18HaX13/ h/YcciJ92M359yzD5dqDq2t7+Ymn7fzfyx4yFfTH6HTXecZEtydoiDYROW3TOUaI qFS/vw7gw248kdqHLwq5oqjRd1dI2BcTFMsFDK0LI7Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=ogsRn8 UJvYnJnHmnmoJD8EeRCxvOuB0FI3xBqc0qcuQ=; b=j6q48OfkZkL6IhRSVkrHag 3QhD/klT3dNA5dOCQ6K6Dw+8cNat4Zorh/qx+KOQC6dHElclKdVrD+TCLpivJevO Obq6M0lG1E37fC814+uhcOWEQb2UyW4/vzUX4t8qT4CjmYRBJUSplSYookVg/WUD 6yiCdPsUORGpkNjZl773Pf1qSGEunmVf9zIt8LzJUUfTHoYztR/wuttth1VvdFix NOFgCfDDfIw4DY9AhTWGDRjlRs7rQhTMZcGkclPmanxYH+BiOg2MicJspeRR26e+ R9pmxkLrx8SWNtOcuxs/bgMBPuY/PDsYFgY2KFZROy5ddQaPtNN+K55DhKRsrPyw == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrledvgdeifecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpeffhffvuffkfhggtggujgesthdtredttddtvdenucfhrhhomhepifhrvghgucfm jfcuoehgrhgvgheskhhrohgrhhdrtghomheqnecuggftrfgrthhtvghrnhepueelledthe ekleethfeludduvdfhffeuvdffudevgeehkeegieffveehgeeftefgnecuffhomhgrihhn pehkvghrnhgvlhdrohhrghenucfkphepkeefrdekiedrkeelrddutdejnecuvehluhhsth gvrhfuihiivgepvdenucfrrghrrghmpehmrghilhhfrhhomhepghhrvghgsehkrhhorghh rdgtohhm X-ME-Proxy: Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) by mail.messagingengine.com (Postfix) with ESMTPA id 0A9F0328005D; Wed, 12 Aug 2020 09:25:44 -0400 (EDT) Date: Wed, 12 Aug 2020 15:25:55 +0200 From: Greg KH To: Wenbin Mei Cc: Ulf Hansson , Rob Herring , Chaotian Jing , Matthias Brugger , Philipp Zabel , linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, srv_heupstream@mediatek.com Subject: Re: [v2,3/3] mmc: mediatek: add optional module reset property Message-ID: <20200812132555.GD2489711@kroah.com> References: <20200812130129.13519-1-wenbin.mei@mediatek.com> <20200812130129.13519-4-wenbin.mei@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200812130129.13519-4-wenbin.mei@mediatek.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 12, 2020 at 09:01:29PM +0800, Wenbin Mei wrote: > This patch fixs eMMC-Access on mt7622/Bpi-64. > Before we got these Errors on mounting eMMC ion R64: > [ 48.664925] blk_update_request: I/O error, dev mmcblk0, sector 204800 op 0x1:(WRITE) > flags 0x800 phys_seg 1 prio class 0 > [ 48.676019] Buffer I/O error on dev mmcblk0p1, logical block 0, lost sync page write > > This patch adds a optional reset management for msdc. > Sometimes the bootloader does not bring msdc register > to default state, so need reset the msdc controller. > > Fixes: 966580ad236e ("mmc: mediatek: add support for MT7622 SoC") > Signed-off-by: Wenbin Mei > Tested-by: Frank Wunderlich > --- > drivers/mmc/host/mtk-sd.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c > index 39e7fc54c438..2b243c03c9b2 100644 > --- a/drivers/mmc/host/mtk-sd.c > +++ b/drivers/mmc/host/mtk-sd.c > @@ -22,6 +22,7 @@ > #include > #include > #include > +#include > > #include > #include > @@ -434,6 +435,7 @@ struct msdc_host { > struct msdc_save_para save_para; /* used when gate HCLK */ > struct msdc_tune_para def_tune_para; /* default tune setting */ > struct msdc_tune_para saved_tune_para; /* tune result of CMD21/CMD19 */ > + struct reset_control *reset; > }; > > static const struct mtk_mmc_compatible mt8135_compat = { > @@ -1516,6 +1518,12 @@ static void msdc_init_hw(struct msdc_host *host) > u32 val; > u32 tune_reg = host->dev_comp->pad_tune_reg; > > + if (!IS_ERR(host->reset)) { > + reset_control_assert(host->reset); > + usleep_range(10, 50); > + reset_control_deassert(host->reset); > + } > + > /* Configure to MMC/SD mode, clock free running */ > sdr_set_bits(host->base + MSDC_CFG, MSDC_CFG_MODE | MSDC_CFG_CKPDN); > > @@ -2273,6 +2281,11 @@ static int msdc_drv_probe(struct platform_device *pdev) > if (IS_ERR(host->src_clk_cg)) > host->src_clk_cg = NULL; > > + host->reset = devm_reset_control_get_optional_exclusive(&pdev->dev, > + "hrst"); > + if (PTR_ERR(host->reset) == -EPROBE_DEFER) > + return PTR_ERR(host->reset); > + > host->irq = platform_get_irq(pdev, 0); > if (host->irq < 0) { > ret = -EINVAL; > -- > 2.18.0 This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read: https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html for how to do this properly.