Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1082738yba; Thu, 9 May 2019 10:26:15 -0700 (PDT) X-Google-Smtp-Source: APXvYqwVb6uFCLfJUucwajlIw2nDgr5pVfW0f31X8oy/uPSSaDxkN4a4BCSOUf9ZrWOhp4tM8mU2 X-Received: by 2002:a63:5014:: with SMTP id e20mr7247631pgb.2.1557422775665; Thu, 09 May 2019 10:26:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557422775; cv=none; d=google.com; s=arc-20160816; b=WuYVJ7GyulD/hbMvULc/DGjbYirx4/WB4AIiaHFygl1sZIiUiG9NtjbaNXFeCDNP9x rc9muluNOK91yUbcdrc0CwNvEbAuI1w8XrNFeaxSn1xaOFXt2tELlwIo67w6RR9y0a+e 791RkVc7PeZFhd/jKgve18NLoWjuywss+EW62y8XT6hdFWRT8E7GRWeg+QKhWsZG06fi sH02l6v+ibWu9QRCSGSKCWKu1VHcfBl+9MsRVlJ14KDbYlFb064qbrzHLLhtQrPQ5RAa DiwwybgG901LEYUW3sEYst4iOyuSyfd/lVNeTmpODdZ7snnOBCHyLZy9xBnP+JCY6p6V dTaQ== 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; bh=Wx8gaoHC5MOYV389XtnYNdY7stPe/BwS11WRGJ3X0jU=; b=W4wdNytvZLHb4mkaaUydPiMrnandpQgke4gZxZLuumiQIXvEOQwx0TEqxNKkw6oW/G Zu50n9KHBaVyL9F7alFP9SJl45PIyx9sMYlkg1DYHXa2bLOtPCx7tMT4VvbEHm+YNJDH 0HEvS/ZUet9b59FRl48eI58krPzpW2XQ8iBM2bfWRlTrIKIabs+KRWlmpezIybA0lC9y M0YtcYYFbgHXDdjMYsXt8S/3+DvL4S4VAm8kGdnN2yRHoJmusPhlRW3PafZiD31mtm1E kp6WBCYoxdoey3dHSyPzeUPRrJYL2hsVWWfPsrFr54u2r9X2o2xhWA5rIL2By8oZaq2+ 8x0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b=NLbenTRu; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a67si4015655pfb.50.2019.05.09.10.25.59; Thu, 09 May 2019 10:26:15 -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=@broadcom.com header.s=google header.b=NLbenTRu; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726844AbfEIRYo (ORCPT + 99 others); Thu, 9 May 2019 13:24:44 -0400 Received: from mail-pf1-f193.google.com ([209.85.210.193]:44476 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726806AbfEIRYk (ORCPT ); Thu, 9 May 2019 13:24:40 -0400 Received: by mail-pf1-f193.google.com with SMTP id g9so1650863pfo.11 for ; Thu, 09 May 2019 10:24:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Wx8gaoHC5MOYV389XtnYNdY7stPe/BwS11WRGJ3X0jU=; b=NLbenTRuAo/KwttyYdSfiYeHTl8s02uccdxHkJwJLM2aY7TwvWQqlzRs0z8yANQP8R khMAKyxuFZJpgqgeNYGcHLqu5JE1xjX9RHiBh3YBz9oyDSgkjkxUuCIXX01cR7/10nQI rodbcT1oFhD5khMY98DrmTSlWUYOKTkyTYnlE= 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=Wx8gaoHC5MOYV389XtnYNdY7stPe/BwS11WRGJ3X0jU=; b=Z+aVTOiRxHAFifj+11abTZeBaJdrkpSp/Sz8/YDejzGFNCD9cqWOgOk6nD0YQhSeot K7D1N2PqblCu09BuP5w/ZeHFkM/PLMvbiBSxOW+NMCrFDsPkW4yUZXtAEvF8+7ONGA4Z 1tE6t0D6H8xH3Glba2+FD/FpLRzcuhy7/yz+6K8CZG+tyNsE4+x750zx0dRux85Gn0ym Wjqzq8nBuhKFNoO5fmRkBJ0Zd0Ofy4IHm9ApU6+uf84eNj0zf1C5wzFcrG3vv3NbE5Do BSvBWOrCKPXp5MZB46R9XK7pqOjpaPHO3OYnKCU2mhwp07tNILm++TtYcrm5HbFkmt9t eJ4g== X-Gm-Message-State: APjAAAVlE7/T2R609pp1r9FtQSOlY4Yh4Srnn3Pr4Jfrk4Wkc5e5vkbN UqF+HDd/H/W69My1DRG8awjl0Q== X-Received: by 2002:aa7:9116:: with SMTP id 22mr6898551pfh.165.1557422679753; Thu, 09 May 2019 10:24:39 -0700 (PDT) Received: from lbrmn-lnxub113.broadcom.net ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id m8sm3989699pgn.59.2019.05.09.10.24.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 May 2019 10:24:39 -0700 (PDT) From: Scott Branden To: Adrian Hunter , Ulf Hansson , Ray Jui , Scott Branden , Stefan Wahren Cc: BCM Kernel Feedback , linux-mmc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Trac Hoang , stable@vger.kernel.org, Scott Branden Subject: [PATCH v3 2/2] mmc: sdhci-iproc: Set NO_HISPD bit to fix HS50 data hold time problem Date: Thu, 9 May 2019 10:24:27 -0700 Message-Id: <20190509172427.17835-3-scott.branden@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190509172427.17835-1-scott.branden@broadcom.com> References: <20190509172427.17835-1-scott.branden@broadcom.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Trac Hoang The iproc host eMMC/SD controller hold time does not meet the specification in the HS50 mode. This problem can be mitigated by disabling the HISPD bit; thus forcing the controller output data to be driven on the falling clock edges rather than the rising clock edges. Stable tag (v4.12+) chosen to assist stable kernel maintainers so that the change does not produce merge conflicts backporting to older kernel versions. In reality, the timing bug existed since the driver was first introduced but there is no need for this driver to be supported in kernel versions that old. Cc: stable@vger.kernel.org # v4.12+ Signed-off-by: Trac Hoang Signed-off-by: Scott Branden Acked-by: Adrian Hunter --- drivers/mmc/host/sdhci-iproc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c index 9d4071c41c94..2feb4ef32035 100644 --- a/drivers/mmc/host/sdhci-iproc.c +++ b/drivers/mmc/host/sdhci-iproc.c @@ -220,7 +220,8 @@ static const struct sdhci_iproc_data iproc_cygnus_data = { static const struct sdhci_pltfm_data sdhci_iproc_pltfm_data = { .quirks = SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK | - SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12, + SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 | + SDHCI_QUIRK_NO_HISPD_BIT, .quirks2 = SDHCI_QUIRK2_ACMD23_BROKEN, .ops = &sdhci_iproc_ops, }; -- 2.17.1