Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp829479imm; Tue, 3 Jul 2018 00:17:41 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfXwBkF9gxGsCsQpRz+sovys0wHrcmZ8mQNcWJQrvnP1YOvPXIaYbjQxUtj4SZ8I+wLA7Yf X-Received: by 2002:a65:64c8:: with SMTP id t8-v6mr15947598pgv.110.1530602261032; Tue, 03 Jul 2018 00:17:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530602261; cv=none; d=google.com; s=arc-20160816; b=xEFsiJmFYL6W2hTYRX/ujMqF7gTxVU3NK+oNBS4OSGk465nNHHrjvx5b7Yl/msPBw1 3gi4Hz7E6cRUS1/RGWcmf1PLT2n+CglKIaNeleOe7zHyuuz4cCTBW4b09izaeEeBUZCi 42fzKt7iGFG4k6lTJJNr7/dHEPyBtuyG/URy6b41rhwdsdUusWaqzWRRCjqUXTzSfY5z H8QYyYlRuX/L/8YMXPgVpVK7AAbVTsRSvM3CIeUyFjVWfhGjUzjMB/Qs328JZY3hIHN/ n9aIKm5bsDhfISbFO0eVJGhNkwY1ki+Aaiw5ijbz5f74sSs7N4qUJwa7K07djeJLY3QI qlsA== 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=jm8bPBMzOUdQRA7zflO/cxp8mSteUZrZNrbB/onxVAc=; b=iyVIFOLjZJ+KIvssBOjgmw0GxkgNPXNWWHahtlaiGgTcCFCrmLguonTEC4WRWy+t/w Rj/Sl3OFg18r5DgAdZoLzfOUk/YvQ+L3v49Jh1+ZmFYsfGUy6o2A+Ofk5v5Y6hYGbfWf 7ua/f3ESSXU0WyB1gc5JmZh0J0TBhAh0GHo+YPJw/Y4ee+IDCU2vwIFp3CdR70SknI8z zZhgW8nVz0BOyb8IH5EVJgik0COfY/S6CzCbIoaYYl6wK24qHFbXcTf9bQDYYaxRbDY9 8gIDmai4qrYYstB/AAY++jBgIKWz20puHvBfhJrpwJVgSGaeZL3zp3dCfSbOs2Vpj5LE JcvA== 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 v21-v6si424575pgn.371.2018.07.03.00.17.26; Tue, 03 Jul 2018 00:17:41 -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 S1754359AbeGCHQk (ORCPT + 99 others); Tue, 3 Jul 2018 03:16:40 -0400 Received: from szxga04-in.huawei.com ([45.249.212.190]:9154 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932126AbeGCHQj (ORCPT ); Tue, 3 Jul 2018 03:16:39 -0400 Received: from DGGEMS401-HUB.china.huawei.com (unknown [172.30.72.60]) by Forcepoint Email with ESMTP id 90FC9556D670C; Tue, 3 Jul 2018 15:16:23 +0800 (CST) Received: from huawei.com (10.67.212.83) by DGGEMS401-HUB.china.huawei.com (10.3.19.201) with Microsoft SMTP Server id 14.3.382.0; Tue, 3 Jul 2018 15:16:15 +0800 From: Qing Xia To: , CC: x00270170 , , , , , Subject: [PATCH v2] mmc: dw_mmc: fix card threshold control configuration Date: Tue, 3 Jul 2018 15:06:27 +0800 Message-ID: <1530601587-160436-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. Fixes: 7e4bf1bc9543 ("mmc: dw_mmc: add the card write threshold for 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