From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.107.1.86; helo=eur02-he1-obe.outbound.protection.outlook.com; envelope-from=meenakshi.aggarwal@nxp.com; receiver=edk2-devel@lists.01.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10086.outbound.protection.outlook.com [40.107.1.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 66DB32194D387 for ; Mon, 21 Jan 2019 20:29:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LIQ334aEohNXXs/hAkSjcUbm9hfh/tW2KpIGjuRwSis=; b=j8DUBUAR7bYSJ8WWaO2mjP6DSPuBR1C2wsMWLYlRQFoeKCdkX6xqTDEWOsrIC5omsv743s9aPp6jqmtZupfhWEugqy7mWVigR41o/RsK1NhI/LNgtCwNiBhhtWE6aYcvsX7bX+MP3dSp+7Xe2DzUSyIdqIvanzrKPt7Pq74XNoM= Received: from VI1PR04MB4685.eurprd04.prod.outlook.com (20.177.56.77) by VI1PR04MB3021.eurprd04.prod.outlook.com (10.170.228.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1537.29; Tue, 22 Jan 2019 04:29:50 +0000 Received: from VI1PR04MB4685.eurprd04.prod.outlook.com ([fe80::f14a:c19b:b324:7d63]) by VI1PR04MB4685.eurprd04.prod.outlook.com ([fe80::f14a:c19b:b324:7d63%4]) with mapi id 15.20.1558.016; Tue, 22 Jan 2019 04:29:50 +0000 From: Meenakshi Aggarwal To: Leif Lindholm , Jun Nie , Haojian Zhuang CC: "ard.biesheuvel@linaro.org" , "edk2-devel@lists.01.org" Thread-Topic: [PATCH] SD/eMMC : Fix Command Argument for SD/eMMC R/W operation. Thread-Index: AQHUrW4ajMcXv9wKj0mKcwZ0MzUx4qWzU1IAgAdn2AA= Date: Tue, 22 Jan 2019 04:29:50 +0000 Message-ID: References: <1547644896-7721-1-git-send-email-meenakshi.aggarwal@nxp.com> <20190117112338.llv64ylvwywtezof@bivouac.eciton.net> In-Reply-To: <20190117112338.llv64ylvwywtezof@bivouac.eciton.net> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [92.120.0.8] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB3021; 6:erbPrPeDqtxKDz6Evbvt+djb0m8DJnbcGMuKvQhz+Y/GVs1/zJPpvoTCi1lPUTCKdBGOps6FY4e9I8hQRmb+2OJ2MgdoTLAUlQ82tlYYAJMdHgDj3NyErqtj84/gguF6p2jzyMJrB89SASLjq5rtodK3Y2FPN76FYIKfk9Y4YLoayRjFegUhjHvA78S+X+zRYCeQZeN2qu+W8WG2KdTv68YSfq6rCQFGymPWiM1W5YzKyaxTvJ5x4km5/MgGQTpTzTbxZ1jhvD9kPwyYamNJxkeVfqytx2j+Ph45WMf5vTvTLQt6LsUgipOTKUUuP0ek2m1e5suTX04Q8LxPPdH7GYK2SJjRT2/UnRQWkVaE33PHYMd8+auH3lQUdMjH7YfF1TEGm1ac6Pp186M41rd1GsQx6Cyr5rbNh00gTtv6COW3m1REU5IKVIEr7lWBRNW/PxHUIIRRV4+ARAfVUC0exw==; 5:MsENhNkE2xTU+OZjThAzC3sSWd0mH6cky9CgGOheGaaGFf2mlVszIy5Wqu4rXIdz0iVXq69uOQ/tiQexxhBxwU3AvrGuZwtcZMJJa7GhSgtalFQuElDUPqSpijBCpmxScyeoWlffzGEdA9u79uH1UQpAVGDjJfcbDQND3OFI9eckwASHqSeL+qP0E3+2daJdjrxPyu6FelhKBBXHoLmq9w==; 7:ommtAEISl1zigHjGySOiWAL7qbLC9mUSCP0aoy6BbzP32uwGZw8PdZGy2wVToA/+tlJ/an9C/HWHZhhAkB7+o9ZW64VNpQDFr/NxpT0x7VKqSXlO3cTKFik9gaBX40mo+IKInLIRqa9T33mWahWPAA== x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: a4e2f4e5-190c-45b9-bdf5-08d680223f81 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600109)(711020)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB3021; x-ms-traffictypediagnostic: VI1PR04MB3021: authentication-results: spf=none (sender IP is ) smtp.mailfrom=meenakshi.aggarwal@nxp.com; x-microsoft-antispam-prvs: x-forefront-prvs: 0925081676 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(39860400002)(366004)(136003)(346002)(376002)(199004)(189003)(13464003)(486006)(256004)(14444005)(86362001)(476003)(44832011)(4326008)(81166006)(81156014)(186003)(53936002)(446003)(26005)(8936002)(11346002)(6246003)(71200400001)(25786009)(71190400001)(66066001)(9686003)(68736007)(8676002)(99286004)(14454004)(76176011)(305945005)(55016002)(7736002)(53546011)(106356001)(6506007)(316002)(102836004)(33656002)(110136005)(478600001)(2906002)(229853002)(3846002)(6116002)(74316002)(6436002)(7696005)(54906003)(105586002)(97736004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB3021; H:VI1PR04MB4685.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 9X+ex/lDBKMgD/iDv558Q3uRfIGl548Bc/f6M2+E3scynkevI9VR4VAA2uR5tFrCN+KTz0ig8zyLj3fc+gMwtPDRsjmYsak94t+W2foTKv/EcoT2zA8j4G9SLZ9E6NPxep7SImLMm4gOFZyiPZL7+XwF4n4XGspV0+yfb0pdxh8GrIRAF9k2Rvo7Nk5GtbUS1CB5ZRTnnbeO3EMxzLObO8aGS8MmfiIgptJSqgZx/n3A8/uZRxPwZt8VzsgWU4vXAULSPnqB9G+4aVgSRZDZLwIoK9sJfdLRSO/KcaqZ27T6DmzVTzSMZMytTKVCvPYwJWqXL4fPW/39DnfoLY1yWzO8TfLYVUVYdKLr8fEsJvXfOPBOe/vYqTSHDETj3QKbb7Avm7OEGIoX92R0IH6lNjueWIdZnVIokTBzxlr8rOc= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a4e2f4e5-190c-45b9-bdf5-08d680223f81 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jan 2019 04:29:50.1133 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3021 Subject: Re: [PATCH] SD/eMMC : Fix Command Argument for SD/eMMC R/W operation. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2019 04:29:56 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Jun, Haojian, Please review the patch. Thanks, Meenakshi > -----Original Message----- > From: Leif Lindholm > Sent: Thursday, January 17, 2019 4:54 PM > To: Meenakshi Aggarwal > Cc: ard.biesheuvel@linaro.org; edk2-devel@lists.01.org; Jun Nie > ; Haojian Zhuang > Subject: Re: [PATCH] SD/eMMC : Fix Command Argument for SD/eMMC R/W > operation. >=20 > Jun, Haojian - any comments? >=20 > On Wed, Jan 16, 2019 at 06:51:36PM +0530, Meenakshi Aggarwal wrote: > > Issue : SD read failure for high capacity cards e.g. 64 GB i Reason : > > Command argument value exceeds 32 bit for block number 0x3787FFF and > > cant be fit into 32 bit wide SD host controller register. > > > > Fix : > > AccessMode bits [29:30] of OCR is a valid definition to calculate data > > address for eMMC cards. > > > > For SD cards, data address is calculated on the basis of card capacity > > status bit[30] of OCR. > > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Meenakshi Aggarwal > > --- > > EmbeddedPkg/Universal/MmcDxe/MmcBlockIo.c | 19 ++++++++++++++----- > > 1 file changed, 14 insertions(+), 5 deletions(-) > > > > diff --git a/EmbeddedPkg/Universal/MmcDxe/MmcBlockIo.c > > b/EmbeddedPkg/Universal/MmcDxe/MmcBlockIo.c > > index a2b9232..625a59e 100644 > > --- a/EmbeddedPkg/Universal/MmcDxe/MmcBlockIo.c > > +++ b/EmbeddedPkg/Universal/MmcDxe/MmcBlockIo.c > > @@ -148,12 +148,21 @@ MmcTransferBlock ( > > MmcHostInstance =3D MMC_HOST_INSTANCE_FROM_BLOCK_IO_THIS (This); > > MmcHost =3D MmcHostInstance->MmcHost; > > > > - //Set command argument based on the card access mode (Byte mode or > > Block mode) > > - if ((MmcHostInstance->CardInfo.OCRData.AccessMode & > MMC_OCR_ACCESS_MASK) =3D=3D > > - MMC_OCR_ACCESS_SECTOR) { > > - CmdArg =3D Lba; > > + if (MmcHostInstance->CardInfo.CardType !=3D EMMC_CARD) { > > + //Set command argument based on the card capacity (SDSC or SDXC/SD= HC) > > + if (MmcHostInstance->CardInfo.OCRData.AccessMode & BIT1) { > > + CmdArg =3D Lba; > > + } else { > > + CmdArg =3D Lba * This->Media->BlockSize; > > + } > > } else { > > - CmdArg =3D Lba * This->Media->BlockSize; > > + //Set command argument based on the card access mode (Byte mode or > Block mode) > > + if ((MmcHostInstance->CardInfo.OCRData.AccessMode & > MMC_OCR_ACCESS_MASK) =3D=3D > > + MMC_OCR_ACCESS_SECTOR) { > > + CmdArg =3D Lba; > > + } else { > > + CmdArg =3D Lba * This->Media->BlockSize; > > + } > > } > > > > Status =3D MmcHost->SendCommand (MmcHost, Cmd, CmdArg); > > -- > > 1.9.1 > >