From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934230AbbHKLgo (ORCPT ); Tue, 11 Aug 2015 07:36:44 -0400 Received: from mail-by2on0140.outbound.protection.outlook.com ([207.46.100.140]:31664 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S934141AbbHKLgk (ORCPT ); Tue, 11 Aug 2015 07:36:40 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; vger.kernel.org; dkim=none (message not signed) header.d=none; From: Haibo Chen To: , , , , , , , , , CC: , , , , , , , Subject: [PATCH v6 5/6] mmc: sdhci-esdhc-imx: set back the burst_length_enable bit to 1 Date: Tue, 11 Aug 2015 19:38:30 +0800 Message-ID: <1439293111-21077-6-git-send-email-haibo.chen@freescale.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1439293111-21077-1-git-send-email-haibo.chen@freescale.com> References: <1439293111-21077-1-git-send-email-haibo.chen@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11OLC016;1:ylCQUd8bQxzgx+bUI9ChdbAz87gs/KYsWb760AqVUEFgu8m4FWPx1xqM4no+BtZ/JvEkIE+NXG0Cni5us4O0js4puAb2yQEU/YWRvDUTkpFbZ0NzPQzR9tLuDZj9hevMrQtNlKfOD5eNRpKdaKWFF7wMRHHPcuQpTbtoa3wPpnDFQI6M7dsvcaZYdlv68RaPbFQCHghlBJXY9RY5wChsSjR9wenKFamvsGng6CSmM0FytCn1shk12lhHIE0AnlK/0eOCSzCzX5NZ/0dIAMuXe8v4WINuVQUhlA9s4nn2GVqZeuTPT0B7xjII09AdHDucgTbEkI/kA+O0TSw4eD19hIkTTkzaGWHv48AdGV4wWob4lFv9VDnucC3brHT5CVf3 X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(3050300001)(339900001)(199003)(189002)(68736005)(85426001)(5001770100001)(77096005)(4001540100001)(36756003)(229853001)(5001860100001)(5001830100001)(5001960100002)(5003940100001)(4001450100002)(2950100001)(19580395003)(64706001)(92566002)(105606002)(106466001)(230783001)(50226001)(6806004)(81156007)(97736004)(77156002)(62966003)(19580405001)(189998001)(47776003)(86362001)(48376002)(2201001)(46102003)(50986999)(76176999)(104016003)(87936001)(33646002)(50466002)(921003)(1121003);DIR:OUT;SFP:1102;SCL:1;SRVR:DM2PR0301MB1310;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB1310;2:L+TtHNXitVwWUbw80abws+aBz2MqwZfdjC49hWVNeG4dTAG58dAnTMdr8ABCZMyEB8mDxjEySqtbgrVWibsBlMrec5jBFcPodXq2MC6a0kTfxK2umhth7UH79SBRLPE/aiOihOXCa8K3JPT9SEzGhYNTtISd78k28XVCSSKQkHU=;3:TPdRJvZmmbKT4BEzDBzyNmMDZV2Iv7ks/81PyNd4Rfa0sbNrsbj+Lh3fYa1GcSi17FoiDIhyeufBMeqUHyy/IPztT9UdJKI6HG02aEQmYPhx2B0hsyV4ZQs0oGTcaKCwaZrPh1rFEnMBjLgVY3homNVBMeb5j2yH/YACO6FMhWHKye8Rg5yM0+bcZRYCfAXZrwxi+VuroWIWYG5wfbkUesdWwhC3mthHioZ3fEEUFK4=;25:SNmHLJ9204gxHxfdEwcH26iSgrwMm4WSnhp8F1adQ/xR56b6ydrt9OEtLDu8iOwvPH2iSqYYm1W8U8xwMlrpD0Of+tQkVDsptsoNC2XPMnWOdZUeCzsnFj1hIa3VVEgEN3YxBpgA3qchp4G4svrhOOGeo/x6fTTzqmRjsrQfXk4WnISOFGCPanTh9TMFz2DXeRNbepEQKxosE7VNYjYKcNF5lYL41Wg6Xr3PGoMu2UPV7pSy9tROpSswDHudGErwXhAvJ4GtuzPpGedbdS/RJw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB1310;UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB0622; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB1310;20:0D1oyTIR3Hu0a9Mon1qKgsTI/HWqfX+zQ8I8BKHebq/L6ialFkTHGmDqeL6KFwmoKORUolByfCYTPxxs7U+8Ealui4xDKcFSdzuG59okI9R5HE6lBl/IDkUrccv2IYUBdJnO909epYwSX4c4GnA57FDe59mCwNQ5ATozSYFIM8GI16Fw94haDT+xqhYRVCoLSyCKVx6THEa/Di3KQZ07FINZ3gST8Qer+bxb6ptJTYVncybHf2L7Zh6AACtbXwfRsPhwUzOgEsGOP3HY+rIacPvJsA3X9nB3LBQ5YuCbIrKOMoyineTiEeEEcGLLdSdEI+3uWReNdSgCk6DIYretJcq9PrgOyq9TASSeVvSmM9k=;4:XzGJS9zdnGUfPUUjJRtMULx9ZbiPO7cVScJhvOoAHv7TL6EtGUmgBOCBTIZuIUAeQED+z4CMNBrKIoRd9cSf75UwWAmJDAqIgXqoLmbfQx0NHooyBAz9UnZKSkMiUYJUIOmNEx7/Frh2tyZLo4XSLoWC0yUDe9AuAGgIWAVb1l0TXMe6WSdi4qhMEK2cCCYJJuaGImZfY49CVI0LNMls0hnPaTl5tVeKzOQSi9OTCVWbWENXKLoF/JmKLZOhkjRB4MCCOqc50k59hW0t5vB4fNVhv0rFGYF3EQf3x9DZfXE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:DM2PR0301MB1310;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB1310; X-Forefront-PRVS: 066517B35B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR0301MB1310;23:ikd76B2/YfT+o950qLx7K6DJABI+i2qxEnicder?= =?us-ascii?Q?xMykNdhee8uYyc8hSRKpZk+D/0hrViu6/3H1JTqqR10blbT8fYczVMr56CC3?= =?us-ascii?Q?Nd2eF0ZbE95+ARlMt7az7b2xjZYbAWSkAyVL7Nuo+LeMWgnEetikzqoZBAHz?= =?us-ascii?Q?VeS+n2F9CyWgwWMeHRkREvv7oWxlaWVdmRGiCxFGHEmWq2T6BjuoxpZCJ/i3?= =?us-ascii?Q?3TS/jz8PX3ulllNnYWblUk37Shx5FZZ4fB7FdC7nlxEvyJQnWEe/RpgVz4x6?= =?us-ascii?Q?IkSPUT5y9NS7Sb3sJz0O3htnIal8W0Y6AMwn0G2rn2pTtX/TOGWRbN3zPN7G?= =?us-ascii?Q?CrdeqgqOIup1Kois1ZjP1CBp1fDwOv5+yb48hAtqq5ATy0d1RVgtwti+Hx45?= =?us-ascii?Q?Sohkx83kMaZvM0H9PKTL0Stxf1AAuhrPwLk2vf8nfiDZXDC3HS6E8KxYe/tT?= =?us-ascii?Q?If5w7H3NjPEGBDWzfX8x6k+mfWgCtVUJYvSrvJGam2ptS+mtE/0CfwxihPsP?= =?us-ascii?Q?cAhuKh1YbPlMh0Vyn0fs0JvEhjpSr1Nc+hNE2OxchMtDPDkWYcq52N1i0EPs?= =?us-ascii?Q?pSexDC7pYU0+qFCcbiRsooJhsZo1V+Wh8JBB85h73huCJAINZL9JlLTqFRjA?= =?us-ascii?Q?kKwcdEoSYnOOs5i4IMZUqpXkyoIWeTgL61nPtCBc+5Ks7d/5zbJ7+ExY+D7t?= =?us-ascii?Q?PZrPadZTcy1ydq5A5XGK2VVCSNWDBAVXfo/4a3e6H0INx0DOlBT8q6+8wrzt?= =?us-ascii?Q?GTB2ZiRDdaTj3EL7A05Ln5xd30xHYVtl3pmCKfLasfVXG0f3EA7Bc4X7kp08?= =?us-ascii?Q?37FEYIeb5e2ucQj2exLPc7azWZRqfDfgObJ455vThn5l4LqobCZLOiiRqUIC?= =?us-ascii?Q?pVxn0OCHP8Su1o/nSg+BeI0YmkUz2oXGGao9BNzdJME7WuotVwYeN7o73flY?= =?us-ascii?Q?TbrA4ENJ0vgDPTwUcWHHRr55REyK8RDkHNg3F/AE7hVi4FW3MCDbcvD1hEmH?= =?us-ascii?Q?h5tEHIPa5gEEf5WLnaFUQHcWCPF5LUal4rBJRjV3IWDp1GCsxgHTpQxkeGIw?= =?us-ascii?Q?MYQwNNHPiCgxQelqYa/g6sPoPe1+pBsc0s5wwisEVcI4qI6p7wToMLP3sy3Q?= =?us-ascii?Q?IWNnMDxtA/3faMLSKKIgqqegyuKSiiZ22hAfRVd2s06XRtjvFQK2oh12o7cR?= =?us-ascii?Q?QhUBOjY7YhSIyrGru5nFcj8fEtGwI0/krn1g98zfAyI4lf5W0NHPP+NHsdw?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB1310;5:2z+b2WG+xPYfBMKNQ8rfDJDf7q3OOJDESB46w15vobhrLVARGG477d3vpEykoZsrYfxbioMvck2jY7G2jnBfNGts3Yh8dNpeCM+VrTwgb7h3QvG2GhNrsJrgmgvpHIwJTLtY1kw6GPckDzSoUF26kQ==;24:G1LNuIwdIbeu/CQZpvdEb94kkgVgiO+vx5GnRgbr2SVcD70hz7+s5CBsmEKTA0dyBaVySAvQXbjXhtT/5oCqdWLVXwhkyYuVvLYQJavMVKw=;20:ZyggnYsbKp/5H/GV1EKQyAPclrO2+T9ySqZrBfLcgz9PsIMq4dMsVCqyMQkaHjLC6IbyXPF+sx9BindLgadNew== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2015 11:36:36.3805 (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: DM2PR0301MB1310 X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0622;2:zuYJ7t9ddPCdpb0Yj5kQ0XbgrOeSjJDmv3j1eAfMSagfpYKuw9OHjAD5nb3sCTR+Mk09t8NmPN7sPQes6L5Eb6+lu8GWJsLKtcsdW5AGxPdS/BWQgf3bIOvCIm4osde8h1kVgnJN0Ego6vviwMl+U4IDyf5/dWHSByKJm5XQc6M=;3:Xe7KvYCD1ZckDkzpVJabBC7ionMDId02BGYa7DmGxAZoMdsBpzVjq00osYWQxmcrP3kLS/wIsg/pSTGhzJvtuLo5od3qGzOlQ5Wa+WA6f5tW+PLRy2EryAGdoxDFYKNBqIiTBOaUk2M4NMawU3dTVGwzRoMksBC6FAABBHSuwwH4Oh6D8kjN82pJJVehY6coJf/xsIIDVBCMkuDXVPGmwvPizYKnyHH2QUZazTlLwRg=;25:szgOKIp7LZQwCc7M6ChXS6b6NmC1obgXItQZXzC1sA0u0/haD+yvDtHvCFxI8r+PpdDc7SW1I+gt9/0czKbIln66YasekPhKbZIAQFTHvlBsC8aId+dJ5Pysbzqxu3lQFVkey3xt4MQzz+ahrtAF5afNUKu4EyyvJtw0XHN6lx+W11o1BnTCC4xwHnaduP0RdLWuaPp7x7lfVSgplu8zuHYg1gIlMyxf80sBeXSo2xMpM/TochDDTNG23925kQAOlvKfxJVoqWTY3rYUft+Rig==;23:qZj/uZin/61Q5dzYkn0tlc1cpmxwjv/P+svs9qU0skS3sZuaEcmsc3QBniafZWsWK6S68801FTxOTDwwxpt/vXcc1LpJPM77ji/QQOtXe/uvwosqnbTS5HjikPJUrQhpasAjaum1Wxk9E/Esvh0AXZqkAGpBQU7f+JSbqCfhK0UBgx0LIEyNLB4I4GGZB+BAWwDPzGWb4Gc7+nS6wkMZb2USyUWvozioSYXW0B3yd/GFRi2NmrStfMJDT8P4TUA9 X-OriginatorOrg: freescale.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently we find that if a usdhc is choosed to boot system, then ROM code will set the burst length enable bit of this usdhc as 0. This will make performance drop a lot if this usdhc's burst length is configed. So this patch set back the burst_length_enable bit as 1, which is the default value, and means burst length is enabled for INCR. Signed-off-by: Haibo Chen --- drivers/mmc/host/sdhci-esdhc-imx.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index 298551d..ac8ec01 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c @@ -32,6 +32,7 @@ #include "sdhci-esdhc.h" #define ESDHC_CTRL_D3CD 0x08 +#define ESDHC_BURST_LEN_EN_INCR (1 << 27) /* VENDOR SPEC register */ #define ESDHC_VENDOR_SPEC 0xc0 #define ESDHC_VENDOR_SPEC_SDIO_QUIRK (1 << 1) @@ -1163,6 +1164,21 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev) host->quirks2 |= SDHCI_QUIRK2_PRESET_VALUE_BROKEN; host->mmc->caps |= MMC_CAP_1_8V_DDR; + /* + * ROM code will change the bit burst_length_enable setting + * to zero if this usdhc is choosed to boot system. Change + * it back here, otherwise it will impact the performance a + * lot. This bit is used to enable/disable the burst length + * for the external AHB2AXI bridge, it's usefully especially + * for INCR transfer because without burst length indicator, + * the AHB2AXI bridge does not know the burst length in + * advance. And without burst length indicator, AHB INCR + * transfer can only be converted to singles on the AXI side. + */ + writel(readl(host->ioaddr + SDHCI_HOST_CONTROL) + | ESDHC_BURST_LEN_EN_INCR, + host->ioaddr + SDHCI_HOST_CONTROL); + if (!(imx_data->socdata->flags & ESDHC_FLAG_HS200)) host->quirks2 |= SDHCI_QUIRK2_BROKEN_HS200; -- 1.9.1