From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EA3A0C43381 for ; Wed, 27 Mar 2019 12:21:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BE9842087C for ; Wed, 27 Mar 2019 12:21:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728621AbfC0MVz convert rfc822-to-8bit (ORCPT ); Wed, 27 Mar 2019 08:21:55 -0400 Received: from gloria.sntech.de ([185.11.138.130]:46466 "EHLO gloria.sntech.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726233AbfC0MVz (ORCPT ); Wed, 27 Mar 2019 08:21:55 -0400 Received: from we0652.dip.tu-dresden.de ([141.76.178.140] helo=phil.localnet) by gloria.sntech.de with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1h97Yi-0003Ud-Bl; Wed, 27 Mar 2019 13:21:32 +0100 From: Heiko Stuebner To: Ulf Hansson , Klaus Goger Cc: Christoph Muellner , Rob Herring , Mark Rutland , Shawn Lin , Adrian Hunter , Philipp Tomsich , Michal Simek , Matthias Brugger , Viresh Kumar , Douglas Anderson , Jeffy Chen , Lin Huang , Randy Li , Tony Xie , "linux-mmc@vger.kernel.org" , DTML , Linux Kernel Mailing List , Linux ARM , "open list:ARM/Rockchip SoC..." Subject: Re: [PATCH v3 3/3] arm64: dts: rockchip: Disable DCMDs on RK3399's eMMC controller. Date: Wed, 27 Mar 2019 13:21:31 +0100 Message-ID: <1591627.dSi6EvuFCI@phil> In-Reply-To: References: <20190322113808.16858-1-christoph.muellner@theobroma-systems.com> <20190322113808.16858-3-christoph.muellner@theobroma-systems.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT Content-Type: text/plain; charset="iso-8859-1" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am Montag, 25. März 2019, 14:27:26 CET schrieb Ulf Hansson: > On Fri, 22 Mar 2019 at 12:39, Christoph Muellner > wrote: > > > > When using direct commands (DCMDs) on an RK3399, we get spurious > > CQE completion interrupts for the DCMD transaction slot (#31): > > > > [ 931.196520] ------------[ cut here ]------------ > > [ 931.201702] mmc1: cqhci: spurious TCN for tag 31 > > [ 931.206906] WARNING: CPU: 0 PID: 1433 at /usr/src/kernel/drivers/mmc/host/cqhci.c:725 cqhci_irq+0x2e4/0x490 > > [ 931.206909] Modules linked in: > > [ 931.206918] CPU: 0 PID: 1433 Comm: irq/29-mmc1 Not tainted 4.19.8-rt6-funkadelic #1 > > [ 931.206920] Hardware name: Theobroma Systems RK3399-Q7 SoM (DT) > > [ 931.206924] pstate: 40000005 (nZcv daif -PAN -UAO) > > [ 931.206927] pc : cqhci_irq+0x2e4/0x490 > > [ 931.206931] lr : cqhci_irq+0x2e4/0x490 > > [ 931.206933] sp : ffff00000e54bc80 > > [ 931.206934] x29: ffff00000e54bc80 x28: 0000000000000000 > > [ 931.206939] x27: 0000000000000001 x26: ffff000008f217e8 > > [ 931.206944] x25: ffff8000f02ef030 x24: ffff0000091417b0 > > [ 931.206948] x23: ffff0000090aa000 x22: ffff8000f008b000 > > [ 931.206953] x21: 0000000000000002 x20: 000000000000001f > > [ 931.206957] x19: ffff8000f02ef018 x18: ffffffffffffffff > > [ 931.206961] x17: 0000000000000000 x16: 0000000000000000 > > [ 931.206966] x15: ffff0000090aa6c8 x14: 0720072007200720 > > [ 931.206970] x13: 0720072007200720 x12: 0720072007200720 > > [ 931.206975] x11: 0720072007200720 x10: 0720072007200720 > > [ 931.206980] x9 : 0720072007200720 x8 : 0720072007200720 > > [ 931.206984] x7 : 0720073107330720 x6 : 00000000000005a0 > > [ 931.206988] x5 : ffff00000860d4b0 x4 : 0000000000000000 > > [ 931.206993] x3 : 0000000000000001 x2 : 0000000000000001 > > [ 931.206997] x1 : 1bde3a91b0d4d900 x0 : 0000000000000000 > > [ 931.207001] Call trace: > > [ 931.207005] cqhci_irq+0x2e4/0x490 > > [ 931.207009] sdhci_arasan_cqhci_irq+0x5c/0x90 > > [ 931.207013] sdhci_irq+0x98/0x930 > > [ 931.207019] irq_forced_thread_fn+0x2c/0xa0 > > [ 931.207023] irq_thread+0x114/0x1c0 > > [ 931.207027] kthread+0x128/0x130 > > [ 931.207032] ret_from_fork+0x10/0x20 > > [ 931.207035] ---[ end trace 0000000000000002 ]--- > > > > The driver shows this message only for the first spurious interrupt > > by using WARN_ONCE(). Changing this to WARN() shows, that this is > > happening quite frequently (up to once a second). > > > > Since the eMMC 5.1 specification, where CQE and CQHCI are specified, > > does not mention that spurious TCN interrupts for DCMDs can be simply > > ignored, we must assume that using this feature is not working reliably. > > > > The current implementation uses DCMD for REQ_OP_FLUSH only, and > > I could not see any performance/power impact when disabling > > this optional feature for RK3399. > > > > Therefore this patch disables DCMDs for RK3399. > > > > Signed-off-by: Christoph Muellner > > Signed-off-by: Philipp Tomsich > > FYI, I leave this for arm-soc to pick up. I've duplicated your fixes+stable tags and applied for 5.2 Thanks Heiko