From patchwork Mon Dec 14 04:24:27 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: yangbo lu X-Patchwork-Id: 7840781 Return-Path: X-Original-To: patchwork-linux-mmc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id B7EDC9F387 for ; Mon, 14 Dec 2015 04:32:26 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id D4E732058C for ; Mon, 14 Dec 2015 04:32:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id EA06C20520 for ; Mon, 14 Dec 2015 04:32:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752284AbbLNEcY (ORCPT ); Sun, 13 Dec 2015 23:32:24 -0500 Received: from mail-bl2on0117.outbound.protection.outlook.com ([65.55.169.117]:55296 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752272AbbLNEcX (ORCPT ); Sun, 13 Dec 2015 23:32:23 -0500 Received: from BLUPR0301CA0023.namprd03.prod.outlook.com (10.162.113.161) by BY2PR0301MB2070.namprd03.prod.outlook.com (10.163.197.12) with Microsoft SMTP Server (TLS) id 15.1.355.16; Mon, 14 Dec 2015 04:32:20 +0000 Received: from BN1BFFO11OLC004.protection.gbl (2a01:111:f400:7c10::1:197) by BLUPR0301CA0023.outlook.office365.com (2a01:111:e400:5259::33) with Microsoft SMTP Server (TLS) id 15.1.355.16 via Frontend Transport; Mon, 14 Dec 2015 04:32:20 +0000 Authentication-Results: spf=permerror (sender IP is 192.88.168.50) 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 tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11OLC004.mail.protection.outlook.com (10.58.145.15) with Microsoft SMTP Server (TLS) id 15.1.346.13 via Frontend Transport; Mon, 14 Dec 2015 04:32:20 +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 tBE4VweD027895; Sun, 13 Dec 2015 21:32:17 -0700 From: Yangbo Lu To: , , CC: , , Yangbo Lu Subject: [v4, 6/6] mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 Date: Mon, 14 Dec 2015 12:24:27 +0800 Message-ID: <1450067067-44869-7-git-send-email-yangbo.lu@freescale.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1450067067-44869-1-git-send-email-yangbo.lu@freescale.com> References: <1450067067-44869-1-git-send-email-yangbo.lu@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11OLC004; 1:Dv6HM/MUU2/Eik22r0uvGW8+sAjic/21B5XVxy0ormr3aLJTq+ck0Ha/wijYxwHN6tLLRG5DwwCbolgEDc2cwcbne2S24DbBgSjRmZj5/MAvZlCDiwUPNKTPG9YvNCsDcyZuC6EhxgJ3SKxHDYyrwApT+fBlzjffQ0BlIGIvS9FBWUUnzNGZVcfFi4OmI+GnhQxtTPpsbyqVFjQ10yIPN4TDFpPmuGjLNzEPxuJ1QQ14JpKbao10x5+9dIWRMegMe7wAqr/ajxmWv5daOfk/sg5+mwpcNELxULAQ6+vcpjWxWEMVUDcGcpCXVmL60ZkEv2wT9O6jI8AX9L43tMV7Hd4Nmj4pl7nJ0b2XSpvwiIv9zIhOya8+gAKWD0FThylP6uh7BmH5pa9A1xLGfpkJHJN7kqCAzaSrdhBo7TcqcDg= X-Forefront-Antispam-Report: CIP:192.88.168.50; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(448002)(189002)(199003)(6806005)(87936001)(97736004)(77096005)(19580405001)(5001770100001)(47776003)(230783001)(50226001)(5001960100002)(81156007)(107886002)(50466002)(2201001)(4001430100002)(76176999)(19580395003)(104016004)(1220700001)(1096002)(5003940100001)(2950100001)(50986999)(11100500001)(48376002)(33646002)(85326001)(36756003)(106466001)(586003)(92566002)(189998001)(229853001)(86362001)(5008740100001); DIR:OUT; SFP:1102; SCL:1; SRVR:BY2PR0301MB2070; H:tx30smr01.am.freescale.net; FPR:; SPF:PermError; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB2070; 2:SVhxwvAtyQ55UKftmck8iaRUnUwD2YXTKtcGNPl1vzo+pylGjbNwMahwwOO6UJAn8SK8G/d3nh7quAwu6y6SQFZ0i8G47ENm/iwOvbSNw/IWaSG1L0DcUCOzNj2w8ufIRfeX08tvIj9TrsX+KBCRrw==; 3:SAgliv0FMDivJnt6/74/2Ahxykzrw3SXoRttnW0bPx1jVdeSvIl0ClltkL4GHLbPVZIzD+afnzbiehNCeJpsV4yyZQUoPVB2ISq1EUFKopsXWoMdXMKSyFSorQGEOcng7l7/3kF9dIRA2/7S7AdScBu4vGa6NEMl6jw6AefeP+73XiTLJhC8FQS88OOINItuuv1GOSfmUV21pu63fCJbXxIy6K2+80CkGpr75MKt6XU=; 25:NC3S/c6E57yFAASMO8Rm0zavUi0ifrDvf3MTFEHBGhTr7FEE9/RoLKif3zn6xC+r6fJjbwWPNlyj0chivfBuu/W1DHENeGNmCgyLN/TIdZlWMJ1K92NlFhak8VHDHUVcAdONAqnx4W/CI7f0u2XGp+WRRvlTDx3LzRTDc/fAU8Ftz3i7qVm8JVN2QmBdtTFcHtmtCyO5OmZ+Qs62rYabTINGOVuS4/2fytIZJGT5QG7g0krBo3zmlaWhzdxZkCfERcqUGtL0x0CmPrLAsg7Mdg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB2070; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB2070; 20:sDUtakx7O1FxgbDwMk4XepQ0EQiqWCx6oZaCUZzbYn2IjAHGegoL8pXCyyRJ1467es7dM2sJqIhd8j0Z9ZIjoHl8RyHkzZxavW6kxpaj1uvhezIO+U8L033Y9HPAxGByOYIMGgpU1itKTboXS3wjnu4KJnNhxe7+MYS5ImZjos9ZcBDMAgX4EM389dTBJgwuh8vrQMRZvGWytJHNJMdoPZ0tYA0cJ1SEb+PVlwmdO5vHRKNtHe4vcWQcoO3giDbVPZFT99Sxz8OZNTkzqQ3K+JsnGV070PkJFcU0cEIQQOEVqgbPUBBRjgeo4GIAAnUhlJujm3l0plx6aD5dW7lVzy/eEAWgSWNB8713gAmoqV4=; 4:G7TQ566YsO3KPTKzqmFAxt83isWpNXC6cGC/GJgoExxtf3trF0jPgSiYxPla7GcWQLWD4+8IL+3X7xNsnXqQ5mJ76Vv7pcd9iKQ47dqc+y2Sd8XWff/OFL8K3lc5PDL/pa3LrrQFm6kg/llgy2SFvqDq+agzmWxa4u+7gE4BMGpjY0TMPc8Jx8TX5xi1INphLYh/jR2/6fHhNa8j7pQT59BByJoTXaxwhwg35gZgXVqTHK7laFGMdvcVFG1/k3n2a1Svb3f4qtfk5Ck45AFAaRbqiEuGgxBAfB7ThoBHp1cSrltJRobCrYzXujVMKDH9gE79zW3B4CNVVGsGeKgsNgHucq+t89CXqszTfOWgJem/+AdUlr+VvGWI9l9qUytwxfPYN2Y9T0CHNHWe2OMFUdhiU7jGaaTpNzdi5wkf6TpHeuWHWxolOAVtpsa3CX/T 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:BY2PR0301MB2070; BCL:0; PCL:0; RULEID:; SRVR:BY2PR0301MB2070; X-Forefront-PRVS: 0790FB1F33 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0301MB2070; 23:VNSXAwCUHEyu86NlOKYlqQxi6tM6KGKXAVUCw75?= =?us-ascii?Q?rx7YJlyLfxeO9zz9q5Z79I6wQM4bCEEbJVTuFHe/WIcvlq7E/uCsZGgAFtT0?= =?us-ascii?Q?oezefYO6YiTeZTX1PIe++dKSvGTc+1/N5zEzNUtSE4M8qKNVqZs9pBzHasdG?= =?us-ascii?Q?Srxp7Cgm0m8Cl0BmJdLedItF5Qza53CKoR7dQFZPFYHexDMSfSlZmapgVGDG?= =?us-ascii?Q?sH/AsHSh2dv5XEOECONItsOSwEYyDhtMRIrH7AIQ5oJTGCNMiUZIy0CPnlx/?= =?us-ascii?Q?bWExmJS6wto1kZ+dhb9J/PcpMuM2rA5r38cHquYNUlFPjLpiTTBRzMC4SK09?= =?us-ascii?Q?udzULrM2QPZzA26yjR/5N9x/+ppJg1eepVl0Y1DeIuGC88z/xe0vhsdaNxAU?= =?us-ascii?Q?kJ+VJZE/+6JYKLTFxf2klH7nbe8vNW/40G/XV7Epmu+fgghcxIuLaPw5Nq6B?= =?us-ascii?Q?HopRVixD/GSBJX7aafB3+lxkmcEidZ7HEwiVHbbmLQUZ24BwdJ6To9lOS9uS?= =?us-ascii?Q?sBH4WEN1mbMODWcjsgcDTObm04xrU+fUJmOvA89Jj6bh0MAu0CwJcbdmC7YP?= =?us-ascii?Q?vdFnddHn2PjDjTwnHHyo5TLU1E7WIOXASJS1e44Zh52fu8OqHLggNm097UAO?= =?us-ascii?Q?Odm5llTQIQ4/scrX1t+lwDn9xypmXtSrYpoudXaQeSqPVa8IVl5NC1ecKMuc?= =?us-ascii?Q?xeOpa0576uH+9xgExrO1aWsrbrmLE0yUWuYr6MRkgNi9K9Qg0PRCBrwIunH5?= =?us-ascii?Q?dwmHR0Ey8M+QmFpaSqcoCgCLCLMLNfS+CJPpxKA3vLyUcSZFR7gr6vWCRd9Y?= =?us-ascii?Q?3tBgi4Y7Hls8Af7CsfUvSEjUCTYZssM5zKHFZwTsqY1HAcFCZxTjx4FhXgFB?= =?us-ascii?Q?sNULmV5fw9UGWNOCZ/nNtNtSsC+V0SjTI6SaIU4V2gGK6n6nsYIQNBhb4OzJ?= =?us-ascii?Q?x5lzJMe8Dce37/BmAjcgUIpZNnC9js72q2qwFDX3Bqifk3sUysvLl5Tl3u7M?= =?us-ascii?Q?SLZdR5OvAFOp2ozaNELQK3bmQTWLDgeaGEH+Nu4YZg6B1fGZlYcXstM+v+3M?= =?us-ascii?Q?XP4wsGxS2xoIe4JR55ONm+dn3KsFz?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB2070; 5:pTQ25B4P6NLW6zB3mTst30NK3k0I7IHKYc1+lL3y2ZTQNQRcwCce/liU4nOhmOJwIV5XfhRHCCws2vaeq+i1J8fk3ABFs9oW8grxaPn/5N4K/wuUqjU9wDt/5QgT8UT8qQZWw15cyTEmapxgyhL/2A==; 24:Phe5FnZQjxanbtxkBnsb90LCBc462eojlNFPE6JLmnogP4/jIRMgmNHaH3oICDMr3cp1tdeRmf8IUkOE2XotjATiXx/l9zCYBuvNrsJtPaU= X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2015 04:32:20.7141 (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.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0301MB2070 Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_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 Changes for v4 - None --- 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 9105888..6ab94e7 100644 --- a/drivers/mmc/host/sdhci-of-esdhc.c +++ b/drivers/mmc/host/sdhci-of-esdhc.c @@ -77,6 +77,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; @@ -84,6 +86,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; }