From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516678551788272.51322510500745; Mon, 22 Jan 2018 19:35:51 -0800 (PST) Received: from localhost ([::1]:59513 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpNG-0006zK-SC for importer@patchew.org; Mon, 22 Jan 2018 22:35:50 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37631) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpIL-000351-CU for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpIK-0007e9-LC for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:45 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:33531) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpIK-0007dt-G4 for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:44 -0500 Received: by mail-qt0-x244.google.com with SMTP id d8so17863774qtm.0 for ; Mon, 22 Jan 2018 19:30:44 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.30.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:30:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TnI/N1/C1bDV1FSHt/NS/dY65YwFB1gg5tVp/irB1Jw=; b=GMF1Qz3y3LQKvbAZy5SKg4/foAGoa8qwgxJ2Wev84itF+CYEGqSI8eQc+RSjJg6gBl NcRHpkaKx/YAhdAYEaReCHCOdgpRT9bPOzH4R67lU4Qdj3cjz1KcWgl7qLv7ey1ZY0X2 jobVGC8gLrlH9MjAoOr6A+xwNGTel/R2JEa304osJfKG7t6JouJHH8Zx00dWs/KIROVW Z7p/rbaPOjD0DNl/cLcm32vOGOdJbt+Bcshq1tqio49iFAY4BVJ7j1frPMGC/aYnF8S9 ipmuWELrqrqZ4l2asAKbjKL+Ljed50u0vu/6fUlh098Js3iH3+CxLcDDRnHDnTlUEBu4 Rktg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=TnI/N1/C1bDV1FSHt/NS/dY65YwFB1gg5tVp/irB1Jw=; b=LfvmxfrO94Q4T3eLyzaN3D4+jmMi0cgU7ZcTdefey074FZOK36AcxNDpGb77NzAo6d gCyp7Kgds0Hfz63DfD5UyQzc0ymf/VF4U0qHDIPB6hL8VK13+6cEy7pCf7EE9j98ZzJp qfH593oyIU2qppbLX1L+aFV6k2q2UzjX7tJL60TaitRUhoCQ4P8dEZ7ja/32yuDJTJ4b nPCgiWsbCo49m6iARQfAcrJoPM6itS0JyZjVEviQ30/ylYQ7XN+BHz5vcN280BdUX4+g 1S9cS+2prG0VvDrkaCxK17o+y0PMsT4Lki61IJhfAUMUtRdCuC86YnyG6uZMzupMBLym GEHA== X-Gm-Message-State: AKwxytch23Ap7x2yu9PC/7r1EhCStUZvsR5+UMVbAA22zjeB0otuArZz ogkVxqbXCuRZWy4d8tqKQlE= X-Google-Smtp-Source: AH8x227MwRmmHBR2dKv9QFUTA9k3Wyf8Jc+WtwilTziZSFa1F2YONg+Hi06rinnfGm2ObxI3XewczA== X-Received: by 10.55.156.143 with SMTP id f137mr1613367qke.324.1516678244041; Mon, 22 Jan 2018 19:30:44 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:17 -0300 Message-Id: <20180123033034.29493-2-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v3 01/18] sdcard: Don't always set the high capacity bit X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Don't set the high capacity bit by default as it will be set if required in the sd_set_csd() function. [based on a patch from Alistair Francis and Peter Ogden from qemu/xilinx tag xilinx-v2015.4] Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 437ce25f79..20764451f2 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -289,6 +289,10 @@ static void sd_ocr_powerup(void *opaque) =20 /* card power-up OK */ sd->ocr =3D FIELD_DP32(sd->ocr, OCR, CARD_POWER_UP, 1); + + if (sd->size > 1 * G_BYTE) { + sd->ocr =3D FIELD_DP32(sd->ocr, OCR, CARD_CAPACITY, 1); + } } =20 static void sd_reset_scr(SDState *sd) @@ -393,7 +397,6 @@ static void sd_reset_csd(SDState *sd, uint64_t size) sd->csd[13] =3D 0x40; sd->csd[14] =3D 0x00; sd->csd[15] =3D 0x00; - sd->ocr |=3D 1 << 30; /* High Capacity SD Memory Card */ } } =20 --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516678719840417.8420527031428; Mon, 22 Jan 2018 19:38:39 -0800 (PST) Received: from localhost ([::1]:59531 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpPz-00012s-3P for importer@patchew.org; Mon, 22 Jan 2018 22:38:39 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37652) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpIO-000380-TC for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpIN-0007gf-Up for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:48 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:36871) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpIN-0007gS-QD for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:47 -0500 Received: by mail-qt0-x243.google.com with SMTP id d54so26493538qtd.4 for ; Mon, 22 Jan 2018 19:30:47 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.30.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:30:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=de0WUYPuQ8kTa9BgAFW1dfIkl9Zgm2pPR9kv9sitTO8=; b=GWBx1Bnzfz8tXUM4L9rleNCkVSiKbDQOwxVyQH5HwQgLVd5MrpUd6km0dvq2DpDL7s A2sObjReb69HjmS34dBS3EisEbBsgm80W9zk7I1mUhmuv2wchhiaYt3AOBkKurvNwsne i7761ly2zyz5L6n38G6rdmqrSHwawE+8usrbb2sPo26UJu2H/SQhNEuHE0buWC0r5Db1 POSZsFErlq+VXKuGqLzsEZ8LNI5LrWhH+F7JEOurTN8zCncL7IQci7ZASR9YhvSNjDnb +VsAcXPx0NuVclKvX1hDXYcVr/lGQ/o1MxV3wwkwso0r3gOLmchsyQ357VK79TU/3CKc rH8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=de0WUYPuQ8kTa9BgAFW1dfIkl9Zgm2pPR9kv9sitTO8=; b=MTWofq5rBPj4A2PUbgo5bOQOtInsmPcJeX3YiTy6e3//TrAvL6zVgr4jdqRxoo9J0i Sj7IuRcr697UO4MYbAAejNxAlJRelpManbqaiM3B1kBrxS9WzdFsBAgnasdn4zM9RTuN cinhPzM48ZhgzOaMzzEwrji6BF37J4P6uzAVi7bBYdEIUu3SnyFxfU/BHGgXHCymHVoH GEMNRaEcHgFgHv1xCPqdizayNJv7/LDNDd84BX3rvOVwmzLVbV6SuXs5WYZ2EINGu9xN 6CIfTNySZcSkprHFlJdGBNvtgplsyHJoayFmU2nQ8dJygLTyWHNHsi2tysyvlrT6u9Pn ZNYg== X-Gm-Message-State: AKwxyteOnvb1HMhPWa4LGchLww13sfNiw7Uyk6g4gnO9oB1+jHTtomv8 5J/p++KbueeX16COQatq7/Q= X-Google-Smtp-Source: AH8x225CY2AjGdEvekqZx0eBEMkt0p4x0INyxK9/cvAJ4z/HQXfdprsc33a/QgCYyy9BIZ7YJ0tOkw== X-Received: by 10.55.159.23 with SMTP id i23mr1553096qke.261.1516678247340; Mon, 22 Jan 2018 19:30:47 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:18 -0300 Message-Id: <20180123033034.29493-3-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH v3 02/18] sdcard: update the CSD CRC register regardless the CSD structure version X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 20764451f2..f6318c6fdb 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -377,7 +377,6 @@ static void sd_reset_csd(SDState *sd, uint64_t size) sd->csd[13] =3D 0x20 | /* Max. write data block length */ ((HWBLOCK_SHIFT << 6) & 0xc0); sd->csd[14] =3D 0x00; /* File format group */ - sd->csd[15] =3D (sd_crc7(sd->csd, 15) << 1) | 1; } else { /* SDHC */ size /=3D 512 * 1024; size -=3D 1; @@ -396,8 +395,8 @@ static void sd_reset_csd(SDState *sd, uint64_t size) sd->csd[12] =3D 0x0a; sd->csd[13] =3D 0x40; sd->csd[14] =3D 0x00; - sd->csd[15] =3D 0x00; } + sd->csd[15] =3D (sd_crc7(sd->csd, 15) << 1) | 1; } =20 static void sd_reset_rca(SDState *sd) --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516678388894546.1282959682321; Mon, 22 Jan 2018 19:33:08 -0800 (PST) Received: from localhost ([::1]:59388 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpKe-0004Xi-52 for importer@patchew.org; Mon, 22 Jan 2018 22:33:08 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37668) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpIU-0003EX-0h for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpIQ-0007ix-V1 for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:54 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:42560) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpIQ-0007id-R5 for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:50 -0500 Received: by mail-qt0-x244.google.com with SMTP id c2so26485530qtn.9 for ; Mon, 22 Jan 2018 19:30:50 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.30.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:30:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FWuswU7b0PZ4Ef7X6lgRS2S+w8R08yVGHFVwqgvU7gA=; b=CB/59WZv7gwNz5L9rL4FqVuqABGSsu4xic42R00PFqILXVyCw3vZyp4Ql3OuFjpArC sC8jMHZje1mX8leXcMGaAyftRS92Y7Pv8G/zNGEqLqx9gli+Z1u8UWQiXkH5jUp1EJsI xijfE/GW7VDXGoEmB3vOQoApQqWUU0Ryc2HXGnAUiQKHaPdox5VmHXI78KTPqonXt4Ob Z2E4MaVypaxK7U9AZ95gv83aj+m5+x8JmNxHUxt1BKq2VRceorESsifq05FstUMFAL1K SOqWJtvTqC467TMHR0ATP23DAQLcdzyrdyQh7VaU4HQQEsB/PjLBbJFdLsDzF58Ys2cn t7pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=FWuswU7b0PZ4Ef7X6lgRS2S+w8R08yVGHFVwqgvU7gA=; b=dm/ARQyC2MUGKs578Pju/ShvvJ2cmZkLWDLfBlb/mko+LH+SAzBYXrysljpHKe2zIw igTC5xXY8TSyYrlXtoH+BnnDUbvicp/0xV7QyuoSeb00mgqkJntnO4RtSgPADyuSgJxC dydxoDUVCsrfvRsS/W7knvopdjzIWLA0s9x21v7rdr4xNfrURp08W+50rZDLzENuqd6n Wsd3I670gIxG/KLnb3luL56HPlmPR/ZpzU0MySxy6lntLbBw8ogDijvzCw78oGDSEebh Ip3wgtWimxqr8qc+30CsB8qULLQp9qC6uPmb0P2UURkzcNrwKo9465zQjisR/rTpG1kW RtQw== X-Gm-Message-State: AKwxyte1zU2XCjNur62yf136Qt/Ua6oUrLAlLjwX9q/1YGLGQ250TlBx wzFnYcTMyvesl47ONR3l1hU= X-Google-Smtp-Source: AH8x227I8VFs/vxZQtaiwj93rwQR/WExZYbFsGV1HFTFvNd/w9L58U8Hk1t8YYy+GVKLy2ZkPL885Q== X-Received: by 10.237.63.77 with SMTP id q13mr1639667qtf.327.1516678250406; Mon, 22 Jan 2018 19:30:50 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:19 -0300 Message-Id: <20180123033034.29493-4-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v3 03/18] sdcard: fix the 'maximum data transfer rate' to 25MHz X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 To comply with Spec v1.10 (and 2.00, 3.01): . TRAN_SPEED for current SD Memory Cards that field must be always 0_0110_010b (032h) wh= ich is equal to 25MHz - the mandatory maximum operating frequency of SD Memory Car= d. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index f6318c6fdb..56df5b660a 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -356,7 +356,7 @@ static void sd_reset_csd(SDState *sd, uint64_t size) sd->csd[0] =3D 0x00; /* CSD structure */ sd->csd[1] =3D 0x26; /* Data read access-time-1 */ sd->csd[2] =3D 0x00; /* Data read access-time-2 */ - sd->csd[3] =3D 0x5a; /* Max. data transfer rate */ + sd->csd[3] =3D 0x32; /* Max. data transfer rate: 25 MHz */ sd->csd[4] =3D 0x5f; /* Card Command Classes */ sd->csd[5] =3D 0x50 | /* Max. read data block length */ HWBLOCK_SHIFT; --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516678564669109.00006594210856; Mon, 22 Jan 2018 19:36:04 -0800 (PST) Received: from localhost ([::1]:59514 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpNS-00078f-0a for importer@patchew.org; Mon, 22 Jan 2018 22:36:02 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37679) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpIU-0003FK-Ty for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpIU-0007mn-0D for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:54 -0500 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:35193) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpIT-0007mS-Rh for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:53 -0500 Received: by mail-qt0-x242.google.com with SMTP id g14so17281689qti.2 for ; Mon, 22 Jan 2018 19:30:53 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.30.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:30:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GAuKpM5DxKQA38TDLU4Fask3TIGvaJ3voINWsTsMuHs=; b=HyRsaF7n0TF/P6MiRsajAb+D0oEFDPuF1b1seChhNrQH6zXlZs2ousa5WrOs012W3X W5AQp6PK99/vcZUz7Yufs8kqDaaFfFFdmlJaJhkeugNMwrEU756vIP6pvCoZeoXdHflX YwLOcmL54BTc+MWKGJsVv8MuyVNntzHdnj3AVJwCneQchVjG7oCECP7iKM7IClsTtmQ7 1dlkZ5e9tLiovIxviLK2S5dEBmfMVQgNmkRFV4xStM34HOHuhyyEwOs47N/F+mrsX8r3 ahe9yXHnCZN/wwyck00+SSWmtVMFlJvnxSsGtKOf8H+jXwVP0ouL1pBfixSTWBzlIOkq ca9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=GAuKpM5DxKQA38TDLU4Fask3TIGvaJ3voINWsTsMuHs=; b=HeOxmVfbY48UnmMd8Ez8oEehsISV0LrlZJeIskQJG1uxmF9m4ePkUimL36Lq1tdOFE /7OOoVsSNFX2jcd1BXh+9PkjVCwcAdxNO1ShBibsNSe58v0INUT5GL/pcO7VSU5yF5QB ms9ZFhyPnyg4bJ7mGhifKyZZZJWac9ALeHqbMK2PkNIpJ4wJPFErtefzNJFtqScb/zbu mPKohdzESHK2Utn++8/Z5etKuE7oV8/g0X2Yx4ju/xdDlpgGkvNEr2gVBnlIUj8oRM+F URCqBHZaI+7xTxzyTwX9LlsP2cfDrFWdy/jDIcQQAO2SJPJ8lGZ84J9Ic7KRpTiBr+l4 5F9A== X-Gm-Message-State: AKwxytcO8JyiWJKo+hbGEHTveIwTC61KDrvPEVG4enZjLWql73MHuayT Eop8ss6tjBjdFQUJi2rGLQWsm8uB X-Google-Smtp-Source: AH8x226zMyxB130d+EhDAE0PErvxsctuDXic3fYw8j4VQ3TFbMzQvdbOP2vgEOFkEifxepmD7L9bWw== X-Received: by 10.55.247.5 with SMTP id q5mr1613325qkj.147.1516678253414; Mon, 22 Jan 2018 19:30:53 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:20 -0300 Message-Id: <20180123033034.29493-5-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH v3 04/18] sdcard: clean the SCR register and add few comments X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 56df5b660a..5d50d48097 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -297,10 +297,13 @@ static void sd_ocr_powerup(void *opaque) =20 static void sd_reset_scr(SDState *sd) { - sd->scr[0] =3D 0x00; /* SCR Structure */ - sd->scr[1] =3D 0x2f; /* SD Security Support */ - sd->scr[2] =3D 0x00; + sd->scr[0] =3D (0 << 4) /* SCR version 1.0 */ + | 0; /* Spec Versions 1.0 and 1.01 */ + sd->scr[1] =3D (2 << 4) /* SDSC Card (Security Version 1.01) */ + | 0b0101; /* 1-bit or 4-bit width bus modes */ + sd->scr[2] =3D 0x00; /* Extended Security is not supported. */ sd->scr[3] =3D 0x00; + /* reserved for manufacturer usage */ sd->scr[4] =3D 0x00; sd->scr[5] =3D 0x00; sd->scr[6] =3D 0x00; --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516678734576895.8094340470209; Mon, 22 Jan 2018 19:38:54 -0800 (PST) Received: from localhost ([::1]:59532 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpQA-0001Bh-9X for importer@patchew.org; Mon, 22 Jan 2018 22:38:50 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37707) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpIX-0003HB-Lz for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpIW-0007pT-SW for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:57 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:39815) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpIW-0007p1-Ni for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:30:56 -0500 Received: by mail-qt0-x244.google.com with SMTP id f4so26482629qtj.6 for ; Mon, 22 Jan 2018 19:30:56 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.30.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:30:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=G39MzLJ7UGrblyZeNEhrJgG9/quSTmsurWamyKGOyPo=; b=MldX0jEzlnPZCDg+mIqLW/Cwf5l4/brPxErRtkzlwhwMROyfUiaCafjBbDkJl0WVhf cXBrr9B8EKLL7UiUwhsJDN81YJzQQQed6qnTTAbdcNwXY9hCZ7uuJB3ldAZ27I41quGr xVmiae03jm/cVcNPGthJfzgGnMKMc4MqcyoCL60sxpR6RfGO3vNLxvLAXxE/AQ/4p3XT e+IAmjiLrNog/L94n4UXsbuAjlvDFSYhdVGHzo6yqgnaX8WRkXdOYNrRl8e/ke2gUfnk zPoQ6bO5D5BF7+2IXLflDu0eXLih0ACz2CuY702qnmbigbJkf1FV0bcNgeNdxEdMnr2v dnFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=G39MzLJ7UGrblyZeNEhrJgG9/quSTmsurWamyKGOyPo=; b=cdTcEZQ64hDLMtQAgXjaMcRC5kKH0OuGvkeGy5XNyYk5Xy8KwXCN8P3KaVUOtaYC3N m/xTjXBkYiRlj13+xujAtm44r+NSxfFNgxaYfMD0bGmT4so3q5/YEjkrAN8gJ0lj9OXd wbGZ4kpeJLsd9BYcCAXd27dHqB2iIxDr0etRYwdgcfXVnnQHCHlX3X7SzkPUvBtJEkx4 H3j3cSxg7FOHa3Jj4P2AVxzN+57ArY4qEksZtmyBNL3clZlPGtUtqTDzBAfFWtjPInMe vCX/yIWEvywDO9uo/msmeks6dpHO5pXn6FR58kLh2F83tte5e6a3t7uh2POfR3r+Cc9y yoFw== X-Gm-Message-State: AKwxyteqaKazV23QRY0Nu1h9Qk740fra4TvupoFl8FKTmul42LhnhoLv +KbpMvjN3O4oLFuKl6CUhxQ= X-Google-Smtp-Source: AH8x226US4LT/IzzoF8L2GkVyl+Z7ZhOOnNiCCqkuQaySLo7g93crQD/Wz6CBw/g/nUqOdNMcKAnsg== X-Received: by 10.55.160.206 with SMTP id j197mr1689378qke.245.1516678256280; Mon, 22 Jan 2018 19:30:56 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:21 -0300 Message-Id: <20180123033034.29493-6-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v3 05/18] sdcard: remove commands from unsupported old MMC specification X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 This device does not model MMCA Specification previous to v4.2 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 5d50d48097..3c66521862 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1044,24 +1044,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, = SDRequest req) } break; =20 - case 11: /* CMD11: READ_DAT_UNTIL_STOP */ - if (sd->spi) - goto bad_cmd; - switch (sd->state) { - case sd_transfer_state: - sd->state =3D sd_sendingdata_state; - sd->data_start =3D req.arg; - sd->data_offset =3D 0; - - if (sd->data_start + sd->blk_len > sd->size) - sd->card_status |=3D ADDRESS_ERROR; - return sd_r0; - - default: - break; - } - break; - case 12: /* CMD12: STOP_TRANSMISSION */ switch (sd->state) { case sd_sendingdata_state: @@ -1874,21 +1856,6 @@ uint8_t sd_read_data(SDState *sd) sd->state =3D sd_transfer_state; break; =20 - case 11: /* CMD11: READ_DAT_UNTIL_STOP */ - if (sd->data_offset =3D=3D 0) - BLK_READ_BLOCK(sd->data_start, io_len); - ret =3D sd->data[sd->data_offset ++]; - - if (sd->data_offset >=3D io_len) { - sd->data_start +=3D io_len; - sd->data_offset =3D 0; - if (sd->data_start + io_len > sd->size) { - sd->card_status |=3D ADDRESS_ERROR; - break; - } - } - break; - case 13: /* ACMD13: SD_STATUS */ ret =3D sd->sd_status[sd->data_offset ++]; =20 --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516678535404524.118968093483; Mon, 22 Jan 2018 19:35:35 -0800 (PST) Received: from localhost ([::1]:59507 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpMw-0006cz-JE for importer@patchew.org; Mon, 22 Jan 2018 22:35:30 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37753) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpId-0003Nr-GC for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpIa-0007sL-CS for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:03 -0500 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:40935) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpIa-0007s6-7i for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:00 -0500 Received: by mail-qt0-x242.google.com with SMTP id s39so26492642qth.7 for ; Mon, 22 Jan 2018 19:31:00 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.30.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:30:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Ex0jQgjjZcXz8zF/R+tlL0XquGdnbsCa67/JvuLX1f4=; b=dI1fMNmgNmyutjXrWZpft9Z3HUO/miry6D0XGMSw6kHoe4DkIQPOlNSbvL4R/8mT8A Djd2tD5poo71wnGffquQqW8xPaH6XPdSVfWI97iuuFpfk5ylXkGOsqzTZxL2lCBfk2dG 0UAvm9GYIgsqlgS7kvsTgTRM5VzEB89JusDZuLSoke+mESuWSzlWYULPFkS+jq+HiDx/ f1TMzg6zWFOw4f8yt6npH6maFibS/j9ayJnFKowA58D5UDd32jydr/Dp/5DcwAaZOC9C RLUV9tK0PNzO1a2L6AtlnZrMpbEsJFJ6YlqFwGbAh4agFIkt4GYHnF7SC5Rt0ci14yjL N9Yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=Ex0jQgjjZcXz8zF/R+tlL0XquGdnbsCa67/JvuLX1f4=; b=Aw5V26CSXwbNVzqTc54CkZ1SOtCtgw07J3QDQkP9twxTJ2WhDg2LGcpbSNzWKUnkdy OyS+BGxJdS87nkQcAOsq4604yEwwB8zZ1RV3ve0rf8QcthrnPO5tIYjmE5y3tok59bZI XeGKaJyYIqVYMcxk1B8PsjRT/GOc6gG1K2PQstP+lCDQvWSPHVJf4TrpK2okOWkj8ytr 1E+ma3tawFm7HP+uXlSCJqMgeDGVb94frFQLFhVDhDHlx/hpr/7AoPe8xX/GbNDroAnk fmLqPKosP1oM0bm3naPVXbMCd+SPvm9Sq+prjqMo81F7LKmaWfWclR4cuLlJd2lRCiB+ bDcA== X-Gm-Message-State: AKwxyte+jJR64KRyC06W9eQbsRZUvy7RNTq2JmNIDFtXJs0rHcmSD3Dk jUozPx2NBoHG7SLCtAI/olc= X-Google-Smtp-Source: AH8x227w7Aety6oGf3xLWq2bf12VueMCD1za/GIAtA1XavnA3fr1H52W1DM66FQgswkmL5MBUJWAGw== X-Received: by 10.55.178.66 with SMTP id b63mr1647412qkf.246.1516678259767; Mon, 22 Jan 2018 19:30:59 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:22 -0300 Message-Id: <20180123033034.29493-7-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH v3 06/18] sdcard: simplify using the ldst API X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 the code is easier to review/refactor. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 38 +++++++++----------------------------- 1 file changed, 9 insertions(+), 29 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 3c66521862..23f5d47782 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -435,57 +435,39 @@ static int sd_req_crc_validate(SDRequest *req) { uint8_t buffer[5]; buffer[0] =3D 0x40 | req->cmd; - buffer[1] =3D (req->arg >> 24) & 0xff; - buffer[2] =3D (req->arg >> 16) & 0xff; - buffer[3] =3D (req->arg >> 8) & 0xff; - buffer[4] =3D (req->arg >> 0) & 0xff; + stl_be_p(&buffer[1], req->arg); return 0; return sd_crc7(buffer, 5) !=3D req->crc; /* TODO */ } =20 static void sd_response_r1_make(SDState *sd, uint8_t *response) { - uint32_t status =3D sd->card_status; + stl_be_p(response, sd->card_status); + /* Clear the "clear on read" status bits */ sd->card_status &=3D ~CARD_STATUS_C; - - response[0] =3D (status >> 24) & 0xff; - response[1] =3D (status >> 16) & 0xff; - response[2] =3D (status >> 8) & 0xff; - response[3] =3D (status >> 0) & 0xff; } =20 static void sd_response_r3_make(SDState *sd, uint8_t *response) { - response[0] =3D (sd->ocr >> 24) & 0xff; - response[1] =3D (sd->ocr >> 16) & 0xff; - response[2] =3D (sd->ocr >> 8) & 0xff; - response[3] =3D (sd->ocr >> 0) & 0xff; + stl_be_p(response, sd->ocr); } =20 static void sd_response_r6_make(SDState *sd, uint8_t *response) { - uint16_t arg; uint16_t status; =20 - arg =3D sd->rca; status =3D ((sd->card_status >> 8) & 0xc000) | ((sd->card_status >> 6) & 0x2000) | (sd->card_status & 0x1fff); sd->card_status &=3D ~(CARD_STATUS_C & 0xc81fff); - - response[0] =3D (arg >> 8) & 0xff; - response[1] =3D arg & 0xff; - response[2] =3D (status >> 8) & 0xff; - response[3] =3D status & 0xff; + stw_be_p(response + 0, sd->rca); + stw_be_p(response + 2, status); } =20 static void sd_response_r7_make(SDState *sd, uint8_t *response) { - response[0] =3D (sd->vhs >> 24) & 0xff; - response[1] =3D (sd->vhs >> 16) & 0xff; - response[2] =3D (sd->vhs >> 8) & 0xff; - response[3] =3D (sd->vhs >> 0) & 0xff; + stl_be_p(response, sd->vhs); } =20 static inline uint64_t sd_addr_to_wpnum(uint64_t addr) @@ -731,7 +713,7 @@ static uint32_t sd_wpbits(SDState *sd, uint64_t addr) =20 static void sd_function_switch(SDState *sd, uint32_t arg) { - int i, mode, new_func, crc; + int i, mode, new_func; mode =3D !!(arg & 0x80000000); =20 sd->data[0] =3D 0x00; /* Maximum current consumption */ @@ -755,9 +737,7 @@ static void sd_function_switch(SDState *sd, uint32_t ar= g) sd->data[14 + (i >> 1)] =3D new_func << ((i * 4) & 4); } memset(&sd->data[17], 0, 47); - crc =3D sd_crc16(sd->data, 64); - sd->data[65] =3D crc >> 8; - sd->data[66] =3D crc & 0xff; + stw_be_p(sd->data + 65, sd_crc16(sd->data, 64)); } =20 static inline bool sd_wp_addr(SDState *sd, uint64_t addr) --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516678407651784.1340195070729; Mon, 22 Jan 2018 19:33:27 -0800 (PST) Received: from localhost ([::1]:59389 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpKw-0004lL-UW for importer@patchew.org; Mon, 22 Jan 2018 22:33:27 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37768) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpIe-0003OV-5F for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpId-0007v0-Bl for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:04 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:36696) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpId-0007uk-7T for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:03 -0500 Received: by mail-qt0-x244.google.com with SMTP id z11so26464510qtm.3 for ; Mon, 22 Jan 2018 19:31:03 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.30.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:31:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=g7a9hu5K2p1indpOkAdptFZZUxVqiURAm7JCfPuNSXI=; b=qcC1NTvOXVtkcdfUlveurYMkaGpBHTLNw4JM7IEwZoAaYPuFijaNdQefuzh3lGTIEx 8601j5vXQ3T5C24pyU6OmGD0t+9ZLhHKyRjRZj7msqAJjKlbfpP6xN41Z3Z0yiQIsKfG kzJF6EEAj301gKTkN3xBsMGOkrZD4dg9fcOhaR2+9jOm+gesRqpZOMHaAnQq+J/KEuno YsGUBnlfNvdugZSy40LtAiaC4/EL4r6jJPUm0g9NeJnD4xJCVsjaGOZ+pTDHclrDMkLK zRqtxXT2ys8IslYB5MoWv8dz5CVa5uVE/1ZqeLjkMAwcHWRjSXO4g+jDW0tD6DHGD0NV 15Xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=g7a9hu5K2p1indpOkAdptFZZUxVqiURAm7JCfPuNSXI=; b=r5N0Y7YpMCLAKERNcxCuLIEeALtCDcSPk5tzVeSLZyGD5HbSynd0cSsAXK0rZmY3DU r0YMhhpbvYLUJX2thOLwR223TiP5d4WBQtiQsj58hFt5Nvvr4WjgGAPTYkb+tYfviFia N+QzZkgvXoGw+7q8p7OIAwy4nrkcZZkpaHn8VgI61fItpZJh2xN5Gc8hQZqRxsEDXQLH KHLTHrX/AvRGc1I2YzNHaoUeJbMYYZuBg8I2+AqFhEXOM5nDcXVK1jAwSJN/ijKhDmEE WStzbsBMoqe5HaXeBRgv/zfiXwI70f8Lw/efenSACogfr0bC+8UvkVJIusbXyVFvMUyc 1vKQ== X-Gm-Message-State: AKwxytdViJZ8wQKWjjm8jBW+JdZE0ZrTWPr3M8S7dclHpYiDlzqAQ8YK 2pbBQ+NaUHVhMUMHa172G5g= X-Google-Smtp-Source: AH8x224djzrG2Xb94Hbh/G62LbYP0ILWtqNvw9A0zVdzCWllnI7b6ryZAKTkIVl/+2PvH+ZPYiGIgw== X-Received: by 10.200.20.149 with SMTP id l21mr1683166qtj.332.1516678262782; Mon, 22 Jan 2018 19:31:02 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:23 -0300 Message-Id: <20180123033034.29493-8-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v3 07/18] sdcard: use the correct masked OCR in the R3 reply X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 use the registerfields API to access the OCR register Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 23f5d47782..ee381540aa 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -47,8 +47,6 @@ =20 //#define DEBUG_SD 1 =20 -#define ACMD41_ENQUIRY_MASK 0x00ffffff - typedef enum { sd_r0 =3D 0, /* no response */ sd_r1, /* normal response command */ @@ -271,13 +269,26 @@ static uint16_t sd_crc16(void *message, size_t width) =20 #define OCR_POWER_DELAY_NS 500000 /* 0.5ms */ =20 +FIELD(OCR, VDD_VOLTAGE_WINDOW, 0, 24) +FIELD(OCR, VDD_VOLTAGE_WIN_LO, 0, 8) +FIELD(OCR, DUAL_VOLTAGE_CARD, 7, 1) +FIELD(OCR, VDD_VOLTAGE_WIN_HI, 8, 16) +FIELD(OCR, ACCEPT_SWITCH_1V8, 24, 1) /* Only UHS-I */ +FIELD(OCR, UHS_II_CARD, 29, 1) /* Only UHS-II */ FIELD(OCR, CARD_CAPACITY, 30, 1) /* 0:SDSC, 1:SDHC/SDXC */ FIELD(OCR, CARD_POWER_UP, 31, 1) =20 +#define ACMD41_ENQUIRY_MASK 0x00ffffff +#define ACMD41_R3_MASK (R_OCR_VDD_VOLTAGE_WIN_HI_MASK \ + | R_OCR_ACCEPT_SWITCH_1V8_MASK \ + | R_OCR_UHS_II_CARD_MASK \ + | R_OCR_CARD_CAPACITY_MASK \ + | R_OCR_CARD_POWER_UP_MASK) + static void sd_reset_ocr(SDState *sd) { - /* All voltages OK, Standard Capacity SD Memory Card, not yet powered = up */ - sd->ocr =3D 0x00ffff00; + /* All voltages OK */ + sd->ocr =3D R_OCR_VDD_VOLTAGE_WIN_HI_MASK; } =20 static void sd_ocr_powerup(void *opaque) @@ -450,7 +461,7 @@ static void sd_response_r1_make(SDState *sd, uint8_t *r= esponse) =20 static void sd_response_r3_make(SDState *sd, uint8_t *response) { - stl_be_p(response, sd->ocr); + stl_be_p(response, sd->ocr & ACMD41_R3_MASK); } =20 static void sd_response_r6_make(SDState *sd, uint8_t *response) @@ -1634,7 +1645,13 @@ send_response: } =20 #ifdef DEBUG_SD - qemu_hexdump((const char *)response, stderr, "Response", rsplen); + if (rsplen) { + int i; + DPRINTF("Response:"); + for (i =3D 0; i < rsplen; i++) + fprintf(stderr, " %02x", response[i]); + fputc('\n', stderr); + } #endif =20 return rsplen; --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516678700918324.0638544689467; Mon, 22 Jan 2018 19:38:20 -0800 (PST) Received: from localhost ([::1]:59530 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpPf-0000jj-Vr for importer@patchew.org; Mon, 22 Jan 2018 22:38:20 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37795) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpIh-0003RJ-IN for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpIg-0007xt-Kn for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:07 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:33830) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpIg-0007xb-Ft for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:06 -0500 Received: by mail-qt0-x244.google.com with SMTP id a27so13310356qtd.1 for ; Mon, 22 Jan 2018 19:31:06 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.31.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:31:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=eFb7pke2gslt7yEUq+mjsK6LCSfshsPLybK+N+eHEnM=; b=Y4sG7fW870Y1fI8ayDvGy40W0Mbr/ViTYwKEruE5sZtGVpsp9Jg3Z+8e1Mf6mhk6L+ yQEJr9G7M8FO8WsQ5u8j8vDPD3MOkLKAB0ifCks0onA2rDWRjyY4QhjJVUoIBxzIuOc0 8Qy1hV6YY1OEzJUBACfOE90YSNWiLc46MiiqA6YT5vhYHAEfywejBwrJ0cv37a4WR4FB 7n6uWkV9mHDLhNX3YRic9KYLkK9mOVBJf/2FiB5OmaPQFcxeVStqsVb7xl6Nbs0I99SG j8QeZjvCkzlsEyCXh+NrJXrXRU94LwQfi5+SSy32B8+RbW8HaZRY63PULCDPgggIxxTr U6KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=eFb7pke2gslt7yEUq+mjsK6LCSfshsPLybK+N+eHEnM=; b=QEY9LhYHM0L25gQiBT1/5PEcYQavzRXOZ75lFlm0eMZtCmJSqJHGPUSL/pB09hRYsr cX9zpN6b8clS6hh+vV/VhucReXyH6XiR/L1YlkK2Y2hWIUPyCDL34imjGA1YMlZzq58E rKNciJRkRggPqPmanloC2lCQQtrc94LgAlgVXOF1z2DV4hLgZusFdnkK7lEIA4gacH6i GCMi4Bwo3x8asEttKEGHwP10eiqbNICD1p7jsRNcnbJnE/auHLcfd7M3DKbe2PYKBMlc 1Z7XVoT/XEn3XKH+DARjmeNjqVr5FKXojtPTBk2kRRx9w6qOV8T/scGC+ItbdtJ3jX3q Kzwg== X-Gm-Message-State: AKwxytd3lv/zbgWcuLeGmMrC+bHFikfeAP8MZ2Culav60ObtsojGUKcO MwbgWpPET74TopLEQIoKSY20c5P4 X-Google-Smtp-Source: AH8x227vAziVE+HwhTINJOwnUwFy0+1PZa/WkEdW7AkkHXJgEVFiaIzVAmBilBXKwB8pt9C06OxsQQ== X-Received: by 10.200.55.55 with SMTP id o52mr1712091qtb.41.1516678266055; Mon, 22 Jan 2018 19:31:06 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:24 -0300 Message-Id: <20180123033034.29493-9-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v3 08/18] sdcard: use the registerfields API for the CARD_STATUS register masks X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 48 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index ee381540aa..2eca999bc3 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -423,14 +423,56 @@ static void sd_set_rca(SDState *sd) sd->rca +=3D 0x4567; } =20 +FIELD(CSR, AKE_SEQ_ERROR, 3, 1) +FIELD(CSR, APP_CMD, 5, 1) +FIELD(CSR, FX_EVENT, 6, 1) +FIELD(CSR, READY_FOR_DATA, 8, 1) +FIELD(CSR, CURRENT_STATE, 9, 4) +FIELD(CSR, ERASE_RESET, 13, 1) +FIELD(CSR, CARD_ECC_DISABLED, 14, 1) +FIELD(CSR, WP_ERASE_SKIP, 15, 1) +FIELD(CSR, CSD_OVERWRITE, 16, 1) +FIELD(CSR, DEFERRED_RESPONSE, 17, 1) +FIELD(CSR, ERROR, 19, 1) +FIELD(CSR, CC_ERROR, 20, 1) +FIELD(CSR, CARD_ECC_FAILED, 21, 1) +FIELD(CSR, ILLEGAL_COMMAND, 22, 1) +FIELD(CSR, COM_CRC_ERROR, 23, 1) +FIELD(CSR, LOCK_UNLOCK_FAILED, 24, 1) +FIELD(CSR, CARD_IS_LOCKED, 25, 1) +FIELD(CSR, WP_VIOLATION, 26, 1) +FIELD(CSR, ERASE_PARAM, 27, 1) +FIELD(CSR, ERASE_SEQ_ERROR, 28, 1) +FIELD(CSR, BLOCK_LEN_ERROR, 29, 1) +FIELD(CSR, ADDRESS_ERROR, 30, 1) +FIELD(CSR, OUT_OF_RANGE, 31, 1) + /* Card status bits, split by clear condition: * A : According to the card current state * B : Always related to the previous command * C : Cleared by read */ -#define CARD_STATUS_A 0x02004100 -#define CARD_STATUS_B 0x00c01e00 -#define CARD_STATUS_C 0xfd39a028 +#define CARD_STATUS_A (R_CSR_READY_FOR_DATA_MASK \ + | R_CSR_CARD_ECC_DISABLED_MASK \ + | R_CSR_CARD_IS_LOCKED_MASK) +#define CARD_STATUS_B (R_CSR_CURRENT_STATE_MASK \ + | R_CSR_ILLEGAL_COMMAND_MASK \ + | R_CSR_COM_CRC_ERROR_MASK) +#define CARD_STATUS_C (R_CSR_AKE_SEQ_ERROR_MASK \ + | R_CSR_APP_CMD_MASK \ + | R_CSR_ERASE_RESET_MASK \ + | R_CSR_WP_ERASE_SKIP_MASK \ + | R_CSR_CSD_OVERWRITE_MASK \ + | R_CSR_ERROR_MASK \ + | R_CSR_CC_ERROR_MASK \ + | R_CSR_CARD_ECC_FAILED_MASK \ + | R_CSR_LOCK_UNLOCK_FAILED_MASK \ + | R_CSR_WP_VIOLATION_MASK \ + | R_CSR_ERASE_PARAM_MASK \ + | R_CSR_ERASE_SEQ_ERROR_MASK \ + | R_CSR_BLOCK_LEN_ERROR_MASK \ + | R_CSR_ADDRESS_ERROR_MASK \ + | R_CSR_OUT_OF_RANGE_MASK) =20 static void sd_reset_cardstatus(SDState *sd) { --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516678576474178.5405101312806; Mon, 22 Jan 2018 19:36:16 -0800 (PST) Received: from localhost ([::1]:59515 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpNf-0007Kq-KK for importer@patchew.org; Mon, 22 Jan 2018 22:36:15 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37824) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpIm-0003Ue-QK for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpIj-0007zb-Ky for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:12 -0500 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:35198) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpIj-0007zS-Gw for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:09 -0500 Received: by mail-qt0-x242.google.com with SMTP id g14so17283096qti.2 for ; Mon, 22 Jan 2018 19:31:09 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.31.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:31:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yl3qyLmu7jFWGGhGC/Z9T3VeuBDkP5ciiGvfXqlg+y8=; b=LFsVTLKhN4hd5/MaF4cGo+LWt8a4veIy1XVyJnc2vA8tr9nFXvjPZXH+tqlwOyC1Ha YiedFJpefFtmmYXr+kTa+wY6yAIJOcum0eXj6DtGvVxxZX/y7dcppVLKk5T3ra94KC8Z uTOOMYEdLmJzUX+WGpXECsb3xpEBQAcmL+oOvJ7xSVKhiKlz+ktOGQkYHM8VaWqcD0qt 3tXWL8wQq1O3yGJeDiUIOpa10sxA5rfw7UgRzR+ZVP3wP05LvzUZm22ciYKoILtnmE6q nr5JByaxNnZs16auHUCtzM0MotZqQJDR3yf+dg3XuP2Azzt9Z3Ztt2c84Q+FskjzWFru Jqfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=yl3qyLmu7jFWGGhGC/Z9T3VeuBDkP5ciiGvfXqlg+y8=; b=AGX/FSn+d0Rv3x4Qecmc3h71M5eodD0smg+2XtwvCKM1rBsYYcBDT+7f7uVnWnqCzf VWF67p+iYmxUZjr7JvA1zayu7sj999CFFT9nBBSIIIG3BAXW0lg0d3xFPNULhFM1WS3W LmzspELjJ3gIFlB2VowG3cOZQ0B+v+IYuMv5ulVGfGOfYjtPK5h34DokoiTRhEoXBqx/ 8MsnhYu3+RXZj5yiJlhr1uNqKJC4P6N8tQFARkwwj5egWJhoLgncVuAMYVCpjv5A6hT0 90Tgi30D/TcA3j8SkUXEtshGx7eUoWgGXQK5BN9/OsXKOC18jNjZTTeKgtTAGFWVZcuf +MbA== X-Gm-Message-State: AKwxytfZGKG88ZDvZHXRfSiPDBYoEGxibzZtgjZMItYJYwrYMZuTMkWd qF3IHaHxOVqDYU9TfMKmT28= X-Google-Smtp-Source: AH8x227xGwxFXezwcbim9AOj4QPROQsCUfKXDgRvs0VxBMe/q6/r7Ca1CKaWzjSMUqjVnt+XY3DSGg== X-Received: by 10.55.10.7 with SMTP id 7mr1587629qkk.353.1516678269040; Mon, 22 Jan 2018 19:31:09 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:25 -0300 Message-Id: <20180123033034.29493-10-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH v3 09/18] sdcard: handles more commands in SPI mode X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 2eca999bc3..07424aa56e 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1390,9 +1390,11 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, = SDRequest req) =20 /* Application specific commands (Class 8) */ case 55: /* CMD55: APP_CMD */ - if (sd->rca !=3D rca) - return sd_r0; - + if (!sd->spi) { + if (sd->rca !=3D rca) { + return sd_r0; + } + } sd->expecting_acmd =3D true; sd->card_status |=3D APP_CMD; return sd_r1; @@ -1412,6 +1414,18 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, = SDRequest req) } break; =20 + case 58: /* CMD58: READ_OCR (SPI) */ + if (!sd->spi) { + goto bad_cmd; + } + return sd_r3; + + case 59: /* CMD59: CRC_ON_OFF (SPI) */ + if (!sd->spi) { + goto bad_cmd; + } + goto unimplemented_cmd; + default: bad_cmd: qemu_log_mask(LOG_GUEST_ERROR, "SD: Unknown CMD%i\n", req.cmd); @@ -1436,6 +1450,9 @@ static sd_rsp_type_t sd_app_command(SDState *sd, sd->card_status |=3D APP_CMD; switch (req.cmd) { case 6: /* ACMD6: SET_BUS_WIDTH */ + if (sd->spi) { + goto unimplemented_cmd; + } switch (sd->state) { case sd_transfer_state: sd->sd_status[0] &=3D 0x3f; @@ -1460,6 +1477,12 @@ static sd_rsp_type_t sd_app_command(SDState *sd, } break; =20 + case 18: + if (sd->spi) { + goto unimplemented_cmd; + } + break; + case 22: /* ACMD22: SEND_NUM_WR_BLOCKS */ switch (sd->state) { case sd_transfer_state: @@ -1485,6 +1508,19 @@ static sd_rsp_type_t sd_app_command(SDState *sd, } break; =20 + case 25: + case 26: + if (sd->spi) { + goto unimplemented_cmd; + } + break; + + case 38: + if (sd->spi) { + goto unimplemented_cmd; + } + break; + case 41: /* ACMD41: SD_APP_OP_COND */ if (sd->spi) { /* SEND_OP_CMD */ @@ -1542,6 +1578,12 @@ static sd_rsp_type_t sd_app_command(SDState *sd, } break; =20 + case 43 ... 49: + if (sd->spi) { + goto unimplemented_cmd; + } + break; + case 51: /* ACMD51: SEND_SCR */ switch (sd->state) { case sd_transfer_state: @@ -1555,9 +1597,18 @@ static sd_rsp_type_t sd_app_command(SDState *sd, } break; =20 + case 55: /* Not exist */ + break; + default: /* Fall back to standard commands. */ return sd_normal_command(sd, req); + + unimplemented_cmd: + /* Commands that are recognised but not yet implemented in SPI mod= e. */ + qemu_log_mask(LOG_UNIMP, "SD: CMD%i not implemented in SPI mode\n", + req.cmd); + return sd_illegal; } =20 qemu_log_mask(LOG_GUEST_ERROR, "SD: ACMD%i in a wrong state\n", req.cm= d); --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516678892981746.750208222141; Mon, 22 Jan 2018 19:41:32 -0800 (PST) Received: from localhost ([::1]:59568 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpSi-0003YP-Jt for importer@patchew.org; Mon, 22 Jan 2018 22:41:28 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37834) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpIn-0003VU-IS for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpIm-00081q-NN for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:13 -0500 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:42564) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpIm-00081X-JS for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:12 -0500 Received: by mail-qt0-x241.google.com with SMTP id c2so26487178qtn.9 for ; Mon, 22 Jan 2018 19:31:12 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.31.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:31:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1YC9knptdv/qC+fYSTXidzWyccZRt4DWJMWrKLLibf4=; b=gq2yvIbaVkyHENzIxmNXWdN4vy5eohqsihsVny9+gT9mEVVqbo7ZcHNlWClmpLqbWQ qdYe/zLdlOoZ3D5KU7AKbnwXz2OUP1Ttvj1FwvclvBPrLwG+IkNgRbR4GWz6Y/ziK7Ye G1gmfZJVjaeGcMUYE+Uh0pudxqXZt6MZtcyn6Zd+zSmZ4lAP/aJAlU2XMO9k7Rdo9xtK iyVvqk4m7UNERLO5oi6pwdEJEW/q2kUbfK5kBsTOqqw1IKthSTb5yjsKFb0mo7fkYGA/ YyS0bX+XpYyzp+aXEMXWxTnfyWUVe570hAWrN+3V0iJxqnLOs4FpOuq1LNlIEm/IiPAt TfEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=1YC9knptdv/qC+fYSTXidzWyccZRt4DWJMWrKLLibf4=; b=id548Bm53nvtDNhH0USgVf9keIXNUb7rFgyPuxqFTJB2q2vrzvEm915KZFnjO7norC /8eaCeS4cLpnE3AUKl89N6oqmPuWgMwom9TjymUFyobsw9yNUiPCMSJvTMiEEZ1Bi/SP 4o7xS3TmKZxBXXSaNK3FyzOwEGH39gAkPRRmAZjnqTtNf8hfglI0A5rHFEr/wn2DA+ke ttjL4jvnCzgdyfJsBfPUuuJLjCfh56IrRHUDgCioycr5U7GGZBL4VOXnrJlySVJkuxQe erh8ZCkWMf70LFXzw2ltxToTLwtXnS7sdFmoXzg/QMPY8kit2688QppEspyNyQetdBuC 1c0A== X-Gm-Message-State: AKwxytd8urM0WOan5jWGm+FAJJ/aRTP19YWG+3OpRxXKRH4zZZgJhfpu GlU3I2PCcGeT3uX65SyBtftPnyHF X-Google-Smtp-Source: AH8x226Wa91HfE1kNbYX78suPqBruBwi4qE1cGTtFNZOQotEzHFHYOJ0fnn1Cvq/qhs1dwdGhvzR5w== X-Received: by 10.55.79.83 with SMTP id d80mr1614468qkb.328.1516678272166; Mon, 22 Jan 2018 19:31:12 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:26 -0300 Message-Id: <20180123033034.29493-11-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH v3 10/18] sdcard: handle CMD54 (SDIO) X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Linux uses it to poll the bus before polling for a card. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 07424aa56e..bbf9496e8a 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1378,9 +1378,8 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, S= DRequest req) } break; =20 - case 52: - case 53: - /* CMD52, CMD53: reserved for SDIO cards + case 52 ... 54: + /* CMD52, CMD53, CMD54: reserved for SDIO cards * (see the SDIO Simplified Specification V2.0) * Handle as illegal command but do not complain * on stderr, as some OSes may use these in their --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516678746993757.5708018238587; Mon, 22 Jan 2018 19:39:06 -0800 (PST) Received: from localhost ([::1]:59533 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpQQ-0001Qs-8I for importer@patchew.org; Mon, 22 Jan 2018 22:39:06 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37850) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpIq-0003Yc-FM for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpIp-00084y-M5 for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:16 -0500 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:33536) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpIp-00084e-Hl for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:15 -0500 Received: by mail-qt0-x242.google.com with SMTP id d8so17866422qtm.0 for ; Mon, 22 Jan 2018 19:31:15 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.31.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:31:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nvvDKzovusnuZEAxGj2seKlCqdYmVR93Sr58vqI5BW8=; b=GKiANfDCNJmnuDmuOz5peBByoj7BRdPP2HB3jAoO8cVElA7Lq673qT7ZJzHGdusp4c 5SsCOQAOUu0c+lMJasf7JAjcRQkJp7GP9KOt+b1wKXJKcInEqj1t+F5kO20N/CjbTm85 VypRAASvjGyJY6tX+kIoH4p0qC0VJeIee8SXsIdAHTCOvmoQ51BvINuqaxIlozjmxgbZ AaB4SkLiLENVwxrZ+lRjW7u3QNUM9OTeFwX5kvW+LJxYjN566sSAlk8omKKD1rYa7p2U 9lGPsr6GfNoFAHPZiwyqJ6zNT9mHw6j8GHxnIW7XeOP9qjOIuruD/UCtXrFC4A4ThTTZ 0cYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=nvvDKzovusnuZEAxGj2seKlCqdYmVR93Sr58vqI5BW8=; b=ruIoGxylr3IuaC9RpCxGRtyUq6YcUXNsQEpgeBZRDT4Ke287MrulAJb/cTE0HEMdRV XEf0hyS82krzIKbw9AvFR6lmaK0Ak/53WudzyG2VuSjFBo7O9VDnq/29GN2Xgo8fXVAj po/X9lGMfkzBL5GkxfOwnM1dSHsR6TbonR26fgaucamCTCpxCAGjRmxsdCs3EZurBQ69 4azzDkjoq6LBCln/d7q4zLRtFKwRCyVUaMLefUVXuwOSiHunbZV81HHs/BuIjq8mJQoc 9kFRn9qlq8quzHd33/rmbpjsSDume0DpU3LAzPLhjoaJs/WYajTi1npFhfVhRBYwSZ+h LbUQ== X-Gm-Message-State: AKwxytdMP2h/hVqStRczXXLjVc6Ak5wQNYQLncaDmrJDcjw+2b/+ehGq Vj73usdvan0qdykNQdSQ51w= X-Google-Smtp-Source: AH8x227QKlEuIyCnfKZIJJjP25S5KkbObUxLaZKhyzxk7to5EFj/xRXhTTywswyZ//kuEhSVh0AvbQ== X-Received: by 10.237.34.10 with SMTP id n10mr1735114qtc.105.1516678275132; Mon, 22 Jan 2018 19:31:15 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:27 -0300 Message-Id: <20180123033034.29493-12-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH v3 11/18] sdcard: check the card is in correct state for APP CMD (CMD55) X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index bbf9496e8a..434d1fbc47 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1389,6 +1389,14 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, = SDRequest req) =20 /* Application specific commands (Class 8) */ case 55: /* CMD55: APP_CMD */ + switch (sd->state) { + case sd_ready_state: + case sd_identification_state: + case sd_inactive_state: + return sd_illegal; + default: + break; + } if (!sd->spi) { if (sd->rca !=3D rca) { return sd_r0; --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516679037486179.69463287698113; Mon, 22 Jan 2018 19:43:57 -0800 (PST) Received: from localhost ([::1]:59851 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpV6-00066T-OK for importer@patchew.org; Mon, 22 Jan 2018 22:43:56 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37873) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpIv-0003eM-Se for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpIs-00088A-L6 for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:21 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:36880) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpIs-00087t-HP for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:18 -0500 Received: by mail-qt0-x244.google.com with SMTP id d54so26496163qtd.4 for ; Mon, 22 Jan 2018 19:31:18 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.31.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:31:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=giiaSSvkRe02/3wvtZMqbS584fO3Jwis7P6gXv5v7xY=; b=cJJwE7PsHMvKB3pXSeTsAtCnb1oCb1m696M7fQq2nfEUOqyo1pqVyfG2glNTWRFbcZ f+5sBSwWtcu3DS4SnzwroSecMxAG3ybI73n1YTJdKyEgTqYXvP9n/Aae7mbv7RTHQfYS 4Itd73emdLVSVWV5Wgn5iU+XCB9N49gPuOA/DIqgi2aPAI6YKnBJOQPoboXTiukJcKzn H+tNU8xFD/Vd4nWt34bPO7oU/kNeUdoQiNO7zhOsuG/5pxadg+qmJn/iw91e/4O4QQVe aL2LmPynsmBUqy38RkZgKSpHY/+BNuAF3IpXPXg564qaceRJdV11CwxdOXGbPEjHDiDz nCoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=giiaSSvkRe02/3wvtZMqbS584fO3Jwis7P6gXv5v7xY=; b=WbF40Bg0nnWxeNl2Yg7dOhrRY+zmx+yf4JOSYVOaPTOElFxGFYFNTg2TIMUlvB5KFF m4VNSbutgjxvFPjGH0BJbPgaNeaDJ/wwgZlK9z3SzFDPTI2d/2fPenRXTuY5baSC9i9p R/Zk/gOWrb1K0l26754EM1pd35vtoYMESKWG7lshUrN1dZkkXdgNv/h8MNcNmPTWh4vW +xmVajV67JakXntfPXlCDvs9Y9Db8hZsiEl6FAYJVB6zzcRgyZsYbEhcWYf/S3EIgyxo ywNVDNsTD1qdTOWqDpwLssyO1ekzfBM5V3P8HgnBjSyl0LNmX3wvXCSC+ZLjH499gCHU st5A== X-Gm-Message-State: AKwxytesV6RFV8eG7aZpnXefq8AWzSsJ6Y6A1Vy8/RGtzwgIqutzSDHx xk20F02RLaD7TNIw7KlqUxQ= X-Google-Smtp-Source: AH8x226PEtfb21EqNbQ7fvS14iXxDVoJvNOwi7qFHU2caAlrYytzVgoxudwC1qVOzZum5SqPExWwfw== X-Received: by 10.233.239.205 with SMTP id d196mr1624437qkg.139.1516678278108; Mon, 22 Jan 2018 19:31:18 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:28 -0300 Message-Id: <20180123033034.29493-13-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v3 12/18] sdcard: warn if host uses an incorrect address for APP CMD (CMD55) X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 434d1fbc47..b5c947df62 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1394,6 +1394,11 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, = SDRequest req) case sd_identification_state: case sd_inactive_state: return sd_illegal; + case sd_idle_state: + if (rca) { + qemu_log_mask(LOG_GUEST_ERROR, + "SD: illegal RCA 0x%04x for APP_CMD\n", req.= cmd); + } default: break; } --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516679141464882.2511148157773; Mon, 22 Jan 2018 19:45:41 -0800 (PST) Received: from localhost ([::1]:60101 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpWi-0007O9-KO for importer@patchew.org; Mon, 22 Jan 2018 22:45:36 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37887) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpIw-0003ev-I9 for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpIv-0008BF-Lg for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:22 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:45662) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpIv-0008At-H9 for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:21 -0500 Received: by mail-qt0-x244.google.com with SMTP id x27so26454696qtm.12 for ; Mon, 22 Jan 2018 19:31:21 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.31.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:31:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AGrNe3iPBeHvzshExxX9e1Z0VCyBR5Ijr5eV1mxGFT8=; b=AovdsZ5/XoGUT29LKQHXqPJWPJDIfSbextGyUzw4QCiGa5y1nAKEWI4sIYqTBVNbVp VfJiHSBAEGMiL1dsQ+Gdx3o77vEjUyyZTV8NsuFxuCU+0p33DW9koC/xwpSTIRczwqgE EXrE6Hl9vOpN9JIgOTmISpkvnIl1lETv8NMVjzHq2l/vljAVkDTYpVO9ywFKR8Lj+Lxf RapSwccP5TuGx62z5hO3bMlbMQiBomvxKTPEeSukPiKFyzVSvh01wmpW0YpEfT4mGWPT mSUl3K5Z3kdNbk5hOHamCJfyF1gbR2Mjlc0GIZkxdZn0O1HeIeRO7MeuVHJODoge3zc/ 0zfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=AGrNe3iPBeHvzshExxX9e1Z0VCyBR5Ijr5eV1mxGFT8=; b=MkjgotKpLTzXEOqAAfQHLyB9/Dyi86NIoz3asXbIdiyJozYfcliLcF3yqhGk4c3HOy JGxAxY5yChEMXscwhEopKAx6wsHiFqU/EYqEOHfWCM3BpDoPBrvF/oGA4NPrIIm3rW+Z jETLnse7tc/jqYgMYBymyUsDgSj8wjBnumK2DjLEfivMaWIeVN0FXoWHTkVKWk7Vi1UJ re4vrMvCbRS1ytSFk+MI4coA0AF0yTo4fSuoklhqU/Oanj3wr5kCqKBq9P1FnfkE/tcy KmE2W/EfS9uWmcPfwO5Rkfl5UF4s3TnxFiextUcYB7XOJ5Tqgt1COwIJMIBjlWXHNfyo s0pw== X-Gm-Message-State: AKwxytezS+xSIT3E7sRT3FJb395c4iT7TTddV1S+qylkHAA2Kqc61fjA DIAqbP4vMRI547Xp+9+QcK4= X-Google-Smtp-Source: AH8x227OPmSaD2uNHgaasOVCRIsuVKTVEVy4yEE8JiqaBVdJX47yMbX3SivoIZ53o99CUlvWVvIv7w== X-Received: by 10.55.142.66 with SMTP id q63mr1654733qkd.346.1516678281106; Mon, 22 Jan 2018 19:31:21 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:29 -0300 Message-Id: <20180123033034.29493-14-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v3 13/18] sdcard: simplify SEND_IF_COND (CMD8) X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 replace switch(single case) -> if() Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index b5c947df62..707c294169 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1015,23 +1015,19 @@ static sd_rsp_type_t sd_normal_command(SDState *sd,= SDRequest req) =20 case 8: /* CMD8: SEND_IF_COND */ /* Physical Layer Specification Version 2.00 command */ - switch (sd->state) { - case sd_idle_state: - sd->vhs =3D 0; - - /* No response if not exactly one VHS bit is set. */ - if (!(req.arg >> 8) || (req.arg >> (ctz32(req.arg & ~0xff) + 1= ))) { - return sd->spi ? sd_r7 : sd_r0; - } - - /* Accept. */ - sd->vhs =3D req.arg; - return sd_r7; - - default: + if (sd->state !=3D sd_idle_state) { break; } - break; + sd->vhs =3D 0; + + /* No response if not exactly one VHS bit is set. */ + if (!(req.arg >> 8) || (req.arg >> (ctz32(req.arg & ~0xff) + 1))) { + return sd->spi ? sd_r7 : sd_r0; + } + + /* Accept. */ + sd->vhs =3D req.arg; + return sd_r7; =20 case 9: /* CMD9: SEND_CSD */ switch (sd->state) { --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516678915438979.6146802634167; Mon, 22 Jan 2018 19:41:55 -0800 (PST) Received: from localhost ([::1]:59571 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpT8-0003xT-Kq for importer@patchew.org; Mon, 22 Jan 2018 22:41:54 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37898) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpIz-0003iF-LA for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpIy-0008DA-OM for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:25 -0500 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:35200) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpIy-0008Cy-Ix for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:24 -0500 Received: by mail-qt0-x242.google.com with SMTP id g14so17284084qti.2 for ; Mon, 22 Jan 2018 19:31:24 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.31.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:31:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dmiGt12kWwsvW536TrUPXNJ9F6xzWnW6v1S+TMLsQY4=; b=FVbGUYHxad5F7yPYRCGfYaIMxqr++BsOMa2N2uhhPqd0P3lbibwJwawKFQGNhUD17v yHnno4jLdiJs84jSLpA7fzpqoSa3LyFb/fwRP6efe7vZkIYmE7ivaz8dzoUSnqBiY9GL qyYJ3IN9DhNmoe5E15htDpx6C1Hf6uNqQ94xmBneGasLEDBtfGs0cNdNwRQPe84qr0zZ waPa0LNkZSsY6tloUSrgzWrfW1wev4VKZ5qjBa37xj+yU1AY9fUECucW6JUbusAgUDU3 Ez+KrzqNDrP/MIXkCbBAkpBys4i/wso2b99u3hR9abxutuf0Sz2GPdFgWid+RuQyFprg RJxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=dmiGt12kWwsvW536TrUPXNJ9F6xzWnW6v1S+TMLsQY4=; b=ixrLt3k+urUjUAfFbKUmRTWhHjlu24mvK/MYIbxgw8eA/mEbfOMqritowQH+jqV5qZ Rb8Inh795z9lHh/oJ25va5GpItwNf10YOHHVdUgk3WRnuBQMoEDkBby36Z7GaOjrgnW4 AR+lQCEXZAFyZOW17Iq/KobEQxf5PqIIvhTeUbJpDRs4QWDzGVgYDS4rKDfW1DTCGN9i KIdeHzXUwWcu9Zp11udeEvLTjczRl3O16fNphuQWIoKj381qyXqpZ+ZwL81TQcZ1DNIB 4Er/wGB2oWl+wl+kUBlrnw2ubmZ8g6R4I0oDrz2DlgU5qSDS/wY9JS+4crlUS3edt1NQ ihnQ== X-Gm-Message-State: AKwxytdAQnlM13DZczlMyg2bY12Str2Btfh2jNbb4CU3n+QEobWeMC/A H/+hRh2fDtFlYaG2zaJgSao= X-Google-Smtp-Source: AH8x225oR+a0pwi/8zx8+Tcg57glLwTXg6A/KfPzVm3osw+2lIc765jZo5xODINaTBd18GNpfFbW4Q== X-Received: by 10.55.126.5 with SMTP id z5mr1711979qkc.122.1516678284131; Mon, 22 Jan 2018 19:31:24 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:30 -0300 Message-Id: <20180123033034.29493-15-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH v3 14/18] sdcard: simplify SD_SEND_OP_COND (ACMD41) X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 replace switch(single case) -> if() Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 56 ++++++++++++++++++++++++++------------------------------ 1 file changed, 26 insertions(+), 30 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 707c294169..6efcacb942 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1535,45 +1535,41 @@ static sd_rsp_type_t sd_app_command(SDState *sd, sd->state =3D sd_transfer_state; return sd_r1; } - switch (sd->state) { - case sd_idle_state: - /* If it's the first ACMD41 since reset, we need to decide - * whether to power up. If this is not an enquiry ACMD41, - * we immediately report power on and proceed below to the - * ready state, but if it is, we set a timer to model a - * delay for power up. This works around a bug in EDK2 - * UEFI, which sends an initial enquiry ACMD41, but - * assumes that the card is in ready state as soon as it - * sees the power up bit set. */ - if (!FIELD_EX32(sd->ocr, OCR, CARD_POWER_UP)) { - if ((req.arg & ACMD41_ENQUIRY_MASK) !=3D 0) { - timer_del(sd->ocr_power_timer); - sd_ocr_powerup(sd); - } else { - trace_sdcard_inquiry_cmd41(); - if (!timer_pending(sd->ocr_power_timer)) { - timer_mod_ns(sd->ocr_power_timer, - (qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) - + OCR_POWER_DELAY_NS)); - } + if (sd->state !=3D sd_idle_state) { + break; + } + /* If it's the first ACMD41 since reset, we need to decide + * whether to power up. If this is not an enquiry ACMD41, + * we immediately report power on and proceed below to the + * ready state, but if it is, we set a timer to model a + * delay for power up. This works around a bug in EDK2 + * UEFI, which sends an initial enquiry ACMD41, but + * assumes that the card is in ready state as soon as it + * sees the power up bit set. */ + if (!FIELD_EX32(sd->ocr, OCR, CARD_POWER_UP)) { + if ((req.arg & ACMD41_ENQUIRY_MASK) !=3D 0) { + timer_del(sd->ocr_power_timer); + sd_ocr_powerup(sd); + } else { + trace_sdcard_inquiry_cmd41(); + if (!timer_pending(sd->ocr_power_timer)) { + timer_mod_ns(sd->ocr_power_timer, + (qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + + OCR_POWER_DELAY_NS)); } } + } =20 + if (FIELD_EX32(sd->ocr & req.arg, OCR, VDD_VOLTAGE_WINDOW)) { /* We accept any voltage. 10000 V is nothing. * * Once we're powered up, we advance straight to ready state * unless it's an enquiry ACMD41 (bits 23:0 =3D=3D 0). */ - if (req.arg & ACMD41_ENQUIRY_MASK) { - sd->state =3D sd_ready_state; - } - - return sd_r3; - - default: - break; + sd->state =3D sd_ready_state; } - break; + + return sd_r3; =20 case 42: /* ACMD42: SET_CLR_CARD_DETECT */ switch (sd->state) { --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 15166790564541009.1696740597113; Mon, 22 Jan 2018 19:44:16 -0800 (PST) Received: from localhost ([::1]:59864 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpVP-0006JB-PH for importer@patchew.org; Mon, 22 Jan 2018 22:44:15 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37916) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpJ5-0003lF-JO for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpJ1-0008Ex-Lc for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:30 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:45663) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpJ1-0008Ei-Hc for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:27 -0500 Received: by mail-qt0-x244.google.com with SMTP id x27so26455140qtm.12 for ; Mon, 22 Jan 2018 19:31:27 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.31.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:31:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1FnfhhAdMwkJQG82xllFBX+MWSNzWwH/j09IzphgZng=; b=bft9RFo00f2ARR7hWxWPwB+btEiDY5UVTMXo/r82U8SD7Ow7sqwx+VlQhZXCXoL+Sw 2a39epKtKS6S8L1bO/h7hyrsXhBsH99mXUMXfipHn+c61Dtww+Kpw8AZgX9Wllow//IM Hq6oNo/0LnFPwnzoQ0t29KSJ0njW0RAp4T4HKjWwa21VQjTHTwWpGg1fBUv5/KO4W3+z q+n+gZMh7Pd9HD4iEoyigWGyw8n+V5obDtANuKLP2rtnPq1aJiwqW1qkhJrWWEuz9tmn UkURQyk+tcn2SXOC4cWTk5oDRsTa0CMpu4HRMa2Np8PQ1KfFRefkwiSjyo3M1P8tkWtU uJAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=1FnfhhAdMwkJQG82xllFBX+MWSNzWwH/j09IzphgZng=; b=MAa8iDRlbthcBlDVUEiQq0U+QSW+BHwy/m4wXjYmVGhdt3S/ZNH6aPvq1GF2tQfqw6 uI0Cofl1uCdK4mSEP+jTO4pX/sCRHqb6O413i/mokuQNUpu8Qd5UkvB0a8CZFm0187WA TanBOURiFTyZoauMTUIRs/dOeZsacDjbZz71l6p95c6PKfPQyxSHK42uYzGOBMPejWf8 hp1RfThtwupKTNM4KzkHprlaaMEKbHtm3qU94yN5AelLV0SQdwxuorv7TJSTf1AlOUew dr7aoGBYs8D27aAd/uS5PxCB9k3xL4zt7Kl9IhKPcdPEIdp3BND1ELecaQwZohrEfGNc tBYA== X-Gm-Message-State: AKwxytdr0dw/liQHD8wObKo1sPmkeYIAQnAMwxrrUlpn7/Fduxmaqihe xWJAB4i5PvOObY5LyaeHO94= X-Google-Smtp-Source: AH8x225XzjnP95/bBzSvu8Gyk01xbC4Av4JUVCgYjo6gcIbEnVjj9P4quuiJ1k+pApBLmU606mnieg== X-Received: by 10.233.214.3 with SMTP id r3mr1614194qkk.81.1516678287111; Mon, 22 Jan 2018 19:31:27 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:31 -0300 Message-Id: <20180123033034.29493-16-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v3 15/18] sdcard: add SD SEND_TUNING_BLOCK (CMD19) X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 [based on a patch from Alistair Francis from qemu/xilinx tag xilinx-v2015.2] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 6efcacb942..27176ba33e 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1169,6 +1169,14 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, = SDRequest req) } break; =20 + case 19: /* CMD19: SEND_TUNING_BLOCK (SD) */ + if (sd->state =3D=3D sd_transfer_state) { + sd->state =3D sd_sendingdata_state; + sd->data_offset =3D 0; + return sd_r1; + } + break; + case 23: /* CMD23: SET_BLOCK_COUNT */ switch (sd->state) { case sd_transfer_state: @@ -1911,6 +1919,15 @@ void sd_write_data(SDState *sd, uint8_t value) } } =20 +#define SD_TUNING_BLOCK_SIZE 64 + +static const uint32_t sd_tunning_data[SD_TUNING_BLOCK_SIZE / 4] =3D { + 0xFF0FFF00, 0x0FFCC3CC, 0xC33CCCFF, 0xFEFFFEEF, + 0xFFDFFFDD, 0xFFFBFFFB, 0XBFFF7FFF, 0X77F7BDEF, + 0XFFF0FFF0, 0X0FFCCC3C, 0XCC33CCCF, 0XFFEFFFEE, + 0XFFFDFFFD, 0XDFFFBFFF, 0XBBFFF7FF, 0XF77F7BDE, +}; + uint8_t sd_read_data(SDState *sd) { /* TODO: Append CRCs */ @@ -1990,6 +2007,13 @@ uint8_t sd_read_data(SDState *sd) } break; =20 + case 19: /* CMD19: SEND_TUNING_BLOCK (SD) */ + if (sd->data_offset >=3D SD_TUNING_BLOCK_SIZE - 1) { + sd->state =3D sd_transfer_state; + } + ret =3D ((uint8_t *)(&sd_tunning_data))[sd->data_offset++]; + break; + case 22: /* ACMD22: SEND_NUM_WR_BLOCKS */ ret =3D sd->data[sd->data_offset ++]; =20 --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516678931080847.306668714715; Mon, 22 Jan 2018 19:42:11 -0800 (PST) Received: from localhost ([::1]:59572 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpTO-0004CA-CN for importer@patchew.org; Mon, 22 Jan 2018 22:42:10 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37923) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpJ5-0003lG-JP for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpJ4-0008I6-Ko for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:31 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:33833) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpJ4-0008Ho-Gx for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:30 -0500 Received: by mail-qt0-x244.google.com with SMTP id a27so13312153qtd.1 for ; Mon, 22 Jan 2018 19:31:30 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.31.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:31:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GgOUae1uFOdKNY3IbaMEUJ1mK9BqJuiRoPyAGRybCsQ=; b=HPDIbkIprCN+iXh+vVzQBMTIsCNhg1TO0tLPJ81osZXE2e5KGt7vdZi2McM4O1v0jI v5CKabxUc8XFGnGb5wKg0+Z8VgURJ5LKLpT6qIWqUT6egbG4oV4qR8HQsvBsJ8KJxWhY 3vKfVmgTkWZN7T0bWurycLvySx6f4z1Ix/AJKSIy9xVAAN3baw3jh1hPASzl9GUYB84t zfNL0LLwapweS1/uvM/rkHKiHXwyWgVTFkW6F/FM6pKTS2idV4ScbspAkiedkl/JOSj7 B1wCqV+jR69arShwQq7r72RTzRKMScKlFXeOsswFoeYxk+9BRSqmLQSkikZVXrixM3VW Y1SA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=GgOUae1uFOdKNY3IbaMEUJ1mK9BqJuiRoPyAGRybCsQ=; b=I4x5IJlo5zqtG1eNT4OvX9hywhCSvmZkLt3hAT7afp9HpP4cYNbscIV8md/SE0y4ut /40Ea1siHq3k2pw8VMQyrKO0hKYgZQ0cmJI9oIxLznbr8EJpvCsWEuTA9RAVq8qw15r6 fDI9FHHEr1c5ieoTz8ZUa0iXPFA9RjRceSgGkAe6jOzZX7WPyW+eQ0PoEb4qx5hVhu6m qk0H6hqNf3AFyaUsSwOInl5JhZz5vTSPT2ecsEVEMsC1HipQciWdN7groCDsKD6P/YNJ GkAl2cz0JdyndrCZSLUxb2FGHCcJsi3X2Bo79UMSWeB62xEfr4bbpXYxNnbpVN0bvX7U 7GRg== X-Gm-Message-State: AKwxyteXiCL75pjwkU+KzHSvZ08ulh1wbSucbAjw9tYdCSBrTNN3Wcv/ 83QfeMqFG7gvGZsSz6v9xDo= X-Google-Smtp-Source: AH8x227AX7so5+VvKjS/Xl4P/EeRP/DEnN3vlTNZotZxUrbmr9Gau8+jcLG4zV5CzzdpNKugMxfTgQ== X-Received: by 10.200.1.82 with SMTP id f18mr1733124qtg.51.1516678290086; Mon, 22 Jan 2018 19:31:30 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:32 -0300 Message-Id: <20180123033034.29493-17-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v3 16/18] sdcard: add a 'uhs' property, update the OCR register ACCEPT_SWITCH_1V8 bit X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 27176ba33e..b3b6859bc4 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -93,6 +93,7 @@ struct SDState { /* Configurable properties */ BlockBackend *blk; bool spi; + uint8_t uhs_supported; =20 uint32_t mode; /* current card mode, one of SDCardModes */ int32_t state; /* current card state, one of SDCardStates */ @@ -289,6 +290,8 @@ static void sd_reset_ocr(SDState *sd) { /* All voltages OK */ sd->ocr =3D R_OCR_VDD_VOLTAGE_WIN_HI_MASK; + + sd->ocr =3D FIELD_DP32(sd->ocr, OCR, ACCEPT_SWITCH_1V8, !!sd->uhs_supp= orted); } =20 static void sd_ocr_powerup(void *opaque) @@ -2107,6 +2110,7 @@ static Property sd_properties[] =3D { * board to ensure that ssi transfers only occur when the chip select * is asserted. */ DEFINE_PROP_BOOL("spi", SDState, spi, false), + DEFINE_PROP_UINT8("uhs", SDState, uhs_supported, UHS_NOT_SUPPORTED), DEFINE_PROP_END_OF_LIST() }; =20 --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516679225286286.0999014593365; Mon, 22 Jan 2018 19:47:05 -0800 (PST) Received: from localhost ([::1]:60157 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpY3-00087J-52 for importer@patchew.org; Mon, 22 Jan 2018 22:46:59 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37946) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpJ9-0003oo-95 for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpJ8-0008Ku-1x for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:35 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:39821) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpJ7-0008Kf-SD for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:33 -0500 Received: by mail-qt0-x243.google.com with SMTP id f4so26485523qtj.6 for ; Mon, 22 Jan 2018 19:31:33 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.31.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:31:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=T8gn24HY8q8q1LswSc7jncRZqWmz1Mk0tP3MG1goWM4=; b=JZFbzTiLXcqOldLdEYwITG+YkmPVv2pq8z4Br5H3zZv5HGafL+W4PZvH0Co/eaIOxh rB+TM4tAB7E0cKeR/x/DUSlmib21WVF5awIeKE2pg5XVwGPPS1oJWrSjah504Ur2g2Xi nFP6536vp4oPS+MDIcr5v+vmXunMhfg9oCNOCi9FujRGB573X8R7S6OemaesVArWygvF KnYmqHPmH1evHCluej6/mHJeoiIq1TJKt97fYWHzNiah2omPIanx+rRe7zb513Z2djb5 /WjYKolxTHyQZsguu2QFjDzowl17RE6ZthX3iOs4R9oyTmCncwReJUR6eyUIa04YAY+9 QMrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=T8gn24HY8q8q1LswSc7jncRZqWmz1Mk0tP3MG1goWM4=; b=eNwYVc569lSbgXu11hwHmH50h8ajlXJC1KHWbdZjte2c+ERW7iV03ywWV+D7TgoZOi NHlTkVx4tktFmjCdHc1n1nhGXkX+0Lsj+Jlmepj/sDVVZY++ZsRoCHqr3WOHicGkYFTG 3J1JMFhGp1NJbxvtcXed+8pOU4j9NJeYRwLyLWV9WiXZ18WeMDpuK3eqfUiRtMOfovSR wB0AithCVLrId8k+dZvdm1HWX/vahXMas/wk+IYnn5nyUSMtB3WPgo7tGeAfeoex+O1t sVGD8T2Gr4actdeVMd57e/22RNPNgcOE44vV4NpVWChD7jAidkPV1XjZGUiHxoHeMIht QH6Q== X-Gm-Message-State: AKwxytffUq6FV3vrCKoc5IbOAPVZ5+nEINFKOhhduLIR0AdeItJmsbZy KHpy7MeR5T5xEQidsohWoMQ= X-Google-Smtp-Source: AH8x225YHTLkEZ8+J5ibloKhM4fRF1j8lat/5YAI8iG8aD3nKEy4IrV14dWbR4Nzfo+SO+ududFavA== X-Received: by 10.55.178.66 with SMTP id b63mr1648910qkf.246.1516678293308; Mon, 22 Jan 2018 19:31:33 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:33 -0300 Message-Id: <20180123033034.29493-18-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH v3 17/18] sdcard: implement the UHS-I SWITCH_FUNCTION entries (Spec v3) X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 [based on a patch from Alistair Francis from qemu/xilinx tag xilinx-v2015.2] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 148 +++++++++++++++++++++++++++++++++++++++++++++----= ---- hw/sd/trace-events | 1 + 2 files changed, 127 insertions(+), 22 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index b3b6859bc4..1f6c4ce2a4 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -125,6 +125,7 @@ struct SDState { bool enable; uint8_t dat_lines; bool cmd_line; + bool uhs_enabled; }; =20 static const char *sd_state_name(enum SDCardStates state) @@ -569,6 +570,7 @@ static void sd_reset(DeviceState *dev) sd->expecting_acmd =3D false; sd->dat_lines =3D 0xf; sd->cmd_line =3D true; + sd->uhs_enabled =3D false; sd->multi_blk_cnt =3D 0; } =20 @@ -767,30 +769,132 @@ static uint32_t sd_wpbits(SDState *sd, uint64_t addr) return ret; } =20 +/* Function Group */ +enum { + SD_FG_MIN =3D 1, + SD_FG_ACCESS_MODE =3D 1, + SD_FG_COMMAND_SYSTEM =3D 2, + SD_FG_DRIVER_STRENGTH =3D 3, + SD_FG_CURRENT_LIMIT =3D 4, + SD_FG_RSVD_5 =3D 5, + SD_FG_RSVD_6 =3D 6, + SD_FG_COUNT +}; + +/* Function name */ +#define SD_FN_COUNT 16 + +static const char *sd_fn_grp_name[SD_FG_COUNT] =3D { + [SD_FG_ACCESS_MODE] =3D "ACCESS_MODE", + [SD_FG_COMMAND_SYSTEM] =3D "COMMAND_SYSTEM", + [SD_FG_DRIVER_STRENGTH] =3D "DRIVER_STRENGTH", + [SD_FG_CURRENT_LIMIT] =3D "CURRENT_LIMIT", + [SD_FG_RSVD_5] =3D "RSVD5", + [SD_FG_RSVD_6] =3D "RSVD6", +}; + +typedef struct sd_fn_support { + const char *name; + bool uhs_only; + bool unimp; +} sd_fn_support; + +static const sd_fn_support *sd_fn_support_defs[SD_FG_COUNT] =3D { + [SD_FG_ACCESS_MODE] =3D (sd_fn_support [SD_FN_COUNT]) { + [0] =3D { .name =3D "default/SDR12" }, + [1] =3D { .name =3D "high-speed/SDR25" }, + [2] =3D { .name =3D "SDR50", .uhs_only =3D true }, + [3] =3D { .name =3D "SDR104", .uhs_only =3D true }, + [4] =3D { .name =3D "DDR50", .uhs_only =3D true }, + }, + [SD_FG_COMMAND_SYSTEM] =3D (sd_fn_support [SD_FN_COUNT]) { + [0] =3D { .name =3D "default" }, + [1] =3D { .name =3D "For eC" }, + [3] =3D { .name =3D "OTP", .unimp =3D true }, + [4] =3D { .name =3D "ASSD", .unimp =3D true }, + }, + [SD_FG_DRIVER_STRENGTH] =3D (sd_fn_support [SD_FN_COUNT]) { + [0] =3D { .name =3D "default/Type B" }, + [1] =3D { .name =3D "Type A", .uhs_only =3D true }, + [2] =3D { .name =3D "Type C", .uhs_only =3D true }, + [3] =3D { .name =3D "Type D", .uhs_only =3D true }, + }, + [SD_FG_CURRENT_LIMIT] =3D (sd_fn_support [SD_FN_COUNT]) { + [0] =3D { .name =3D "default/200mA" }, + [1] =3D { .name =3D "400mA", .uhs_only =3D true }, + [2] =3D { .name =3D "600mA", .uhs_only =3D true }, + [3] =3D { .name =3D "800mA", .uhs_only =3D true }, + }, + [SD_FG_RSVD_5] =3D (sd_fn_support [SD_FN_COUNT]) { + [0] =3D { .name =3D "default" }, + }, + [SD_FG_RSVD_6] =3D (sd_fn_support [SD_FN_COUNT]) { + [0] =3D { .name =3D "default" }, + }, +}; + +#define SD_FN_NO_INFLUENCE (1 << 15) + static void sd_function_switch(SDState *sd, uint32_t arg) { - int i, mode, new_func; - mode =3D !!(arg & 0x80000000); - - sd->data[0] =3D 0x00; /* Maximum current consumption */ - sd->data[1] =3D 0x01; - sd->data[2] =3D 0x80; /* Supported group 6 functions */ - sd->data[3] =3D 0x01; - sd->data[4] =3D 0x80; /* Supported group 5 functions */ - sd->data[5] =3D 0x01; - sd->data[6] =3D 0x80; /* Supported group 4 functions */ - sd->data[7] =3D 0x01; - sd->data[8] =3D 0x80; /* Supported group 3 functions */ - sd->data[9] =3D 0x01; - sd->data[10] =3D 0x80; /* Supported group 2 functions */ - sd->data[11] =3D 0x43; - sd->data[12] =3D 0x80; /* Supported group 1 functions */ - sd->data[13] =3D 0x03; - for (i =3D 0; i < 6; i ++) { - new_func =3D (arg >> (i * 4)) & 0x0f; - if (mode && new_func !=3D 0x0f) - sd->function_group[i] =3D new_func; - sd->data[14 + (i >> 1)] =3D new_func << ((i * 4) & 4); + int fn_grp, new_func, i; + uint8_t *data_p; + bool mode =3D extract32(arg, 31, 1); /* 0: check only, 1: do switch */ + + stw_be_p(sd->data + 0, 0x0001); /* Maximum current consumption */ + + data_p =3D &sd->data[2]; + for (fn_grp =3D SD_FG_COUNT - 1; fn_grp >=3D SD_FG_MIN; fn_grp--) { + uint16_t supported_fns =3D SD_FN_NO_INFLUENCE; + for (i =3D 0; i < SD_FN_COUNT; ++i) { + const sd_fn_support *def =3D &sd_fn_support_defs[fn_grp][i]; + + if (def->name && !def->unimp && + !(def->uhs_only && !sd->uhs_enabled)) { + supported_fns |=3D 1 << i; + } + } + stw_be_p(data_p, supported_fns); + data_p +=3D 2; + } + + assert(data_p =3D=3D &sd->data[14]); + for (fn_grp =3D SD_FG_COUNT - 1; fn_grp >=3D SD_FG_MIN; fn_grp--) { + new_func =3D (arg >> ((fn_grp - 1) * 4)) & 0x0f; + if (new_func =3D=3D 0xf) { + new_func =3D sd->function_group[fn_grp - 1]; + } else { + const sd_fn_support *def =3D &sd_fn_support_defs[fn_grp][new_f= unc]; + if (mode) { + if (!def->name) { + qemu_log_mask(LOG_GUEST_ERROR, + "Function %d not a valid for " + "function group %d\n", + new_func, fn_grp); + new_func =3D 0xf; + } else if (def->unimp) { + qemu_log_mask(LOG_UNIMP, + "Function %s (fn grp %d) not implemented= \n", + def->name, fn_grp); + new_func =3D 0xf; + } else if (def->uhs_only && !sd->uhs_enabled) { + qemu_log_mask(LOG_GUEST_ERROR, + "Function %s (fn grp %d) only " + "valid in UHS mode\n", + def->name, fn_grp); + new_func =3D 0xf; + } else { + sd->function_group[fn_grp - 1] =3D new_func; + } + } + trace_sdcard_function_select(def->name, sd_fn_grp_name[fn_grp], + mode); + } + if (!(fn_grp & 0x1)) { /* evens go in high nibble */ + *data_p =3D new_func << 4; + } else { /* odds go in low nibble */ + *(data_p++) |=3D new_func; + } } memset(&sd->data[17], 0, 47); stw_be_p(sd->data + 65, sd_crc16(sd->data, 64)); diff --git a/hw/sd/trace-events b/hw/sd/trace-events index 2059ace61f..c106541a47 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -42,6 +42,7 @@ sdcard_write_block(uint64_t addr, uint32_t len) "addr 0x%= " PRIx64 " size 0x%x" sdcard_write_data(const char *proto, const char *cmd_desc, uint8_t cmd, ui= nt8_t value) "%s %20s/ CMD%02d value 0x%02x" sdcard_read_data(const char *proto, const char *cmd_desc, uint8_t cmd, int= length) "%s %20s/ CMD%02d len %d" sdcard_set_voltage(uint16_t millivolts) "%u mV" +sdcard_function_select(const char *fn_name, const char *grp_name, bool do_= switch) "Function %s (group: %s, sw: %u)" =20 # hw/sd/milkymist-memcard.c milkymist_memcard_memory_read(uint32_t addr, uint32_t value) "addr 0x%08x = value 0x%08x" --=20 2.15.1 From nobody Tue May 7 18:41:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 151667889859464.33548133906606; Mon, 22 Jan 2018 19:41:38 -0800 (PST) Received: from localhost ([::1]:59570 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpSr-0003hA-Sg for importer@patchew.org; Mon, 22 Jan 2018 22:41:37 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37982) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edpJE-0003rh-2L for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edpJA-0008Ms-Vn for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:40 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:39822) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edpJA-0008Mf-Rk for qemu-devel@nongnu.org; Mon, 22 Jan 2018 22:31:36 -0500 Received: by mail-qt0-x244.google.com with SMTP id f4so26485693qtj.6 for ; Mon, 22 Jan 2018 19:31:36 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id w8sm3848586qka.2.2018.01.22.19.31.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 19:31:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8kKE5W2y9eh7P8BKQRLlvpikcjlMTwD1MULwVSg0TME=; b=Fd772Gb5KeE4uXe4tSolemjhXpvpe8wThTzflBZgPSwU/ddDQhtYIrobs6ReAxKh94 Q+VoyddnRvRd7WfF5O20PYaGruJHQafTF91WqTKPjuOgvzfawWm8G9T8vL0s0zr2VPFq OmiJbf2oRco/GExWGSR04OGrtvjHvSr0/JLzss/6KAp7P3t2wXxJeuu7cy8TJmhUM8DJ Y7a4ymlOxGa7R2orklHcKoH7aPOUf31A53bXTavH91Auvur+KHcy01XnGOxZAWhBjZAE EHsAo/ZHvAp6QKYmMPyVgzRsUWQjWZRxdX4niJ8dm/LuiKw2xr3/zGfmQjEuB7hE9tDv pO6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=8kKE5W2y9eh7P8BKQRLlvpikcjlMTwD1MULwVSg0TME=; b=mqTsThaHQ55zsCiDVc1RANKMj9ZK8JKbOccGOJwK4oYnGIBfjGKGOiJx8Ch4K1bR2s H2TpRIsG+O4CLVhDvjFMcA1UTPibuCcj7HwXdivxVI+o3G99CUYrGjiob4MKFImSKJ+b tRiXfV2qGt51aUPeqGOSugWxyIV/Ol7WVLHxWln1vUQXGZHKQbYUfPRQkwJHqW9OCRmY 0gW+JV6uvPHKmSQW080nVu0twb71T8S/nif7Bso5EyXbGz14aeYeAPaVKaMkbcuggOKm TmYZvGtqjhv7C3GIhpKcaf3rx4Ne9aThO45F3uh2V3sCpiwPsigDN15GWGqn0t7vJ81/ KiHQ== X-Gm-Message-State: AKwxytfhHCi2R5sYRemrv9FNWP6tCjmNEgJrWLxlg19uaovQx7pBkL2z L3vxVfke9H6y3OQi5ciuzRI= X-Google-Smtp-Source: AH8x225nrOgyrfw6UdRBNbLxj9gQ3JSTpr9jCPKwHof/CMP2tNOEqRSkSw1J9/+eB91SkeJ+EMiufg== X-Received: by 10.55.203.85 with SMTP id d82mr1646587qkj.286.1516678296417; Mon, 22 Jan 2018 19:31:36 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Tue, 23 Jan 2018 00:30:34 -0300 Message-Id: <20180123033034.29493-19-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180123033034.29493-1-f4bug@amsat.org> References: <20180123033034.29493-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v3 18/18] sdcard: add an enum for the SD PHY Spec version X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 So far this device intends to model the Spec v1.10 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 1f6c4ce2a4..9880a5d090 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -47,6 +47,11 @@ =20 //#define DEBUG_SD 1 =20 +typedef enum { + SD_PHY_SPEC_VER_1_10 =3D 110, + SD_PHY_SPEC_VER_2_00 =3D 200, /* not yet supported */ +} sd_phy_spec_ver_t; + typedef enum { sd_r0 =3D 0, /* no response */ sd_r1, /* normal response command */ @@ -122,6 +127,7 @@ struct SDState { qemu_irq inserted_cb; QEMUTimer *ocr_power_timer; const char *proto_name; + int spec_version; bool enable; uint8_t dat_lines; bool cmd_line; @@ -2191,6 +2197,7 @@ static void sd_realize(DeviceState *dev, Error **errp) int ret; =20 sd->proto_name =3D sd->spi ? "SPI" : "SD"; + sd->spec_version =3D SD_PHY_SPEC_VER_1_10; =20 if (sd->blk && blk_is_read_only(sd->blk)) { error_setg(errp, "Cannot use read-only drive as SD card"); --=20 2.15.1