Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp1159717ybh; Tue, 10 Mar 2020 16:09:36 -0700 (PDT) X-Google-Smtp-Source: ADFU+vvvRLnkfeA3gDaEKppt5I78q9O+9SVCek/j2ZedMFmBqveOWhqf2myShHLW1mzGLeo9yPZR X-Received: by 2002:a9d:64cd:: with SMTP id n13mr104054otl.274.1583881776622; Tue, 10 Mar 2020 16:09:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1583881776; cv=none; d=google.com; s=arc-20160816; b=VnkR5aN1T2iz63a+47b0cKSBTlg/u1T6BmLDlD2/SWraDo++ERbmTco7jFMvs+6NPq Llef+8o6LMliiCwiI+LP9xeWV/V7cMx7bo5YMBS5euFHDHUYOz+L2boVDh2yKO5n4ks6 EI1y8yCTvL0dZDC79ENyh9vywLhpkRv/gYoUTof6ZMm7vKJ048ekKsPEh0raF6ecSoXS WsPOUpK5FKqnnBWCAI2PkkNJXzNziyFPkDfcAq0ky+sFovmmhi2UImwO/xNFgehN+sDM lbWlArhWru9Nafxvn9Z4+IoEAjERMXLL5dvSMBTfU6t7yXf9WNyd/pXGdZ/flivgRicR fmcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:dkim-signature:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:references:cc:to:from:subject; bh=s2lqu2Qb+lzPYNuF4JDNZZl1RA8ol5t2e1LCzQ5m3A8=; b=VxEE5ul11Qn9GjL49PnOJHNsQqeFNl4NFogA2ntUOI5LEuYrhZnb5Cf28S3YETZHtb osPj0O3hlJREz0aXZm0tcr9g8nB4+rukcdTPch89A+Z7I/Kzq7It9CtbPl58Rp3DE2B5 eTafy59qpeCu+BtLwp5D4zvO38dVuqqlODXUzJz5D9doQPb3aWAKBv7nvnOybKn6GEF/ fXEa7fmX18jWAUGMjVdHUXA3oTqYKw01clP7NfQgnbjjN35r32tDX90k/+8dt12gUNJJ HGrAg3XraUw02Q/h0vQhniokJqFG+oIt4JX8skQ9uns/CB61McWnrZh5IEEPgC9j7Nmv d/wA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=XJ9muEYN; 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=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 c21si63448oto.137.2020.03.10.16.09.23; Tue, 10 Mar 2020 16:09:36 -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=@nvidia.com header.s=n1 header.b=XJ9muEYN; 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=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727311AbgCJXH2 (ORCPT + 99 others); Tue, 10 Mar 2020 19:07:28 -0400 Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:15764 "EHLO hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726325AbgCJXH2 (ORCPT ); Tue, 10 Mar 2020 19:07:28 -0400 Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Tue, 10 Mar 2020 16:05:56 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Tue, 10 Mar 2020 16:07:26 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Tue, 10 Mar 2020 16:07:26 -0700 Received: from [10.2.175.232] (10.124.1.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 10 Mar 2020 23:07:26 +0000 Subject: Re: LKFT: arm x15: mmc1: cache flush error -110 From: Sowjanya Komatineni To: Ulf Hansson CC: Jon Hunter , Bitan Biswas , Adrian Hunter , Naresh Kamboju , Jens Axboe , Alexei Starovoitov , linux-block , , open list , "linux-mmc@vger.kernel.org" , Arnd Bergmann , John Stultz , Faiz Abbas , Thierry Reding , Anders Roxell , Kishon References: <757853cf-987e-f6b6-9259-b4560a031692@nvidia.com> <87ad7586-9569-4276-044a-adb64e84ca15@nvidia.com> <57ddddc2-3ee8-d867-bba0-0dd9929ba37d@nvidia.com> <26ee7225-9483-4664-c2d7-b5cefeadcd4b@nvidia.com> <0301bbd5-8d4d-4a77-42c7-8a1391c2d60a@nvidia.com> <227d9f08-582e-fd79-e1dc-7695bddd162d@nvidia.com> <2456654f-2724-0b6d-8936-afa05f345344@nvidia.com> Message-ID: Date: Tue, 10 Mar 2020 16:10:08 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <2456654f-2724-0b6d-8936-afa05f345344@nvidia.com> X-Originating-IP: [10.124.1.5] X-ClientProxiedBy: HQMAIL111.nvidia.com (172.20.187.18) To HQMAIL107.nvidia.com (172.20.187.13) Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1583881556; bh=s2lqu2Qb+lzPYNuF4JDNZZl1RA8ol5t2e1LCzQ5m3A8=; h=X-PGP-Universal:Subject:From:To:CC:References:Message-ID:Date: User-Agent:MIME-Version:In-Reply-To:X-Originating-IP: X-ClientProxiedBy:Content-Type:Content-Transfer-Encoding: Content-Language; b=XJ9muEYNewkGZ9hcoejyeLhZp00hBoFfUIYt2JHCEjGwx00h3V8GL+FW3Hti7FJCN iLfacS8b1WgsPEFuNjpQx7TIk2dZ0LzbT8245qsecrovMhHNs4n/TRYHsDuRLg+y/1 d03IiayVciDad20rwdAJS/E16cc1xjHhgYLVuGl3VLZBtJF6ZuQqcRYr/Hl60x4U1k rBbMBFHckKTRt9OYLMZi/0fRbKuro4AsGbMOBBqIPl4v77uD2UoqSW6kBetGQRdNYO FHWp2ttKUUZ3plXoaKg8saoQkVH60d1uWJ1auRYTxxE7rI5zhlTlkkOeMe0syytRza 0p/J5TxFr8OPQ== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 3/10/20 2:59 PM, Sowjanya Komatineni wrote: > > On 3/10/20 10:27 AM, Sowjanya Komatineni wrote: >> >> On 3/10/20 10:09 AM, Ulf Hansson wrote: >>> External email: Use caution opening links or attachments >>> >>> >>> [...] >>> >>>>>>> I would like to get the regression fixed asap, but I also would >>>>>>> like >>>>>>> to avoid reverting patches, unless really necessary. May I >>>>>>> propose the >>>>>>> following two options. >>>>>>> >>>>>>> 1. Find out why polling with ->card_busy() or CMD13, for a CMD6 >>>>>>> with >>>>>>> an R1 response doesn't work - and then fix that behaviour. >>>>>>> >>>>>>> 2. Set the mmc->max_busy_timeout to zero for sdhci-tegra, which >>>>>>> makes >>>>>>> the core to always use R1B for CMD6 (and erase). This also means >>>>>>> that >>>>>>> when the cmd->busy_timeout becomes longer than 11s, sdhci-tegra >>>>>>> must >>>>>>> disable the HW busy timeout and just wait "forever". >>>>>>> >>>>>>> If you decide for 2, you can add the software timeout support on >>>>>>> top, >>>>>>> but make that can be considered as a next step of an improvement, >>>>>>> rather than needed as fix. Note that, I believe there are some >>>>>>> support >>>>>>> for software timeout already in the sdhci core, maybe you need to >>>>>>> tweak it a bit for your case, I don't know. >>>>>>> >>>>>>> Kind regards >>>>>>> Uffe >>>>>> Hi Uffe >>>>>> >>>>>> Will go with 2nd option and will send patches out when ready. >>>>> Okay, good. >>>>> >>>>>> BTW, Tegra host also supports SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK >>>>>> for >>>>>> data timeout based on host clock when using finite mode (HW busy >>>>>> detection based on DATA TIMEOUT count value when cmd operation >>>>>> timeout >>>>>> is < 11s for tegra host). >>>>>> >>>>>> So, looks like we cant set host max_busy_timeout to 0 for Tegra >>>>>> host to >>>>>> force R1B during SWITCH and SLEEP_AWAKE. >>>>>> >>>>>> So, was thinking to introduce host capability >>>>>> MMC_CAP2_LONG_WAIT_HW_BUSY >>>>>> which can be used for hosts supporting long or infinite HW busy wait >>>>>> detection and will update mmc and mmc_ops drivers to not allow >>>>>> convert >>>>>> R1B to R1B for hosts with this capability during SLEEP_AWAKE and >>>>>> SWITCH. >>>>> That seems reasonable, it becomes probably both easier and clearer by >>>>> adding a new host cap. >>>>> >>>>> In any case, let me help out and cook a patch for this for the core >>>>> part (I leave the sdhci change to you). It may be a bit tricky, >>>>> especially since I have currently queued a bunch of new changes for >>>>> v5.7, that enables more users of mmc_poll_for_busy() in the core. >>>>> Maybe I need to temporarily drop them, so we can fix these problems >>>>> first. I will check. >>>>> >>>>> Probably, I would also name the cap MMC_CAP_HW_NEED_RSP_BUSY, as that >>>>> seems to be describing the common problem we have for sdhci >>>>> omap/tegra. >>>>> >>>>> Finally, it seems like MMC_CAP_WAIT_WHILE_BUSY should be set for >>>>> sdhci- tegra, so while at it, perhaps you can cook a patch for >>>>> that as >>>>> well. >>>>> >>>>> Kind regards >>>>> Uffe >>>> OK, I sent v1 yesterday. Please ignore them then. >>> Oh, I haven't seen them. In any case, I am ignoring them. >>> >>>> Will send out patches only for HW busy wait modes program based on cmd >>>> timeout and WAIT_WHILE_BUSY enabled. >>> Great, thanks! >>> >>> Please help test the series I just posted as well, if you have the >>> time ofcourse. >>> >>> Kind regards >>> Uffe >> >> Sure, >> >> Thanks >> >> Sowjanya > > > mmc_sleep() also needs update to force R1B when host sets capability > MMC_CAP_NEED_RSP_BUSY > > Tested patches and they work good.