Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752535AbbG2JBr (ORCPT ); Wed, 29 Jul 2015 05:01:47 -0400 Received: from mail-by2on0116.outbound.protection.outlook.com ([207.46.100.116]:39776 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750789AbbG2JBk (ORCPT ); Wed, 29 Jul 2015 05:01: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 v3 6/6] mmc: sdhci-esdhc-imx: set back the burst_length_enable bit to 1 Date: Wed, 29 Jul 2015 17:03:57 +0800 Message-ID: <1438160637-28061-7-git-send-email-haibo.chen@freescale.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1438160637-28061-1-git-send-email-haibo.chen@freescale.com> References: <1438160637-28061-1-git-send-email-haibo.chen@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD024;1:3f69JVpB73oSqH60g4nFALhr1o2Y1EBQMlj2dsImQ3140VNaUsDgx2/TMJ2IYHHYGhiUOOR1n8CqcWzYtS01gG1rF7pDUmvNhF5LPg/Zg2UrmOAuUDpcxXeS+2zGi2STyi3tt0/kffr/zMT4tLJeqOQkiriYK3HZF1Oxd/ssoBxEY9DHHzfVeaXBYCGxRtKsc92fsoVcNUgk7IwGsmi/yPYPFEUe+td5kseUfklQrnM1w2oJDUsrDcGQcbZtGWc9l0dJkMaoT7xE6QaazmJd6YYca/tRGBYoSGH/dRdeRj77V1SqmWcIbMnWh2Y4L9m2xIaOpUFmHN92XfhnpMhUyw== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(339900001)(189002)(199003)(47776003)(77096005)(85426001)(6806004)(62966003)(77156002)(33646002)(229853001)(87936001)(76176999)(105606002)(50986999)(104016003)(48376002)(19580395003)(36756003)(189998001)(92566002)(2201001)(19580405001)(5001920100001)(5001960100002)(4001450100002)(2950100001)(46102003)(106466001)(86362001)(230783001)(921003)(1121003);DIR:OUT;SFP:1102;SCL:1;SRVR:DM2PR0301MB1311;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:sfv;MX:1;A:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB1311;2:YIs7Ko+iteo0H//pOSr2IwdmhHndj52CjK4cpVlHmGshZDVsJxdFC7zjNFVTIeahzEtFsnSjz32jWi+ofQhucCGtmnTXDE9S8mLbkO2mCshUckz07EuHZC5Sm9CSVcGIywrB3spODSGfi+SMTHHMMijaMEv9j1l8r4g8qoTVYoE=;3:B63W47JXN6hif9EmqaeM4Nkruf+tpR9eIyYQKW7uLjrfDqRWS541kHV2b4yF//DH2HmfyxLpt8MWxQvEEH8n/yerKNn0UPJ+TxDgkfnH+UwTfT1K7ONarpteFNn9yoZIRGss/5gdKQNRPawVZprYntNWUBqBXbO5j6G3O8P2DADZdN5g6QEjWWSHk8CgInQ/EBZqfK0Mtb1z55eICInEX9wysWNw2O7sa98bTlJNiq4=;25:znMmvU2ZC4tP56/zJKFvhBuZWeut2FdNmbrAvTV1Kca2onTrU1Mr83EMyRp3fxSPl0OOnWggm3cnCrAPpXbTvX6LDJbqRlqumCDsTurMUcPnfDBjiyvVZ2YQZ/qux4YqCQaOUQLl7tL5Ymo2sixAHr3jukzUamLn9JQ6AoAt0aGFtHYaEcCfn9JsrYMGmNfNPMkqK32D5wnLnaqx9zbFk7rNUmMsaBY3BvX9yY79oHwxfuqQliWej/qkqWz5Rn56TrVu4otrNcdVLDXDlMw8rA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB1311; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB1311;20:g94K72WLB2a2ZiF4dq0fK7jwERu3ye/pTfJ+cZbNE+Dx3SewGnrpkzMdio0WHnX2hbJss+K9G89h3ClSMILIH03q59FT0DTi4h6TXVBAQ8onw1VbPFno63zCcSPqcavDs//z0GUgtHmzOCxTOa76FDzpGAHsEAMQITI3kB5WrAQKAVphYTMYDH8fAOGsx9ZwfdGVGAF2u0dak6ybDlUvPfeOPHVtZNV8zsEi0f8tDENUSK1LWMdrm3hIw/9eMCHyqKZ0TyCN56BB8DaZr87xMZZAXr9ICH5Pb4rmMDLS/fZCCz0y7ln0LzE8jVWhIme4iL3rQzOrg0WxBC/OB0lFf9Cl01uxxRjMuaFXusY8zvo=;4:JoWSnJOEY2WRqQ8dmecpp7czuX3X2mZ/6GYIcYYqIFsLTHk3VyvNR+1rUDjlrDpz6jJk6JxIIYxU3yAZ6B4mjmjqZP8wHK2zbBiydUyVzJCv5kMpetBQ4LFY41heYM3Qw4vnMo3W/zq2P3N0hVXti2tGi4RKpfs2VKBQRnkZrRLrRZsBcUcCAQQTmN7i4H+cFS/o8nqGmhrc7m9vGBa1g4qirRqEcwwFLbOJ1Soc/wwwhHX9oSmIhinYM8tSt0J9LRnPFHI2B5/FiS0Gyp27YfPeX/CdU0dr5+FWU0HPmjo= DM2PR0301MB1311: X-MS-Exchange-Organization-RulesExecuted 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:DM2PR0301MB1311;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB1311; X-Forefront-PRVS: 0652EA5565 X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB1311;23:6R9XBPU/X54GKEIPN4kjqV7UBAKf5HE8hjoFZS+vE/oaO+xPWfvcsbjaHM7Kte+SUwYqJRbdCkCtMvfFmM+5udbvDaf6xpjeU8b+MvvSKr3i8BlloTP0IZXyguVvEPi6+bRSZrvm/xmS6CfSBrek7U6pb3/EEdM2B54NdLJmLcR4O2mPA3+VzUyTAnwvTs7SoPUW1nsc4ErchxdvMMwOYKjOFt0x3MtXV53dcztFURoDUD8pdHbHFHAjJRIrON5oRqaodQTgI6uPc3IvKD5JPthVqwCsnbtNXNGgWbxHmy78bbSy/w+QSTpZCkNlJwz3rvtz/cjFMX7biWpBUHnopRx4JlJEWyAaKIUbFbbjJ3ohHENUR54f5V4dditF22bvJ+QD9QfMD4+gltOjMeTWhY1T0Hy2myjAWc0qoP1KF9VB7i349eoOzNALwbxYb8ReKgQ8JCVAyO8aLdsb1nNfuv7Nq5/L2YTTgHbfizNSR/bYa9nRbx/87nywAczKfoB3LqDS/jnYl2koR2ViVKYTfC/lwznQn09eEEhAYUAVfz1jjT4CL5X8U7+fehpOaogX2Ijne6WbHzZrg+uN1Yd8kQRQm5UCVnIJE8g5vCbcUDsW5hJzl4LuC4QCTQ3HFlHVNF2U5qrTCXq8wt3wYg2aALjlkfdhKh2fzPx0WlGX+2nbw7ssBNxDlPwwEf2aRFisr0KXTWM1qscCNwPO9j+/Zq7Kq91qQt+ArV4Nh0Y6Tc982qZwIp05GWb0slHKbN3epLfWSSAIjBUP8EFfUqbzAHlxALHszw+cut5pIB9oNypHcDMBKWu+rlxYJGObGpiEH00mBV70i3UFfrNuTbdwUmS+iDUZrgEk2EFh1n5GaSRTXjSb8yZeJ1gKWL3s5OV4CPzy9atCnJKxNGJGkAfDS/Dkc1Qz+XLmcGAz3ycV4bM= X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB1311;5:cKwQLqfusqCULdcOxm3TPiBCh4J0h8aJS48t50K5h0bV2yvh1mgpbFB943ygGwgLiUarBVNSCAKEqgJu8Gejopp3ZLB2l+rb/3z0oSrbx3BdQ2rIFPeLzYWpCD6/hEwqXiC86qaOanQ4ZUA9jjIOfQ==;24:9vozTNsMbn9DexDCrCTaehPGoUpjiND7yQmPm/+s7eTd096hoMuXHrqfue42NFEtl9qFjfMForRSMuQmsMYr2YmerFkZdF3y0KxVYI9lEE0=;20:uRc0Os5hn+Ycg+xc7WRYlM1/OH8sr30knQQctBtpoaCom1ZfBHN/5kZtQIxHCysAjz6K/GAT73N+ifDBBoj18Q== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jul 2015 09:01:38.3527 (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: DM2PR0301MB1311 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1811 Lines: 49 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 16. 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 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index 37d0095..dd945e5 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) @@ -1158,6 +1159,16 @@ 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 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 if the burst length is 16. + */ + 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/