Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp3240333imm; Tue, 29 May 2018 03:49:28 -0700 (PDT) X-Google-Smtp-Source: AB8JxZq+op2h3gMPNUyua40dUGbUf4wJighsCwSn6pwbzklCJof2tFoKKWLxqlTnB4U6S2LLGd1L X-Received: by 2002:a63:87c8:: with SMTP id i191-v6mr13549625pge.124.1527590968503; Tue, 29 May 2018 03:49:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527590968; cv=none; d=google.com; s=arc-20160816; b=LC3Lx7OXiYGGP7qkeLHus4XsMkZ1Aw9IRPKwYA3A5d+eNcIhbAPnhnzDQAzmqIyiIl WkMc3ps+5NTKdOxl6PkkSLn8NAxF4eokLctKQyBjPn4Jg1Qg72wDWXf7nUzp5M7aseSv Lq6BJefqYVeG0PEEiM5XCvEzjlDxnrmReHknwN1EIGx+o3NAe0voP0RGs69yCp6g6ykV PHcFxPK/B1mBJFyk/uisb/DLCW585fcNCQmur9UP44hu4OhVy+37KX4UIsLCi+JmoG0Q IlTtw0e4UF46Ong2hHdjw9PS6SZvoCjawJfX81pN5eITbr2Z829nTlvh0PNtG2cMMvt6 UMig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from:arc-authentication-results; bh=WRAh9r68avtdT29eU7C0nMGTcZHajw06mYAG/KP6KgI=; b=T+2seRdUPTVY/p3Mq7zL4bWmFCJf/jodH1Uls0mrmcBiJeGhlFiMBT+i8/eFXQXsOI Dljb3gPzafN2oNjfwZNkxTWs4WEr9DIlgZl3Qqa4QTmitWnRrmB7jhzIG7ckukPGQyO4 bNlugVACTgRja652TM/BzTVF5t+GsiR2nUg/tiPUpkg4dtDg4uDFIrBH7WLXaz6VYFhg UDiRl9x11El4GyMkzqdEZXhkgKcz6ZKNKiivWlRJ6tgfFBuyi+XOraEeNGNoYifOn1q3 Zk5h9u40d7ZStNlIq+QrcY/dpZMpo8gJZJx+IXh9Z5ZD2VuqkZ6/bWFu5c+4qxIwbq/C WSjw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i15-v6si12857239pgr.566.2018.05.29.03.49.14; Tue, 29 May 2018 03:49:28 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933194AbeE2KrX (ORCPT + 99 others); Tue, 29 May 2018 06:47:23 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:38556 "EHLO huawei.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S932828AbeE2KrV (ORCPT ); Tue, 29 May 2018 06:47:21 -0400 Received: from DGGEMS411-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id 091146B75CBA6; Tue, 29 May 2018 18:47:18 +0800 (CST) Received: from huawei.com (10.67.212.83) by DGGEMS411-HUB.china.huawei.com (10.3.19.211) with Microsoft SMTP Server id 14.3.382.0; Tue, 29 May 2018 18:47:13 +0800 From: Qing Xia To: , CC: , , x00270170 Subject: [PATCH] mmc: dw_mmc: fix card threshold control configuration Date: Tue, 29 May 2018 18:38:55 +0800 Message-ID: <1527590335-171787-1-git-send-email-xiaqing17@hisilicon.com> X-Mailer: git-send-email 2.8.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.67.212.83] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: x00270170 Card write threshold control is supposed to be set since controller version 2.80a for data write in HS400 mode and data read in HS200/HS400/SDR104 mode. However the current code returns without configuring it in the case of data writing in HS400 mode. Meanwhile the patch fixes that the current code goes to 'disable' when doing data reading in HS400 mode. Signed-off-by: Qing Xia --- drivers/mmc/host/dw_mmc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index 29a1afa..3ee8f57 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -1065,8 +1065,8 @@ static void dw_mci_ctrl_thld(struct dw_mci *host, struct mmc_data *data) * It's used when HS400 mode is enabled. */ if (data->flags & MMC_DATA_WRITE && - !(host->timing != MMC_TIMING_MMC_HS400)) - return; + host->timing != MMC_TIMING_MMC_HS400) + goto disable; if (data->flags & MMC_DATA_WRITE) enable = SDMMC_CARD_WR_THR_EN; @@ -1074,7 +1074,8 @@ static void dw_mci_ctrl_thld(struct dw_mci *host, struct mmc_data *data) enable = SDMMC_CARD_RD_THR_EN; if (host->timing != MMC_TIMING_MMC_HS200 && - host->timing != MMC_TIMING_UHS_SDR104) + host->timing != MMC_TIMING_UHS_SDR104 && + host->timing != MMC_TIMING_MMC_HS400) goto disable; blksz_depth = blksz / (1 << host->data_shift); -- 2.8.1