From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751857AbeB1Bxd (ORCPT ); Tue, 27 Feb 2018 20:53:33 -0500 Received: from lucky1.263xmail.com ([211.157.147.132]:55867 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751521AbeB1Bxb (ORCPT ); Tue, 27 Feb 2018 20:53:31 -0500 X-263anti-spam: KSV:0; X-MAIL-GRAY: 1 X-MAIL-DELIVERY: 0 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-RL-SENDER: shawn.lin@rock-chips.com X-FST-TO: linux-renesas-soc@vger.kernel.org X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: shawn.lin@rock-chips.com X-UNIQUE-TAG: <49b43cc86fd9130fbe9a917b2a905841> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Cc: shawn.lin@rock-chips.com, Adrian Hunter , Michal Simek , Ulf Hansson , "linux-mmc@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "linux-renesas-soc@vger.kernel.org" Subject: Re: [PATCH] mmc: sdhci-of-arasan: Add quirk to avoid erroneous msg To: Phil Edworthy References: <1519739731-27920-1-git-send-email-phil.edworthy@renesas.com> From: Shawn Lin Message-ID: <52191012-300a-e13d-fa54-8717eb97c2e1@rock-chips.com> Date: Wed, 28 Feb 2018 09:53:24 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=iso-2022-jp; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2018/2/27 23:05, Phil Edworthy wrote: > Hi Shawn, > > On 27 February 2018 14:42, Shawn Lin wrote: >> On 2018/2/27 22:31, Phil Edworthy wrote: >>> Hi Shawn, >>> >>> On 27 February 2018 14:28, Shawn Lin wrote: >>>> 在 2018/2/27 21:55, Phil Edworthy 写道: >>>>> Since the controller does not support the end-of-busy IRQ, don't use it. >>>>> Otherwise, on older SD cards you will get lots of these messages: >>>>> "mmc0: Got data interrupt 0x00000002 even though no data operation >>>>> was >>>> in progress" >>>>> >>>> >>>> I'm afraid you have to explain which version of arasan's IP suffer >>>> from this and what does the "older SD cards" mean? >>> Ok, I'll try to find out the IP version... >>> For "older SD cards", I can provide a list of a few cards that exhibit >>> this problem and others that don't, is that enough info? >> >> What I meant is could you elaborate more about what kind of cards, e.g, are >> them the legacy SDSC cards or SDHC cards, or maybe they are only running >> with defaut speed? or whatever, but not just with a vague "older" cards. :) > Unfortunately, I have one SDHC card that works, one that doesn't. Both cards > are running with a 50MHz SD clock. All I know is this: Thanks for sharing these, though it looks wired as I never remember I saw this problem when extensively tested SD cards on one of arasan controllers in 2014. > > SD cards that report unexpected interrupts: > 2GB Sandisk Extreme III (e624 SD02G 1.89 GiB) > 8GB Sandisk (SDHC class 4) (aaaa SU08G 7.40 GiB) > 8GB Sandisk Extreme III (SDHC class 6) (bb4e SD08G 7.61 GiB) > > SD cards that work ok: > 16GB Samsung (microSDHC U1 class 10) (0001 00000 14.6 GiB) > 16GB Sandisk Ultra (microSDHC U1 class 10) (aaaa SL16G 14.8 GiB) > 32GB Sandisk Ultra (microSDHC U1 class 10) (aaaa SL32G 29.7 GiB) > > Thanks > Phil > >>>>> This has been reported on Xilinx devices that also use the Arasan IP. >>>>> See https://patchwork.kernel.org/patch/8062871/ >>>>> >>>>> This has been tested on the Renesas RZ/ND-DB board with the RZ/N1 >> SoC. >>>>> >>>>> Signed-off-by: Phil Edworthy >>>>> --- >>>>> drivers/mmc/host/sdhci-of-arasan.c | 3 ++- >>>>> 1 file changed, 2 insertions(+), 1 deletion(-) >>>>> >>>>> diff --git a/drivers/mmc/host/sdhci-of-arasan.c >>>>> b/drivers/mmc/host/sdhci-of-arasan.c >>>>> index c33a5f7..ab66e32 100644 >>>>> --- a/drivers/mmc/host/sdhci-of-arasan.c >>>>> +++ b/drivers/mmc/host/sdhci-of-arasan.c >>>>> @@ -290,7 +290,8 @@ static const struct sdhci_pltfm_data >>>> sdhci_arasan_pdata = { >>>>> .ops = &sdhci_arasan_ops, >>>>> .quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN, >>>>> .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN | >>>>> - SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN, >>>>> + SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN | >>>>> + SDHCI_QUIRK2_STOP_WITH_TC, >>>>> }; >>>>> >>>>> static u32 sdhci_arasan_cqhci_irq(struct sdhci_host *host, u32 >>>>> intmask) >>>>> >>>> >>>> >>>> -- >>>> Best Regards >>>> Shawn Lin >>> >>> >>> >>> >> >> >> -- >> Best Regards >> Shawn Lin > > > >