From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: tien.hock.loh@intel.com) Received: from mga14.intel.com (mga14.intel.com []) by groups.io with SMTP; Thu, 02 May 2019 20:28:17 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 May 2019 20:28:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,424,1549958400"; d="scan'208";a="167124901" Received: from pg-iccf0195.altera.com ([10.104.4.90]) by fmsmga002.fm.intel.com with ESMTP; 02 May 2019 20:28:15 -0700 From: "Loh, Tien Hock" To: devel@edk2.groups.io, thloh85@gmail.com Cc: "Tien Hock, Loh" , Leif Lindholm , Ard Biesheuvel Subject: [[PATCH v2] 6/7] EmbeddedPkg: Fix DwEmmc driver bugs Date: Fri, 3 May 2019 11:27:02 +0800 Message-Id: <1556854023-5486-7-git-send-email-tien.hock.loh@intel.com> X-Mailer: git-send-email 2.2.2 In-Reply-To: <1556854023-5486-1-git-send-email-tien.hock.loh@intel.com> References: <1556854023-5486-1-git-send-email-tien.hock.loh@intel.com> From: "Tien Hock, Loh" Do not send CRC response check if the MMC command does not support CRC response Signed-off-by: "Tien Hock, Loh" Cc: Leif Lindholm Cc: Ard Biesheuvel --- EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.c b/EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.c index a69d9ab..c38b5a4 100644 --- a/EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.c +++ b/EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.c @@ -384,7 +384,7 @@ DwEmmcSendCommand ( BIT_CMD_READ | BIT_CMD_WAIT_PRVDATA_COMPLETE; break; default: - Cmd = BIT_CMD_RESPONSE_EXPECT | BIT_CMD_CHECK_RESPONSE_CRC; + Cmd = BIT_CMD_RESPONSE_EXPECT; break; } @@ -394,6 +394,11 @@ DwEmmcSendCommand ( mIsACmd = TRUE; else mIsACmd = FALSE; + + if (!(MmcCmd & MMC_CMD_NO_CRC_RESPONSE)) { + Cmd |= BIT_CMD_CHECK_RESPONSE_CRC; + } + if (IsPendingReadCommand (Cmd) || IsPendingWriteCommand (Cmd)) { mDwEmmcCommand = Cmd; mDwEmmcArgument = Argument; -- 2.2.2