From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:56666) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sw9Yh-0007xC-No for qemu-devel@nongnu.org; Tue, 31 Jul 2012 06:20:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sw9Yg-0000kq-I7 for qemu-devel@nongnu.org; Tue, 31 Jul 2012 06:20:11 -0400 Received: from mailout1.w1.samsung.com ([210.118.77.11]:57567) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sw9Yg-0000iV-C1 for qemu-devel@nongnu.org; Tue, 31 Jul 2012 06:20:10 -0400 Received: from eusync1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by mailout1.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0M8000JWSSQ8GS10@mailout1.w1.samsung.com> for qemu-devel@nongnu.org; Tue, 31 Jul 2012 11:20:32 +0100 (BST) Received: from [106.109.9.180] by eusync1.samsung.com (Oracle Communications Messaging Server 7u4-23.01(7.0.4.23.0) 64bit (built Aug 10 2011)) with ESMTPA id <0M8000HBDSPBTH60@eusync1.samsung.com> for qemu-devel@nongnu.org; Tue, 31 Jul 2012 11:20:04 +0100 (BST) Message-id: <5017B14F.5000008@samsung.com> Date: Tue, 31 Jul 2012 14:19:59 +0400 From: Igor Mitsyanko MIME-version: 1.0 References: <1343417387-13953-1-git-send-email-i.mitsyanko@samsung.com> <1343417387-13953-5-git-send-email-i.mitsyanko@samsung.com> <87ehnsi8hz.fsf@blackfin.pond.sub.org> In-reply-to: <87ehnsi8hz.fsf@blackfin.pond.sub.org> Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7bit Subject: Re: [Qemu-devel] [PATCH V4 04/12] hw/sd.c: favour SD card type (SDSC or SDHC) when performing erase List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: kwolf@redhat.com, peter.maydell@linaro.org, benoit.canet@gmail.com, wdongxu@linux.vnet.ibm.com, stefanha@linux.vnet.ibm.com, e.voevodin@samsung.com, qemu-devel@nongnu.org, andrew.zaborowski@intel.com, kyungmin.park@samsung.com, pbonzini@redhat.com On 07/31/2012 01:29 PM, Markus Armbruster wrote: > Igor Mitsyanko writes: > >> Standard capacity cards SDSC use byte unit address while SDHC and SDXC Cards use >> block unit address (512 bytes) when setting ERASE_START and ERASE_END with CMD32 >> and CMD33, we have to account for this. >> >> Signed-off-by: Igor Mitsyanko >> --- >> hw/sd.c | 6 ++++-- >> 1 files changed, 4 insertions(+), 2 deletions(-) >> >> diff --git a/hw/sd.c b/hw/sd.c >> index d0674d5..f7aa580 100644 >> --- a/hw/sd.c >> +++ b/hw/sd.c >> @@ -482,8 +482,10 @@ static void sd_erase(SDState *sd) >> return; >> } >> >> - start = sd_addr_to_wpnum(sd->erase_start); >> - end = sd_addr_to_wpnum(sd->erase_end); >> + start = sd_addr_to_wpnum(sd->ocr & (1 << 30) ? >> + (uint64_t)sd->erase_start * 512 : sd->erase_start); >> + end = sd_addr_to_wpnum(sd->ocr & (1 << 30) ? >> + (uint64_t)sd->erase_end * 512 : sd->erase_end); >> sd->erase_start = 0; >> sd->erase_end = 0; >> sd->csd[14] |= 0x40; > Is this a bug fix? > > If yes, I recommend to state that clearly in the subject, say "hw/sd.c: > Fix erase for high capacity cards". > Yes it is, I'll change subject in next version then.