From patchwork Thu Mar 2 09:47:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yangbo Lu X-Patchwork-Id: 9599801 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 14C9F60414 for ; Thu, 2 Mar 2017 10:04:26 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 051362858F for ; Thu, 2 Mar 2017 10:04:26 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EDCD22859B; Thu, 2 Mar 2017 10:04:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 893FC2858F for ; Thu, 2 Mar 2017 10:04:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751055AbdCBKEY (ORCPT ); Thu, 2 Mar 2017 05:04:24 -0500 Received: from mail-by2nam01on0063.outbound.protection.outlook.com ([104.47.34.63]:64704 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750867AbdCBKEU (ORCPT ); Thu, 2 Mar 2017 05:04:20 -0500 Received: from DM5PR03CA0021.namprd03.prod.outlook.com (10.175.104.31) by BN1PR0301MB0722.namprd03.prod.outlook.com (10.160.78.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Thu, 2 Mar 2017 10:01:53 +0000 Received: from BL2FFO11FD011.protection.gbl (2a01:111:f400:7c09::195) by DM5PR03CA0021.outlook.office365.com (2603:10b6:3:118::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12 via Frontend Transport; Thu, 2 Mar 2017 10:01:53 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11FD011.mail.protection.outlook.com (10.173.161.17) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.933.11 via Frontend Transport; Thu, 2 Mar 2017 10:01:52 +0000 Received: from titan.ap.freescale.net ([10.192.208.233]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v22A1OJB007146; Thu, 2 Mar 2017 03:01:48 -0700 From: Yangbo Lu To: , , Adrian Hunter , Rob Herring , Mark Rutland , Catalin Marinas , "Will Deacon" CC: , , Xiaobo Xie , Yangbo Lu Subject: [PATCH 6/9] mmc: sdhci: add a quirk to restore delay in tuning Date: Thu, 2 Mar 2017 17:47:27 +0800 Message-ID: <1488448050-7574-7-git-send-email-yangbo.lu@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1488448050-7574-1-git-send-email-yangbo.lu@nxp.com> References: <1488448050-7574-1-git-send-email-yangbo.lu@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131329225128087771; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(336005)(39850400002)(39380400002)(39400400002)(39410400002)(39860400002)(39840400002)(39450400003)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(9170700003)(356003)(305945005)(47776003)(5003940100001)(53936002)(8656002)(4326008)(6666003)(85426001)(38730400002)(33646002)(54906002)(50226002)(68736007)(105606002)(76176999)(189998001)(8676002)(104016004)(36756003)(2906002)(81166006)(48376002)(5660300001)(106466001)(2950100002)(92566002)(8936002)(77096006)(50466002)(7416002)(86362001)(626004)(50986999); DIR:OUT; SFP:1101; SCL:1; SRVR:BN1PR0301MB0722; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; MX:1; A:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD011; 1:CreQk+2jq5vcSEaPjPuQVhrxcPSfDcoVUrDKYnTNRReemz119G3pFd8PBEDrL3MDiaTSb6qHWbuxx1aimyWFRleQlNFVAde/EKZcfyLdnvYGuAwTms5434U/Hi/k3RdUrdu5+0kgliPZwr8pUFGzYR+JOXJObIVNOKK9MiaWvtmphmvkL4KVboIQhDcbGyNBM31BjWalFaZgDMylGrUYfJWZ0iXEdm0GxAopVySmmnkbyldWK7zXiB5WZCf6u96iddYaRRu2oUsh9ogsXe+2VEJZX8KXtZiBkp8E/v1NT0yM48f2ko3iSDsOyfBU+9j67GqqTxlxzViP/AIplBUpjT8bMQX1lTHRTi4A6WCp7zbdqxxd1ZT4XzsgzKV9EenIVZdP5MX7UqH3hmHNHLVoIu4uT1ynk5sDYaKPNJKllRh+8/MOBumGnG1WVEZcnoziRJg4jrDCVXXXDvk4FBmf2otRYYFJhosD6zy9Ib4WwKSCzyGrAMLyGgYfCcq/+RaAqPfO2EZDkurTTlXBHDyst3o4JZK/tCrzfyavY5qtf2n9pWj59V3z0ukIVahrdFkPc8rZdbFQJ0CMoEoStYZXm8lpOxIuiQCqzIHhGGHMpuBtW8LwVSKbwUEyMQftrPPxH2ynWt73UTbUrb1WeoDQgABzOsfEiWGu4t+/PhTZMKcPsB4QGL8me9wDPDiyJPwgMNEaq5A/VhU0VTUBdM3bn7baeMqn7qlpjz9Mhs3b9qvDwVxiDVRC2eaRUBFwDHDW MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 1a82af9f-c7e0-48dc-10db-08d4615326da X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN1PR0301MB0722; X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0722; 3:szBUnXmbPPCsDZa9KG6pUOafqDFetK4KiZBj9JQkDV4E+w/n8ZYX96ZsXAZZx8I8H1BTI0PHNMo+w3cpPKF80efSv3DnM51Lc+embEDXXXJTwtGFs/e2dgW54VYgXZi6MVFtq4jeQwcn0oIHTuLPjMl1XtHd2oZW9t3ZyHEixx7FbQj9q03apyVQUnMqCfNeJAyhR74kbU4wmlHk4+dCSF+um4vG770lisVb/eJXAy22LjdK2rAF0x6YfICFaefipiz4Dyhgzk1Z55kN+2vDykuih/FPNoYUQZIC0x6aZ7y2uPkaNjtIs3Ei0qs7Ix1Mtjp7IjrrQiY/Kd7qPL8v/mKIvTA/0+hVCO4ZPY8y65mC2oIu2rTqM4YrunQQVaXm; 25:PZGd9i60DrjIwwvmdNq0MQ4An00gtEv9e31VA/MfjHfwrrUe9/ZGkHdx4zeB3sDecjeBhe2WJ3baDhbs83+t81AJR/hHH4sYoPLhignH4ooeeeYM8j8uIRpBJtxsb8QJDRgKueuJ7Z7UtZrSXkXcEFXTvETN3xg49cxHd+uOVued+YJdFVoe38aUEwpi+PZMbUQi41L/eLeFz/pX855XVxQo+iue6BeCdse21CivAae5Q9R5e8GVGzxSZrVZRjke8FBl90V/ZAiW1Fv94qKOvUz2Z0bAZjV9aOAWx6g9zTLkjHKsyLVS3lAgH994vyvAu1N/Vr0lIRjnZVu2rPtP7/GMI6DyJyVOH9q58aJMgASEVUNv1gR8KllHFO+ILxPyeU6qEIFhXr6ZMejeeMa5K1y92LO9iVZkF423gSKaQGhLiiJ99VStsbNM5AjdDtbHcACcy2aBUIboYvmomX3dqg== X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0722; 31:uynNQlTbTfhMgJxNx2WLbHVXrXLvIxKWhrYhwBV4dLjcDGP7L9ZReaOeK89I/rmhWHvRvw0pYpzQ2G1f81UjjCbYQJ6MxYp3MoNz9nr/TuEK05fVXvsqHlaG+no+Q3U7pgk6yizgNK4v/WBIoI77c3gQL2D01T8HmBtsaYmkXeX/iQY/83nOahng/KhmI5WwYCcnLPYetzw6x8TitfoN7ko4mgqFny/nKpxSyKUQ7hb9mBFTUl6c7EeTE7Xg2Nf0 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(13018025)(8121501046)(5005006)(13017025)(13015025)(13023025)(13024025)(10201501046)(3002001)(6055026)(6096035)(20161123563025)(20161123556025)(20161123559025)(20161123565025)(20161123561025); SRVR:BN1PR0301MB0722; BCL:0; PCL:0; RULEID:(400006); SRVR:BN1PR0301MB0722; X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0722; 4:kdjstuSw+RTXTzWCpWI/++j2mlS0KGsfmgxIQ/E2KGmMflzMKoY8M5LVCzkbB4D1FL1AY2tpeo+KM+kdMBz/xaMpVg6miEBr09toQ6OmrMOHUMD9jbGoClrRbdiPBDYTKFvlfywIZz0P62zY6sdNNK4KR3KIu2N4nGwC9EusqNbLkwZ0mp6uvh+bm7p4W6wMCDhLa/7mpg6T2ifXs5Ea0YwROoJ7Zv0SwjFpEmoh2Egv4aHlqAarmGIHPysaRMM/PoNUM/ybpVdNruDQxbqdQiU6V+ybEDbpwxeATvtLlAB11mxNPxeAiBepdxdT+uaG/FnQUD6el+vGBn6wWc9N7H1/PgVns95F3q4/6nScehnoFQ/B0z+MBiojoX1XdA9Sn55Q1/OJZG3Urgx6TD1x1hY8w5+0KyAzFubDUAOvwTMd0F3qeehvTfg10+xD3jF6/IgLC91VrLx0rr770pmG7/3jkDO7mXnRrVdsZoDXi8C/Zeqn3EnATspogKOrrmCs6yC4bE2YsbahKQFj89yTiwZKx/LAV505qJW4fPKoG8OwUqdao6Atyp38slQtyu5Kc/L6j+mNzHfkCS6S5+rbawuJouoikLQIOFUSZzl0WFI0Zof/rKxYgOAzs1TFoWf+TsJjLrD99eYH83AdJKJKQGaMvVamTWPP4cuC/zsopxQJumsogI67EzEqIf3antgOf+15HPwVv3qBptAI66tOBMNLYPBHGl9WltQlnnBjHeyVI6d5YCoxmQ/D0bsVoAL3 X-Forefront-PRVS: 023495660C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR0301MB0722; 23:ClEG4/6BaXXJNpdoPgMQ91AXBhu3F6H7qkVhfpP?= =?us-ascii?Q?T6LxSB1UYQqQJrJBWuSIeuD54k8girj65KUSMDK7Oo5x/FwZXoDGG0xqITXs?= =?us-ascii?Q?0epEcfWpClizxxjJJRoAtAgBy8/GwY2mCs/pP+K7QZLx1PVF4PhljbchhF0C?= =?us-ascii?Q?6xYmeQ2+EKA25HkCWafjI9/RM48iCNyjb5o5xBTwW0WvGBwMfywc0MzaZvkC?= =?us-ascii?Q?Xy98uujJDzfhrFKmqRlwMiraqCpNfNqTIZ3PMgmSZwONg8THQQLLIMPywnOk?= =?us-ascii?Q?n7/wBhhjYC69O7gXbsH/sRis+cjAgF8x1nUeEOZKC6dS8AhTyAIbgPqHWVI4?= =?us-ascii?Q?tShgSfmrlNjb9V7vL4D3TzUw4ofigkPnfdkBqbQHljSa+/bLWYXA3qP1bXli?= =?us-ascii?Q?rGKCv6EtVj2+dqnT7rV90PHJHrGyHoMVYZMlwhwCj7Se1QvpcclH3ahlYK/Q?= =?us-ascii?Q?gTstJAaxVh7naQ1bVWyMRuoogM5PCBqA8RC1EtCovtTqEi3R3CJnjkcpccej?= =?us-ascii?Q?Gk8+ZoyAvV8pXus0g0oYTARgo1BZLcK7ldMxUrDaWatjOQv0Tq/PgMtXNjF0?= =?us-ascii?Q?EJXBmeRo7bwRrrIZy/OrPq7zHnhVvwWFi9sAhUi2yipfmG/qZBo23AmXLtLg?= =?us-ascii?Q?TyKz+es1GnK+6+5a5KAM1BZcx5ydjU0SYYXOA4uBixLESllDh1uHrtyDgE0U?= =?us-ascii?Q?Q9ehy5rtJs/HX/32oLYvywwIbB+b6g1SB/i1lLbplYRcRKkHzHfbGd64Yq5l?= =?us-ascii?Q?C9tlvlRlENdBRZyUEftU77oFcZVpVdfdz5uUzRG5/rCcylNZmx1ZjsEovsNf?= =?us-ascii?Q?JvRL9YVQD4uGc4csp6YmcJu7Hs1Mbv1xA9XFjIy/PSYUgm3Z+LmhZ/zBGs17?= =?us-ascii?Q?mP2bYGgSy28Tw9+RtIM38kiqHVGtSck9NHqtQA/iZMQ6Ft/QiUl+KzzB73pU?= =?us-ascii?Q?6TDxAAPSAh9cfFBnRzNtScnFtBKxUfyli/nvokudlnJVHI44eCol6L7Ez8mU?= =?us-ascii?Q?qOVaJC1QZLj2P1C/N1ipUNZUcTbSKBoyxwKlwHzY/UawOryP66cm78Rf99iS?= =?us-ascii?Q?jXiq3Bwvrn48rBSajeLypz3eVyJJW0mDgsYI2HePIZ6kj5HV3Rru20vR6MF6?= =?us-ascii?Q?p7zn0v6/Dz/AG0OO5mkO9oJ+2bk5uAnTbpf3TqWEYfPe+YGwO1+c8QL/T0b8?= =?us-ascii?Q?VJWPokwB5yd829+zf7cYFGfcYWCjKyT51lUIgiOy0GrbRvUjAaqZ7TGkBNnR?= =?us-ascii?Q?eoNtDNnoUjPOHS0PzYPU=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0722; 6:NzpWooAhAuwN0ffnJs4KZ3nd/B2i0Sva2yK/6gMPy0kLROzcWKia3uY/bfolxP+aJJ5K9jCfP8Dg4Pg9SUsCx93sI9EJu5025pLulBHSHuyPaeEh5av28LkLeiZ4komPgpKGSDSZc8jbY4d8S/+UsupQ0zQWdFT1MnM//646pvX24lOBavqoW2TSrDCvBDAxqhCv3IqhpxNfGy3BlnVzctJ1qjhgeryBX8qglWkpXPSqMjvRGnrDZ7Coqig7f96SvVnwa38BLVSVv/16VxMxpx5OMXHcm7f3kUW/tz9tjr9T6KJuav8RssoqlXhHtkHnj84z7wEC+absAOnTPWyHzKsf/8+GzP1ChacutM2o8CMijgHDMM0KaO1DMouGOfqA7B8sDncHFW6umvMpDjj9d8wr+BYASCMuCSZPnD9pGtM=; 5:UHfjYvtkYFYQSjpVXfsx515o8sdxDk2WpKywh9pkpf+AwvsFNAi4QSC7dLaTwvYSA23ToANbl0/KcLK08+nppqDNeEXx78SPbsCi9xsXRZffaxQ67xVaSPRSSPwdV3Yrpz6qw+YwdqcUoOIDkFrmZigZBAjIpwQFYdgO7J1u+en9pL8TV/gHhoxAHa6DdVUU; 24:E22sy8FKvAep3JJHz1Sjspif1ttJOypG6nDpOw8zKiNuV4PtjhqsEuTqWE7HnEsWBk/3G5/p0yWG/ZqAh69QAu/GAcDvy7+oOpTF2hbp+24= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0722; 7:evsayU11/pqOgKNOM5B8YxguOEnpKsv5BqPDdz0QEoFXBhgAOuYL9ZwQ7fPncgxIUFpCRH5VyBQK5BPaOGuTmemYfA5ydAIUdHJEIDtC/YXFGsRo1uIFbfKGQOSNoxaZM3LxA81wKz5ZFvtXM9vyciDpz2HGOBcU+Kanuew9m3860smxSWGINt27pjkGKwFwyQkphqO23ruBIkfFmMfiNRzre3V6F/e+AwkNs6+k8kSQwP8D3okZ002qDbZgl0FYs/bmlVj6oYd6ihWgxCUsi84Odr4KUC/Tv3V18SHC1Xh5QjbK3p4mMatRbxXOeR0L+PRumjYRD32zY0d+lACDOg== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2017 10:01:52.6215 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1PR0301MB0722 Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP There was a mdelay between tuning cycles which is removed since eMMC spec didn't require that. However it's observed that eSDHC needed this delay for HS200 successful tuning. Maybe it's also needed for some other controllers. This patch is to add a quirk to fix it. Fixes: 197160d52e85 ("mmc: sdhci: remove mdelay in eMMC tuning") Signed-off-by: Yangbo Lu --- drivers/mmc/host/sdhci.c | 3 ++- drivers/mmc/host/sdhci.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 051b192..b1b6fd3 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -2100,7 +2100,8 @@ static void __sdhci_execute_tuning(struct sdhci_host *host, u32 opcode, } /* eMMC spec does not require a delay between tuning cycles */ - if (opcode == MMC_SEND_TUNING_BLOCK) + if ((opcode == MMC_SEND_TUNING_BLOCK) || + (host->quirks2 & SDHCI_QUIRK2_DELAY_BETWEEN_TUNING_CYCLES)) mdelay(1); } diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h index d43519b..b6643bc 100644 --- a/drivers/mmc/host/sdhci.h +++ b/drivers/mmc/host/sdhci.h @@ -427,6 +427,8 @@ struct sdhci_host { #define SDHCI_QUIRK2_ACMD23_BROKEN (1<<14) /* Broken Clock divider zero in controller */ #define SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN (1<<15) +/* Delay is needed between tuning cycles */ +#define SDHCI_QUIRK2_DELAY_BETWEEN_TUNING_CYCLES (1<<16) int irq; /* Device IRQ */ void __iomem *ioaddr; /* Mapped address */