From patchwork Fri Nov 27 03:20:17 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: yangbo lu X-Patchwork-Id: 7710751 Return-Path: X-Original-To: patchwork-linux-mmc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 0068BBF90C for ; Fri, 27 Nov 2015 03:28:14 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 2561B20610 for ; Fri, 27 Nov 2015 03:28:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 355E52060D for ; Fri, 27 Nov 2015 03:28:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753773AbbK0D2L (ORCPT ); Thu, 26 Nov 2015 22:28:11 -0500 Received: from mail-bn1on0134.outbound.protection.outlook.com ([157.56.110.134]:13536 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753750AbbK0D2K (ORCPT ); Thu, 26 Nov 2015 22:28:10 -0500 Received: from CH1PR03CA005.namprd03.prod.outlook.com (10.255.156.150) by BN1PR0301MB0721.namprd03.prod.outlook.com (10.160.78.140) with Microsoft SMTP Server (TLS) id 15.1.331.20; Fri, 27 Nov 2015 03:28:07 +0000 Received: from BL2FFO11FD037.protection.gbl (10.255.156.132) by CH1PR03CA005.outlook.office365.com (10.255.156.150) with Microsoft SMTP Server (TLS) id 15.1.331.20 via Frontend Transport; Fri, 27 Nov 2015 03:28:07 +0000 Authentication-Results: spf=permerror (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; Received-SPF: PermError (protection.outlook.com: domain of freescale.com used an invalid SPF mechanism) Received: from az84smr01.freescale.net (192.88.158.2) by BL2FFO11FD037.mail.protection.outlook.com (10.173.161.133) with Microsoft SMTP Server (TLS) id 15.1.331.11 via Frontend Transport; Fri, 27 Nov 2015 03:28:06 +0000 Received: from titan.ap.freescale.net ([10.192.208.233]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id tAR3RYgJ006375; Thu, 26 Nov 2015 20:28:03 -0700 From: Yangbo Lu To: , CC: , , , Yangbo Lu Subject: [v3, 5/5] mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 Date: Fri, 27 Nov 2015 11:20:17 +0800 Message-ID: <1448594417-22515-6-git-send-email-yangbo.lu@freescale.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1448594417-22515-1-git-send-email-yangbo.lu@freescale.com> References: <1448594417-22515-1-git-send-email-yangbo.lu@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD037; 1:AsfdtXKGOSyUU8ANSoDfGggFz9bKyCKJjoNAqH1SjtyITMGjRdDSR8TM+Mdt1oH19ggnx06KZxAL0J6UJ2J09SFlSbZHEWHJa9OQWGdSMb8HkLdceZyzPP05IvaRBCLex3Em04CIwLo7v9CqaH8zBq4t16kmdPVxjzwrQVaadaGfkDcXclh3tymU4DehlxsRmSf+BmpU7BP3Y09e+vDMGPYYK0tuMZXOpASSIwG7J3DDLBTptX6u4/NqO7MtmWvmc4rxjzbw4Ly+tzbjxcMQtuca6TmL7GKtJBE3D0N9wXSIOpLrGYO1GomWH0m6UtbO6oUxKEDS1p8n+SIbs9ruZJ1ix/nrXXWj4/hbyEvN4lqAG165zapOUq+KMWnELEHxAjvGRzpT2rI/fqxsAUNvmu7GxZs9GnaNBoMU1hkVUUA= X-Forefront-Antispam-Report: CIP:192.88.158.2; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(448002)(199003)(189002)(36756003)(5001770100001)(50986999)(97736004)(81156007)(77096005)(5003940100001)(2950100001)(5008740100001)(6806005)(104016004)(4001430100002)(1220700001)(11100500001)(230783001)(1096002)(586003)(50466002)(92566002)(85326001)(50226001)(19580395003)(69596002)(106466001)(48376002)(47776003)(87936001)(5001960100002)(107886002)(189998001)(33646002)(76176999)(86362001)(19580405001)(229853001); DIR:OUT; SFP:1102; SCL:1; SRVR:BN1PR0301MB0721; H:az84smr01.freescale.net; FPR:; SPF:PermError; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0721; 2:EwmfX5EjY+HyYSnwp7BwU4RYbJjMVEPASp9DyOaXm0oq+tnUSw/1NFYg0vAXMjAUsp6Un1r4taCBERJVIeSx2hJGXkRiPSPXdK+iB1NDSupmoqpubp0Aq1WUShkDsuvKU/ERjpONw9ZSLLPTYU9ftg==; 3:ad8DtJXSikSZ8nOomlm7Vj5lYj1WO25ra3HCRyJ9TUJIRcXA+GnxRk54tSE6/ICnTf5qI3eb9nOGrgInDvPgl3lkceFfAvZtX3JFYFd9HmaCAJthFXrHxAIUmfSyVX4U0crjMSrio5T1YcgMlw2ELcsaFkvAUISeOzEKzTywHVpxz2/v48aA0YVD6Y/HtQnCjYu57dbBbMRIzQANvjbu0Ba/MVlkL0U/7/9OHEBReo8=; 25:kTXL1BLyEJJPzVpHfSNGY+01zjwpDNBwoPv++H/lhrw5loKpdXCKau1y7glHWkTFG28JINOZ2LKn6OHmrvq4Tz4wApScDqxF+HRN/PbjPLIm4EL5JEWeI2Kf1ZWN0yQSJT5k7/IbZD3uot+O8sXjhbFEawDLpaw4RwJEXv3a9uFhlXAIsP/pphxfPOxmiXV9C+O6ZDefF1L+iGXLQn2EOPZUuqX1A0NZ8cO2vQzxHnF9Wt/wJPV4sWfYqhr+6UVXjbJys9m3Q/T0ymUHosBcKA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN1PR0301MB0721; X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0721; 20:xWEVxTjfT19NkwnvOWmvCc5QU8lQlM6Tpvn/p+DbnqOAUVmq+j+FH2M3GklA6zGi6y5LAu8rRzy2a/VrW/nKccRFAZokSlykXJHi1wLxUjdfgvZNa81A6BkCvxwStSkEBGyeqGp1ZpL9IUYwOWVwMLnn6QXRNFaKTJi9De/ra+KG7p0ZIbrCTuve6eCxaUOYysChUnpoAhVnO+cPiloWLS18gLdHWVtKiep5mCWk84+QIgjRSxHb5bKnCHQLJNwzahzjLiLEsTTJpvaA0ZwmDmW0wbfJxnCqNhi/kXaDZSTwYbFpJCSnQrAs8QY9VahvM9hGaB2wrI+T0AfdNUnW3Rx/mLJrcuFa70Qzlcoxgcs=; 4:uBkfG4cSFB2oZhF2VPi+ol3SMzAgAAhwgS04x5xEK2alhmNZgFscZtfmu6vkdC2v/mD0aWb9fXa1sx5uvJkNJRWsRhzfOV/B3sQRIfTiwcKDSb9DTHsukQsQewWG1ZHXd/GVufh2B8y2XM1GRolmvhfmZ9wsTwKF4h2rx86QfJ9zqBc6gaC1BYREcZtLtvc31/wRixHyod0y8v0t+tVyajuynHrBn+srV+6QzyJJwU+QfdDkZ87TfXeeds9RSwzvMqGgytVrzSlp7pkud1rXRKogaQmfcBpYK7k+PhEcmpF9MBGksfe8Z5orrbWZD58tMYMdw4yGynjYwJOHoTkehpbBerfRlwdwYttsH9w6ZuReOjb7vcXUonhWdU0yRYWAaGKONcmyVoTiTBH0+Y4iuvNqDGMnsYMrnLc98ownpQ4tXxjFrPoroF/GzSIqmH4X X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001)(10201501046); SRVR:BN1PR0301MB0721; BCL:0; PCL:0; RULEID:; SRVR:BN1PR0301MB0721; X-Forefront-PRVS: 0773BB46AC X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR0301MB0721; 23:s9wgEVvRbqhC3qmBUAH8HHu3zIyBwZtV3CqCxZV?= =?us-ascii?Q?401DtwDlix8yZ1fNX6HuFWPaf0wOtWGr4HGrHunlMU8i54+WMS/qY2Jqb7y3?= =?us-ascii?Q?R1+Q5sYjIPUmmV9OACHDn7zW6auoSVS9ukcd9T7kwIOfGxc3Y+gmVudaYctz?= =?us-ascii?Q?YuTCvoarSjaXboY49ADYdLYGGlo9yQWUrWlE3VfHZr421UBvWAYSI3m0xfUf?= =?us-ascii?Q?wKZtJY+UTg49S44be6jJBR2ap+AACMAUvCYEU3Ek5cXUGFVx7BiBmMXLsvT3?= =?us-ascii?Q?uSoaPdFqB+aU7DdvOQGouxfVMS9NvAGleSqsGD5niOO+Vm4jzRBwCC0nZ2ro?= =?us-ascii?Q?aKFQ1+FP4tYmRJ3PePqnz3P0T63WSsMbqHf6NDQBWcTOCW/lNDBVb4c9vbAa?= =?us-ascii?Q?gDe6R83plJcsGmsCuOKvCb3QZoy8pbN4jOPwMlVj74g4LJmIbvxiicMPv0hq?= =?us-ascii?Q?mftBcAT5OGODLFtYlLev8JGWrRso5UB8mMAMwaaAt2D02t48T69BmtSXVuov?= =?us-ascii?Q?eSduE04ffAQBCqUKDKJAfLdgDOb6pdY9/9P03KzXntLalStcbM/tGjjeJ1fp?= =?us-ascii?Q?eE2ZefvAk23GOaG8f5RoU2cXalW328NlKtqiO7uhh4fO2aR5ZTb2h2rqEvs7?= =?us-ascii?Q?T9UIncQamHfSdwePWVba6dXiY6iksVaJrf+nvWdi6oBWz90TYDXqhTO5wrge?= =?us-ascii?Q?wEMVXBsg4p+u4rT7V3lMNdimjabeRWQ3bZK/lwv3wvqG3QYrNllmz+6AI4XL?= =?us-ascii?Q?fFnqD56mnoIv18neMAe4fiVj17IWkGd1DVqm9zuFzpSF45snIQ7QRuZO6O1P?= =?us-ascii?Q?DInuBzhBOcVxWU3qXd54oBSeGZsiXsXuy7HcxzOVMY6T/BTnF66+NDBljbDb?= =?us-ascii?Q?rgxuLs8DIR5X5JnG9KmODpez61HUzXJIxpV2jDiB+VVun5g0oBtOSQ02fzgb?= =?us-ascii?Q?bIqb5pQTG8IvA3kMW81oYFkbnrPdCPzh+ifjiamvbw14h8dzr3oLk+9WLbsr?= =?us-ascii?Q?Z4NZoGvOkMDLjGHS2sQbw4ICF5VQ5oHLuREkZzsiOawFZ+SV6cQeCSNXunJ2?= =?us-ascii?Q?egBsufSynJPIERYDsS5FmQyi1gJq/?= X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0721; 5:0XN/1pYsQzxHKHajU3pv8FbRvJBrqH3FBcsJw4GYa11ZIqfDY3GnyxKmCib+NUVclRgrG1/4hwzhU1HVLJEffGTYjMcbvBxzcVVNAFatpkwdWEPcj9aTbwrMZ1v6bg1ZTEI4PIudZ9ee3IYpUlsDDg==; 24:ykur8W4H3GgggP1ZLnXKgSP95fb0jXzI5/iAA/wmKS8ZYpqv9kiWrECVKE6oHRw6iknqAbx5+jz2ErOfPBpPqE0/bcwKJYoDsL+CuCvBd4U= X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2015 03:28:06.6435 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1PR0301MB0721 Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Spam-Status: No, score=-7.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The eSDHC of T4240-R1.0-R2.0 has incorrect vender version and spec version. Acturally, the right version numbers should be VVN=0x13 and SVN = 0x1. So, fix it in driver to avoid that incorrect version numbers break down the ADMA data transfer. Signed-off-by: Yangbo Lu --- Changes for v2: - None Changes for v3: - Got SoC version/revision from struct sdhci_esdhc instead of global variables --- drivers/mmc/host/sdhci-of-esdhc.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c index fce24b7..3a47243 100644 --- a/drivers/mmc/host/sdhci-of-esdhc.c +++ b/drivers/mmc/host/sdhci-of-esdhc.c @@ -78,6 +78,8 @@ static u32 esdhc_readl_fixup(struct sdhci_host *host, static u16 esdhc_readw_fixup(struct sdhci_host *host, int spec_reg, u32 value) { + struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); + struct sdhci_esdhc *esdhc = pltfm_host->priv; u16 ret; int shift = (spec_reg & 0x2) * 8; @@ -85,6 +87,13 @@ static u16 esdhc_readw_fixup(struct sdhci_host *host, ret = value & 0xffff; else ret = (value >> shift) & 0xffff; + + /* Workaround for T4240-R1.0-R2.0 eSDHC which has incorrect + * vendor version and spec version information. + */ + if ((spec_reg == SDHCI_HOST_VERSION) && + (esdhc->soc_ver == SVR_T4240) && (esdhc->soc_rev <= 0x20)) + ret = (VENDOR_V_23 << SDHCI_VENDOR_VER_SHIFT) | SDHCI_SPEC_200; return ret; }