From nobody Mon May 6 19:08:37 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 1513307914761859.0787017948892; Thu, 14 Dec 2017 19:18:34 -0800 (PST) Received: from localhost ([::1]:43952 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgVu-0006uC-Eh for importer@patchew.org; Thu, 14 Dec 2017 22:18:18 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53456) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgTo-0005U7-3R for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgTn-0000gC-2j for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:08 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:41070) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgTm-0000fy-Tv; Thu, 14 Dec 2017 22:16:06 -0500 Received: by mail-qk0-x242.google.com with SMTP id r184so1157761qke.8; Thu, 14 Dec 2017 19:16:06 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.16.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:16: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=kKcbw0KUGCls87IUzcd7cjWqwoZDu2LOJa90opkzhDE=; b=ZEreRIteO5gwZwX390ZujViHYKRUc01UAc3LCHLQcHEyIVzzABo8brR/v2Vi9peZX8 kYBNLsEn8Xs2jqr09b33pvn4snw2GjZiJgkPY8W3mRvNeoL3yiwD/2mjavnSY7a878qY ixiPZIyVIyX6ddbgPtq4OLEuDMMIxKTH2COZAqGAfZPNo1Ht8ovQEJG3B71pZgRP/crW YRz3mYxl1IfwgpYaPyo7s8DwYw1teiQJ/V8WxpSAh+EWKzCx+dM8DF0DjMFDh8J7yKaR LKJoTDCevTzD7Hm/CrvjepUY/NqcHWi1qTtaKPMy9W2UwyAI2UI+xQ7K0EfhdgwwEzED Mh/A== 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=kKcbw0KUGCls87IUzcd7cjWqwoZDu2LOJa90opkzhDE=; b=Qs6hyMuagDt+DOH2C65awMq37U4biMMW7dXDxoYe5IYOMu/t851Lzr7Y3JF34MA/gy whtG8lGtyuqczq6JL1D2unW5U1uVc07EbK/GaZnXY6zjXw9TZus1mOEr099ocnCjx6is IatimKn3QYt6YngmEm4wt4k5J5a3oPJws8ukpfXsTr3jLhG991JEpfs7ZmJ8rCdwMZSk y+HP0eOts22pCRqTqbTMFUD+JhKblP2Z64cq4quja6PkF6jbCW6699nJJpdLx9uadDaa +qufWK1nqbOZAn4O7L9Z63ehvMGZbiDhn96TPevn2MJEMZiiAN90s8gJBT2381lE8BvV KVQQ== X-Gm-Message-State: AKGB3mIMWgRPFEn/2fBUfT9ElpERRlHvFQwzjT11KinoxmCyHFVpRa4f ediih6lNcF3gm8Rjp3xo2UI= X-Google-Smtp-Source: ACJfBovB85H9pGqLbUqJOc0l+icgD8FESgqhc9l6yMIv0ug07/FwUuheM1FdqG9BGfkO7aBvWxno0w== X-Received: by 10.55.56.135 with SMTP id f129mr19499318qka.350.1513307766435; Thu, 14 Dec 2017 19:16:06 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:28 -0300 Message-Id: <20171215031547.31006-2-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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:c09::242 Subject: [Qemu-devel] [PATCH v2 01/20] sdhci: clean up includes 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@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/sdhci-internal.h | 4 ---- include/hw/sd/sdhci.h | 4 +++- hw/sd/sdhci.c | 1 + 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h index 161177cf39..248fd027f9 100644 --- a/hw/sd/sdhci-internal.h +++ b/hw/sd/sdhci-internal.h @@ -24,8 +24,6 @@ #ifndef SDHCI_INTERNAL_H #define SDHCI_INTERNAL_H =20 -#include "hw/sd/sdhci.h" - /* R/W SDMA System Address register 0x0 */ #define SDHC_SYSAD 0x00 =20 @@ -227,6 +225,4 @@ enum { sdhc_gap_write =3D 2 /* SDHC stopped at block gap during write oper= ation */ }; =20 -extern const VMStateDescription sdhci_vmstate; - #endif diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 0f0c3f1e64..1b6a98d578 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -26,17 +26,19 @@ #define SDHCI_H =20 #include "qemu-common.h" -#include "hw/block/block.h" #include "hw/pci/pci.h" #include "hw/sysbus.h" #include "hw/sd/sd.h" =20 /* SD/MMC host controller state */ typedef struct SDHCIState { + /*< private >*/ union { PCIDevice pcidev; SysBusDevice busdev; }; + + /*< public >*/ SDBus sdbus; MemoryRegion iomem; =20 diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index b064a087c9..b7d2a20985 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -29,6 +29,7 @@ #include "sysemu/dma.h" #include "qemu/timer.h" #include "qemu/bitops.h" +#include "hw/sd/sdhci.h" #include "sdhci-internal.h" #include "qemu/log.h" =20 --=20 2.15.1 From nobody Mon May 6 19:08:37 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 1513308071697611.7317182658135; Thu, 14 Dec 2017 19:21:11 -0800 (PST) Received: from localhost ([::1]:43974 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgYd-0000vc-QD for importer@patchew.org; Thu, 14 Dec 2017 22:21:07 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53511) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgTu-0005ZR-Qv for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgTr-0000k5-M4 for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:14 -0500 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:45811) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgTr-0000jh-HY; Thu, 14 Dec 2017 22:16:11 -0500 Received: by mail-qt0-x242.google.com with SMTP id g10so10522005qtj.12; Thu, 14 Dec 2017 19:16:11 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.16.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:16:10 -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=rnBBtaCu7CpYvlb66OM09K3kE8oHqz9H4CESxgFEEA8=; b=vSrKPVE0uHR8CnTxJu9Flvx5t3Di+Pd1zQ2iYsBGUNzwsUHkmFVWAYppRfcS7oRw6X /kVfFODqT3r//3xjkjXdFHvjJ2VTJ43NyT0MGJu3QhqIgHIIw/5kIJEvYdftyRM7zJRI iZDYJLoW3Ax2RzRdaBBx7UBWdNKeGgGG1l2NpORGaugZrDEM0Rr6SrovSkkNiZd0nun9 Q1bCTBRqYTQheTHc+mRtwQ5XNun2Ea0GIZB6hYriWytOSfaXlDvG98NwHv1FvCE4El/O q/41whWwg+kvH9iQLFAi0h171vTorOWaw5si5dvFdXBlzLIro0TekaO0VGujaEJfjyZM U0Ig== 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=rnBBtaCu7CpYvlb66OM09K3kE8oHqz9H4CESxgFEEA8=; b=Fqxsq51W6GqcbnVh5o92B0v6FNWdUFBnwXF3FEZk73pVipWQrpy9HTZxt0e1lku2/N 1xNWZhEmuB3rQyVV8XnBBKiagjZhbq7qYtYlkAdlz3yofcWxy29MFKV+9Zlujg3vMUTz siaLuYLiE5yMRPpJb5NGWOAbao05NBDH86BImwJERnxu259sxyoUJQov463tOzZB20p4 lPFfb5YmAmXV0FQAVbCqnWpvnxgVr9oqFMUBekW79ldgJ+u7vk5PJ2FZ3HWaKrZCUFpO 2Yv8njKwLi4Hs3YmanVWKuIfRWVkUhIqaPYbhvj3eNrro71cxlL9KKS1GJzbAyLOjeQ7 Hqug== X-Gm-Message-State: AKGB3mJvOMVFC1L+WzD8jnTuic12HaSl9/XE8z0pL+olK9tCoSPsuILz k9rRdNaPi0UK/Pi6dHLOHtA= X-Google-Smtp-Source: ACJfBoslw1rSDffoz1ytStaFLKBA9Mul5hKKtRvpU1rzXTUlNCEV4pbA9/LRt9kiobrY3iy2mnpklg== X-Received: by 10.200.56.72 with SMTP id r8mr20784032qtb.203.1513307771064; Thu, 14 Dec 2017 19:16:11 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:29 -0300 Message-Id: <20171215031547.31006-3-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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 v2 02/20] sdhci: use deposit64() 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@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 makes the code slightly safer, also easier to review. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sdhci.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index b7d2a20985..3c78033d49 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1132,12 +1132,10 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t v= al, unsigned size) MASKED_WRITE(s->admaerr, mask, value); break; case SDHC_ADMASYSADDR: - s->admasysaddr =3D (s->admasysaddr & (0xFFFFFFFF00000000ULL | - (uint64_t)mask)) | (uint64_t)value; + s->admasysaddr =3D deposit64(s->admasysaddr, 0, 32, value); break; case SDHC_ADMASYSADDR + 4: - s->admasysaddr =3D (s->admasysaddr & (0x00000000FFFFFFFFULL | - ((uint64_t)mask << 32))) | ((uint64_t)value << 32); + s->admasysaddr =3D deposit64(s->admasysaddr, 32, 32, value); break; case SDHC_FEAER: s->acmd12errsts |=3D value; --=20 2.15.1 From nobody Mon May 6 19:08:37 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 1513307916486903.1322866947523; Thu, 14 Dec 2017 19:18:36 -0800 (PST) Received: from localhost ([::1]:43953 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgW5-00075A-ST for importer@patchew.org; Thu, 14 Dec 2017 22:18:29 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53531) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgTx-0005Zq-0V for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgTw-0000nK-7l for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:16 -0500 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:40335) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgTw-0000mv-37; Thu, 14 Dec 2017 22:16:16 -0500 Received: by mail-qt0-x241.google.com with SMTP id u42so10552954qte.7; Thu, 14 Dec 2017 19:16:16 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.16.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:16: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=k9V7DZlLtjZLYfHSvJMsBdEHnLqY/grjzM4ch8uc2I8=; b=OP5FiS6S/YzI6zeO+vXceeRmfeDfxR03j1USqUNe+UHICpmrFUCNTt5FcTsu59OX0y hnhnAQ8WV54a8mPUkDLiXHg08hgpAbvQneLgp+AHyhVsnAtEvgtWAAuDjOovDjRW+eEO hoKyQ/m3M+qkVNHTDALY6RaPpqpjYS8qAPXkqtryE+wghDxLRvRmAarJpvn5yzkIC6oF iPN2FAfAsht4Kb9lVQFvDyfMVZ2wxbEIArOgidNkm+S0/+Iv2UNF2PPt0eXu1/4HIJHp XmuRklXY5YsUUTJRNuolFZm4ey5AAdxuSKHoYSXv1915uZjJeBPxwtVdTdaVTuokovxy 5Odg== 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=k9V7DZlLtjZLYfHSvJMsBdEHnLqY/grjzM4ch8uc2I8=; b=pvZzqhQRmxjr/QLFBN8esNGpBIjr6JRRD6safAFYr+UZUMp2Wpl6SmQPIFNtxHqI3j hRKbcBjseRq2ygtk6nk+bWbmR02gxP4C5a7iapz2KrLWINhZfflx5/tvXBsTmoB4FER4 dweW1bHkKzqUApCCnsusLFjoxDQRJCuyH4tvLqKfQqNsdqCQ0HlqgEXJjupM3+yjHfZ8 nEdobtVIZcknMom1X5WHyKJdgq5bW+f9HrbOp1nJhkFy8Z3Rw2B28sK0RaqenF53Qv+3 qbMCHbqgjLrs7ELhZcODi/HatfhpN/X5t4iG5odqtyHLD3AvuGQ0YEmX7nXrgB4lEqD7 ssgw== X-Gm-Message-State: AKGB3mKhOVawSYxs7ZCM77SZnmDATf2Zmw4PHF1vWm/uFeTO6TNsrzi5 2iA/MZODkNG78Q6PXxbPVQM= X-Google-Smtp-Source: ACJfBovCIgRmleTJwHTcBelPurr/YfuA28CsA6uYaQenanpA01sSQPu/bICv5VD1obUFwBQfyEKiSA== X-Received: by 10.200.25.47 with SMTP id t44mr20093309qtj.323.1513307775614; Thu, 14 Dec 2017 19:16:15 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:30 -0300 Message-Id: <20171215031547.31006-4-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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 v2 03/20] sdhci: move MASK_TRNMOD with other SDHC_TRN* defines in "sd-internal.h" 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@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/sdhci-internal.h | 1 + hw/sd/sdhci.c | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h index 248fd027f9..e941bc2386 100644 --- a/hw/sd/sdhci-internal.h +++ b/hw/sd/sdhci-internal.h @@ -43,6 +43,7 @@ #define SDHC_TRNS_ACMD12 0x0004 #define SDHC_TRNS_READ 0x0010 #define SDHC_TRNS_MULTI 0x0020 +#define SDHC_TRNMOD_MASK 0x0037 =20 /* R/W Command Register 0x0 */ #define SDHC_CMDREG 0x0E diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 3c78033d49..2823da00da 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -120,7 +120,6 @@ (SDHC_CAPAB_BASECLKFREQ << 8) | (SDHC_CAPAB_TOUNIT << 7) | \ (SDHC_CAPAB_TOCLKFREQ)) =20 -#define MASK_TRNMOD 0x0037 #define MASKED_WRITE(reg, mask, val) (reg =3D (reg & (mask)) | (val)) =20 static uint8_t sdhci_slotint(SDHCIState *s) @@ -1052,7 +1051,7 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val= , unsigned size) if (!(s->capareg & SDHC_CAN_DO_DMA)) { value &=3D ~SDHC_TRNS_DMA; } - MASKED_WRITE(s->trnmod, mask, value & MASK_TRNMOD); + MASKED_WRITE(s->trnmod, mask, value & SDHC_TRNMOD_MASK); MASKED_WRITE(s->cmdreg, mask >> 16, value >> 16); =20 /* Writing to the upper byte of CMDREG triggers SD command generat= ion */ --=20 2.15.1 From nobody Mon May 6 19:08:37 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 1513307952561446.04428801328356; Thu, 14 Dec 2017 19:19:12 -0800 (PST) Received: from localhost ([::1]:43954 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgWf-0007WT-Lq for importer@patchew.org; Thu, 14 Dec 2017 22:19:05 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53589) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgU4-0005gL-6g for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgU1-0000rP-22 for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:24 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:43731) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgU0-0000qx-TW; Thu, 14 Dec 2017 22:16:20 -0500 Received: by mail-qk0-x243.google.com with SMTP id j207so8835929qke.10; Thu, 14 Dec 2017 19:16:20 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.16.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:16:19 -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=5pfinWsdwnR1Jc7lTvX1Xe+KRjO8N5jDEN+jgmrkaEU=; b=ct9qKrJcDUJIfcsLynFnxks62wpCm4meFFl/iqOtxPeAtUsuwJhFkSBzccAuf4Wkyn yMh/MHY4cpt9OMeFwmglBTXiSpZBuJeGSUCgbnxc0CSTTv+9mbuDq+qsbpPBZSYsBp53 GRdQ/Aj9ZmEDhFoO/eYrBXXjbnvmzdTPJ2p/LNHDbOeGqV9C8N2y8iggKqEw6gyVf332 yjRvISlWgynsUhOkkGSqW88lmefzAzZD7vNUZ3Yb/0VupynOHid/2G3+IiHfZDXyP1dZ IfIOnVSMEMCOlO13CQwJDeE8vI2NgszmhG2as1oINVjdyXyRUHLyrmAmaFdDG3RcIbD7 Rukg== 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=5pfinWsdwnR1Jc7lTvX1Xe+KRjO8N5jDEN+jgmrkaEU=; b=WQwZFu7rvtTWMwOC+g5YEZcNRL8XwOajZ6jc6eG152uaSQNwJtrCQJ9sGOgnO+HQ1r A2efcTQFxw3BO2ykakYTCq02Y3a4EEdYe0Ol65BrNJgC9eYhGJyoQwxEvQ6eeuddwwdI qd3VZsx/97c9xbX1La1URdtkhWqoJ7IufvRgyE2k6QK52SgCydAVxGyX8riL1BcSNh2a H0naqwY6rvkB6MCRo5gWqVdJSdsWFrwyzcYSlRoVcNZFzyfoX/fzaSLYg9j2NjzAEosC F1Pk5chR8T9DpQm/lTpWwp9/+UjlyvBZWnWeBDWvnrV2fl8djzRqBZ1atJRjKzG/Bu9f 0KQA== X-Gm-Message-State: AKGB3mKQrCkRQYYHrR9daOjCM0ghUlsb9iVrJi2uFIIChnhOzlCY16kS qRk4YK9XAnkMlhUbyIoCGtc= X-Google-Smtp-Source: ACJfBovRlxkbwViTM/nR6/smzOJbdDV27YBCNyFrFf8NMqBPNjW8QFmipVaZ4e0zB03Z0Rk3Mh+Ehg== X-Received: by 10.55.166.82 with SMTP id p79mr19919596qke.302.1513307780433; Thu, 14 Dec 2017 19:16:20 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky , Eduardo Habkost Date: Fri, 15 Dec 2017 00:15:31 -0300 Message-Id: <20171215031547.31006-5-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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:c09::243 Subject: [Qemu-devel] [PATCH v2 04/20] sdhci: refactor same sysbus/pci properties into a common one 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@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 add sysbus/pci/sdbus separator comments to keep it clearer Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sdhci.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 2823da00da..dbdfd54350 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1265,13 +1265,17 @@ const VMStateDescription sdhci_vmstate =3D { =20 /* Capabilities registers provide information on supported features of this * specific host controller implementation */ -static Property sdhci_pci_properties[] =3D { +static Property sdhci_properties[] =3D { DEFINE_PROP_UINT32("capareg", SDHCIState, capareg, SDHC_CAPAB_REG_DEFAULT), DEFINE_PROP_UINT32("maxcurr", SDHCIState, maxcurr, 0), + DEFINE_PROP_BOOL("pending-insert-quirk", SDHCIState, pending_insert_qu= irk, + false), DEFINE_PROP_END_OF_LIST(), }; =20 +/* --- qdev PCI --- */ + static void sdhci_pci_realize(PCIDevice *dev, Error **errp) { SDHCIState *s =3D PCI_SDHCI(dev); @@ -1304,7 +1308,7 @@ static void sdhci_pci_class_init(ObjectClass *klass, = void *data) k->class_id =3D PCI_CLASS_SYSTEM_SDHCI; set_bit(DEVICE_CATEGORY_STORAGE, dc->categories); dc->vmsd =3D &sdhci_vmstate; - dc->props =3D sdhci_pci_properties; + dc->props =3D sdhci_properties; dc->reset =3D sdhci_poweron_reset; } =20 @@ -1319,14 +1323,7 @@ static const TypeInfo sdhci_pci_info =3D { }, }; =20 -static Property sdhci_sysbus_properties[] =3D { - DEFINE_PROP_UINT32("capareg", SDHCIState, capareg, - SDHC_CAPAB_REG_DEFAULT), - DEFINE_PROP_UINT32("maxcurr", SDHCIState, maxcurr, 0), - DEFINE_PROP_BOOL("pending-insert-quirk", SDHCIState, pending_insert_qu= irk, - false), - DEFINE_PROP_END_OF_LIST(), -}; +/* --- qdev SysBus --- */ =20 static void sdhci_sysbus_init(Object *obj) { @@ -1359,7 +1356,7 @@ static void sdhci_sysbus_class_init(ObjectClass *klas= s, void *data) DeviceClass *dc =3D DEVICE_CLASS(klass); =20 dc->vmsd =3D &sdhci_vmstate; - dc->props =3D sdhci_sysbus_properties; + dc->props =3D sdhci_properties; dc->realize =3D sdhci_sysbus_realize; dc->reset =3D sdhci_poweron_reset; } @@ -1373,6 +1370,8 @@ static const TypeInfo sdhci_sysbus_info =3D { .class_init =3D sdhci_sysbus_class_init, }; =20 +/* --- qdev bus master --- */ + static void sdhci_bus_class_init(ObjectClass *klass, void *data) { SDBusClass *sbc =3D SD_BUS_CLASS(klass); --=20 2.15.1 From nobody Mon May 6 19:08:37 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) 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=temperror (zoho.com: Error in retrieving data from DNS) 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 1513308250885902.7129306455356; Thu, 14 Dec 2017 19:24:10 -0800 (PST) Received: from localhost ([::1]:43989 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgbC-0003Tn-U7 for importer@patchew.org; Thu, 14 Dec 2017 22:23:47 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53615) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgU6-0005ie-M5 for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgU5-0000v1-M6 for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:26 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:40598) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgU5-0000uY-Gk; Thu, 14 Dec 2017 22:16:25 -0500 Received: by mail-qk0-x241.google.com with SMTP id b123so8847368qkg.7; Thu, 14 Dec 2017 19:16:25 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.16.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:16:24 -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=Pi56S70/QP5FTX+T+8F/it7D9+WDbcWEgfzEWvyQBTE=; b=Q67cx0JjcXx4yygr0xGQO0fpbvRs1qzFbMZAP/qto8Gi0kOlISXVldlQbwFASbgqmR D8oS+BNg84/Si/Bt1qyt4xvT84pCaMvP7Wb01BsTad2alfmllVyg/xpbmpArmFZikZc2 5bYb4JvHQaHK/SxxQrhLtKro6uuVsAOgnfUcDWhB94Ua15A0Ts7U9fGRl9hTF6rr9Nhm vU/VpjZ+EK1LbE/95ADJVLZKasJtqjDvdJLH3uUT4NnnDPjxBz0WiLFKPwrPHwE6gCC3 caGuq40J8sgI0DmchulvVZ1Y/dSihfBYdOsD/fe33Jh0/l1h+aOjHcRS/h9+z9vfYnRW pozA== 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=Pi56S70/QP5FTX+T+8F/it7D9+WDbcWEgfzEWvyQBTE=; b=hACBhto/1EAD3UxhB270uuI5WGhdjDNpINPmeIaMRAydX/JT+fcTVWGyLMpgnDZ/RH cP1XLOXM+tUdcMkJGEBA0t4f64PbkhEGouHjQsl9W/Nxrjn+NcCcdirjEwopT4HCTqmq +rVuplNJktUt4ZgDO8EsLw5Z0Kk6lRZUJZGlOTNRnvmBI8AmtQW7TLNQBuIJshoD/bwY p2qIp1yamwt4w6xLIyIRiR7fLxzMKiOFBffBZsteh0rGa0NQr+4HRYHhGUE7vd/oOOYp 1k8K0QBSjCg9X8QlKsBhsplcotaaje78I+51dLpDAvZMTgc0D8Bn+FoaccXU44elN/DU RgAw== X-Gm-Message-State: AKGB3mKDMG6x1ZUiLCINTcnlcdKrS74uzmPAGFLOb0KjQyA2Pw0OSDJ7 h3CKh34Bolx3+lUd7cjaSrY= X-Google-Smtp-Source: ACJfBovsLnLkzxJe8pjSrjf+DoTg1zz4aCGL34Va7+Oti4+fPKBkatuSveT57KLK0GDSdRQgRo6uQQ== X-Received: by 10.55.73.87 with SMTP id w84mr19908465qka.215.1513307785026; Thu, 14 Dec 2017 19:16:25 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky , Eduardo Habkost Date: Fri, 15 Dec 2017 00:15:32 -0300 Message-Id: <20171215031547.31006-6-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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:c09::241 Subject: [Qemu-devel] [PATCH v2 05/20] sdhci: refactor common sysbus/pci realize() into sdhci_realizefn() 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@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_6 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sdhci.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index dbdfd54350..fc5bac5cb9 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1191,6 +1191,15 @@ static void sdhci_initfn(SDHCIState *s) s->transfer_timer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, sdhci_data_tran= sfer, s); } =20 +static void sdhci_realizefn(SDHCIState *s, Error **errp) +{ + s->buf_maxsz =3D sdhci_get_fifolen(s); + s->fifo_buffer =3D g_malloc0(s->buf_maxsz); + + memory_region_init_io(&s->iomem, OBJECT(s), &sdhci_mmio_ops, s, "sdhci= ", + SDHC_REGISTERS_MAP_SIZE); +} + static void sdhci_uninitfn(SDHCIState *s) { timer_del(s->insert_timer); @@ -1281,12 +1290,11 @@ static void sdhci_pci_realize(PCIDevice *dev, Error= **errp) SDHCIState *s =3D PCI_SDHCI(dev); dev->config[PCI_CLASS_PROG] =3D 0x01; /* Standard Host supported DMA */ dev->config[PCI_INTERRUPT_PIN] =3D 0x01; /* interrupt pin A */ + sdhci_initfn(s); - s->buf_maxsz =3D sdhci_get_fifolen(s); - s->fifo_buffer =3D g_malloc0(s->buf_maxsz); + sdhci_realizefn(s, errp); + s->irq =3D pci_allocate_irq(dev); - memory_region_init_io(&s->iomem, OBJECT(s), &sdhci_mmio_ops, s, "sdhci= ", - SDHC_REGISTERS_MAP_SIZE); pci_register_bar(dev, 0, 0, &s->iomem); } =20 @@ -1343,11 +1351,9 @@ static void sdhci_sysbus_realize(DeviceState *dev, E= rror ** errp) SDHCIState *s =3D SYSBUS_SDHCI(dev); SysBusDevice *sbd =3D SYS_BUS_DEVICE(dev); =20 - s->buf_maxsz =3D sdhci_get_fifolen(s); - s->fifo_buffer =3D g_malloc0(s->buf_maxsz); + sdhci_realizefn(s, errp); + sysbus_init_irq(sbd, &s->irq); - memory_region_init_io(&s->iomem, OBJECT(s), &sdhci_mmio_ops, s, "sdhci= ", - SDHC_REGISTERS_MAP_SIZE); sysbus_init_mmio(sbd, &s->iomem); } =20 --=20 2.15.1 From nobody Mon May 6 19:08:37 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 1513308084533141.94100556276362; Thu, 14 Dec 2017 19:21:24 -0800 (PST) Received: from localhost ([::1]:43978 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgYn-00013v-Jx for importer@patchew.org; Thu, 14 Dec 2017 22:21:17 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53694) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgUD-0005nM-9i for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgUA-0000ys-57 for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:33 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:43731) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgUA-0000yM-10; Thu, 14 Dec 2017 22:16:30 -0500 Received: by mail-qk0-x241.google.com with SMTP id j207so8836274qke.10; Thu, 14 Dec 2017 19:16:29 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.16.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:16:28 -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=TMwWmdstrcnSudHAvX0LaZgcSc8QP3696KzBEhx1+pY=; b=iI25wkhX3VdnDBWu266vG/ENBNtxTdXzWd850AkhKacm+pmWabGbr5HEF6OhjGWpns wVo+qL2AAcoPrAsYHjONZuHUBumPCBeodSdQgGgdaJRAQPBX6P3qHMdFZXOd11AGddJS NOEwkMUB0ylmN6n41+7T3rTBO+odBhd9HfgVjb0VTQmqFy8vIqPXSJuF3cOflDQQaODf gTDvheKf1i3pdjPgJKU6pUiI9xq193+S3rmCSTnqfBcUdUrPVg8AVx1F+SEkcAMu8fKs ECzOv48COWZr4iI+pUS3o2cRUfckK9SJJvfnz4hBcVTapovdDBf7eUJNbwyRMjBfNFg+ 2eMg== 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=TMwWmdstrcnSudHAvX0LaZgcSc8QP3696KzBEhx1+pY=; b=sFSga5HPhpPU//BXIt346dixZOr5YkNP5h3qryIB7fqa1bb/DjahHYiNiaKa963+p4 rhV9blB5dCEkjgT6ETBbTVM4YwVcJapl0mxC/YYhhvVfRw+xJSeFMIHS4uJPKoudq8Qj vdEesA7uQvSPuss84X8GS3gN/nTaLnv/j9XO97T+XvIyVSsI4I0hTSnaR2gGaD6oBoSi 2siLZhDoVeuPCFj7++c4S59wvMdZLv8tG8FJfQZ8N3tG4zaGW8nhALaw/dnPPhwh4td7 +0D/iJuaWjx5zImnNmtNK3ACEpA+xfhrHHmuv5ZGms/9Z16vIHqfk/e1/cQ3V1L+aNk2 Rn5w== X-Gm-Message-State: AKGB3mLouVk7Xq8Gi45e4/TViMOr0/YlhL5aA7750rq66+C04rsNIuBt otiGbN6EXFwGNs/q4EtnuUM= X-Google-Smtp-Source: ACJfBovblqPUw5rvjWE0lTJ8KX9646CAZI/6D9oi7zxQVg32Qg/bizkdszLElEc2g+FB0TIIjPVkQQ== X-Received: by 10.55.188.6 with SMTP id m6mr19503167qkf.75.1513307789617; Thu, 14 Dec 2017 19:16:29 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky , Eduardo Habkost Date: Fri, 15 Dec 2017 00:15:33 -0300 Message-Id: <20171215031547.31006-7-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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:c09::241 Subject: [Qemu-devel] [PATCH v2 06/20] sdhci: refactor common sysbus/pci class_init() into sdhci_class_init() 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@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/sdhci.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index fc5bac5cb9..f574495b19 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1283,6 +1283,16 @@ static Property sdhci_properties[] =3D { DEFINE_PROP_END_OF_LIST(), }; =20 +static void sdhci_class_init(ObjectClass *klass, void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(klass); + + set_bit(DEVICE_CATEGORY_STORAGE, dc->categories); + dc->vmsd =3D &sdhci_vmstate; + dc->props =3D sdhci_properties; + dc->reset =3D sdhci_poweron_reset; +} + /* --- qdev PCI --- */ =20 static void sdhci_pci_realize(PCIDevice *dev, Error **errp) @@ -1306,7 +1316,6 @@ static void sdhci_pci_exit(PCIDevice *dev) =20 static void sdhci_pci_class_init(ObjectClass *klass, void *data) { - DeviceClass *dc =3D DEVICE_CLASS(klass); PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); =20 k->realize =3D sdhci_pci_realize; @@ -1314,10 +1323,8 @@ static void sdhci_pci_class_init(ObjectClass *klass,= void *data) k->vendor_id =3D PCI_VENDOR_ID_REDHAT; k->device_id =3D PCI_DEVICE_ID_REDHAT_SDHCI; k->class_id =3D PCI_CLASS_SYSTEM_SDHCI; - set_bit(DEVICE_CATEGORY_STORAGE, dc->categories); - dc->vmsd =3D &sdhci_vmstate; - dc->props =3D sdhci_properties; - dc->reset =3D sdhci_poweron_reset; + + sdhci_class_init(klass, data); } =20 static const TypeInfo sdhci_pci_info =3D { @@ -1361,10 +1368,9 @@ static void sdhci_sysbus_class_init(ObjectClass *kla= ss, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 - dc->vmsd =3D &sdhci_vmstate; - dc->props =3D sdhci_properties; dc->realize =3D sdhci_sysbus_realize; - dc->reset =3D sdhci_poweron_reset; + + sdhci_class_init(klass, data); } =20 static const TypeInfo sdhci_sysbus_info =3D { --=20 2.15.1 From nobody Mon May 6 19:08:37 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 1513308085213765.6369296072544; Thu, 14 Dec 2017 19:21:25 -0800 (PST) Received: from localhost ([::1]:43977 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgYm-00012Y-Gh for importer@patchew.org; Thu, 14 Dec 2017 22:21:16 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53733) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgUF-0005pO-EY for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgUE-00012p-Iu for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:35 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:45813) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgUE-00012d-Fj; Thu, 14 Dec 2017 22:16:34 -0500 Received: by mail-qt0-x243.google.com with SMTP id g10so10522734qtj.12; Thu, 14 Dec 2017 19:16:34 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.16.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:16:33 -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=xqkNs8SvOM6gxrPNRzzlQOMZ5mKL3nMo4tkEs8ZRQIE=; b=cTETrXDa2+c1/pJ+ejByGmDdDKn94r/CwKCeEqpkTHUNtRjtzl9/db4Ful7COOJnzb UfDpNHZ80tWAc9wI8a+EoFOYDUcJOiX4VwooLMyla9YPK9V870qM09sI8nHzIhBqLEo1 Beg8DolYxrXtIli+QGEgv9d5clBIXHds6CLDXYghgyIdCM50pEmq+bsl7QQgRUqJXcT8 iXp4qN9tIxTfrtmWfvZVOKOwCu/ozQmWYIs2+SKwdh811kWmzQvjaPLTwbKsiTnhJfqg fnh736mOHV6eFhmeKYLtnp91ENjmE7wsNkb+BF7jEeqxNvfMW9TPLA5N8O+n0/F6grfI Dmzg== 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=xqkNs8SvOM6gxrPNRzzlQOMZ5mKL3nMo4tkEs8ZRQIE=; b=AdBijcKsem/6as8oduxpk2JAvqbq8AogriGy1073mY548VVlkfBIgEcTTTh4B2puZC xY7MaUK1h3QZnJKhvJADpHuCWVtC3Eeftv2P+0hmH8mzAGf01zAp8oi9x2zUdbbqzeMt jAyfF2MaIheAHMPFtIFWA9dbpG35oqsmhejTRo2BONHX0tzrk05mtZVuM9uUgAoauz6j c9yus8xC36Cly6YZwa2bhc76vv33GQooOX8VOKstj3atuqBAQxr7CPWJLJZjrbj002ir evdsY6zCaXhH/aOww0GBD2jtETAh2QGsjR6lgDXtfzEeprURgTJhxtxvA53PPlvLK0VL 6Kcw== X-Gm-Message-State: AKGB3mKXEaB3WLidp2eVT9NvtV7cbePh38jNt24xBQS6qNUcuZHcK74T sqaoQ+lrcqNOKDQjroaLZvI= X-Google-Smtp-Source: ACJfBosKta7ugHvTl3i7hKT3F9QrOg1p9qTWUBo/OhX0HcbBRXtyQrGNQXr312IxDUJbk3qMx42n3A== X-Received: by 10.200.54.43 with SMTP id m40mr19334451qtb.286.1513307794064; Thu, 14 Dec 2017 19:16:34 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:34 -0300 Message-Id: <20171215031547.31006-8-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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 v2 07/20] sdhci: refactor common sysbus/pci unrealize() into sdhci_unrealizefn() 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@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/sdhci.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index f574495b19..53c1f11855 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -31,6 +31,7 @@ #include "qemu/bitops.h" #include "hw/sd/sdhci.h" #include "sdhci-internal.h" +#include "qapi/error.h" #include "qemu/log.h" =20 /* host controller debug messages */ @@ -1200,17 +1201,20 @@ static void sdhci_realizefn(SDHCIState *s, Error **= errp) SDHC_REGISTERS_MAP_SIZE); } =20 +static void sdhci_unrealizefn(SDHCIState *s, Error **errp) +{ + g_free(s->fifo_buffer); +} + static void sdhci_uninitfn(SDHCIState *s) { timer_del(s->insert_timer); timer_free(s->insert_timer); timer_del(s->transfer_timer); timer_free(s->transfer_timer); + qemu_free_irq(s->eject_cb); qemu_free_irq(s->ro_cb); - - g_free(s->fifo_buffer); - s->fifo_buffer =3D NULL; } =20 static bool sdhci_pending_insert_vmstate_needed(void *opaque) @@ -1311,6 +1315,8 @@ static void sdhci_pci_realize(PCIDevice *dev, Error *= *errp) static void sdhci_pci_exit(PCIDevice *dev) { SDHCIState *s =3D PCI_SDHCI(dev); + + sdhci_unrealizefn(s, &error_abort); sdhci_uninitfn(s); } =20 @@ -1364,11 +1370,19 @@ static void sdhci_sysbus_realize(DeviceState *dev, = Error ** errp) sysbus_init_mmio(sbd, &s->iomem); } =20 +static void sdhci_sysbus_unrealize(DeviceState *dev, Error **errp) +{ + SDHCIState *s =3D SYSBUS_SDHCI(dev); + + sdhci_unrealizefn(s, errp); +} + static void sdhci_sysbus_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 dc->realize =3D sdhci_sysbus_realize; + dc->unrealize =3D sdhci_sysbus_unrealize; =20 sdhci_class_init(klass, data); } --=20 2.15.1 From nobody Mon May 6 19:08:37 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) 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=temperror (zoho.com: Error in retrieving data from DNS) 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 1513308250901942.621401738949; Thu, 14 Dec 2017 19:24:10 -0800 (PST) Received: from localhost ([::1]:43993 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgbL-0003cJ-TZ for importer@patchew.org; Thu, 14 Dec 2017 22:23:55 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53779) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgUJ-0005sm-KO for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgUI-00018I-R8 for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:39 -0500 Received: from mail-qk0-x244.google.com ([2607:f8b0:400d:c09::244]:42396) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgUI-00017t-MJ; Thu, 14 Dec 2017 22:16:38 -0500 Received: by mail-qk0-x244.google.com with SMTP id a193so131785qkc.9; Thu, 14 Dec 2017 19:16:38 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.16.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:16:37 -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=cUSSu3Rj98aRB6QbKpeuT03zqU/X3iAO05SFJixMsx0=; b=g90j3cSLzniaGdwNfgoIHxrchQI0Hiig7U6ix8RJ1Mg2HDwZK134U7PMKCnQpRMdxz bGAm1oi3xpveKnhAs9JjN+A6brS3Gjf1m1Tg3aE8dyGCVSRvSie5tdh2vC0G+2SSt6BF W25JA+85ZZYHoJmRP3enJqfJxx5lVTScBZtdivUUYNuWH4t1LVQvEWahYf6r8YhjDYlR HF1OaFhPOjrtv02h58pl+w0RUB11eDuQTRAc4RZf6ry+hilH2tKIyqL0DXwH+h7ovqfR pmWPb54q7quAouT0Vy6WppQ/fl1BjYBTa3t5JB7nk56ednfGruPcJJ9dSyYzcxiiD1dQ qM3A== 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=cUSSu3Rj98aRB6QbKpeuT03zqU/X3iAO05SFJixMsx0=; b=JkG2DUfAWIe4ofoyftcGZhDq3/RcKvvb80/zqrW5BpmP2iDLBe5s4xS2VOJNCrwdeS 8g9voWzjDEkHN3U9+Ha/WDLRPLyLjrp3C4PZ+jHLcYzk51RE39ThrBAHJBtxUgF1f1aU wvyCxNQnLD0wUy71Bx+tqak0TnwbWCT7TxwGYUfOTmA6qxHBbe/3CaJtGPXJyPO8yTdi 2et2vBnn6/gWwxgE53MpFIFjdcIMM+hYjLsYhs4+fx/gAy7/3oEkGuT41D35u0o6VTHE BynUc2WFEMv2Nw2opMteVhs5dzf42kUGUAyskx7sfZPIII6Cg7OfOGYSulFbcZo5I1Ay PLJA== X-Gm-Message-State: AKGB3mJheCQhJy0sPJqSLmE6bVZ8g7oTiX5Knd8AnhrsMXh1ki0Tt8zi /wzbyJigudI8cFJvbf811gI= X-Google-Smtp-Source: ACJfBosCmlSKrt8MHS7Lck2DLmbRre3vvCQvBRLv+tGwCxbWUF6xcNinI1O8JtfF+7wYFjAV3L47HQ== X-Received: by 10.55.166.81 with SMTP id p78mr19355359qke.191.1513307798179; Thu, 14 Dec 2017 19:16:38 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:35 -0300 Message-Id: <20171215031547.31006-9-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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:c09::244 Subject: [Qemu-devel] [PATCH v2 08/20] sdhci: use qemu_log_mask(UNIMP) instead of fprintf() 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@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_6 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sdhci.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 53c1f11855..ca71a70148 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -945,7 +945,8 @@ static uint64_t sdhci_read(void *opaque, hwaddr offset,= unsigned size) ret =3D (SD_HOST_SPECv2_VERS << 16) | sdhci_slotint(s); break; default: - ERRPRINT("bad %ub read: addr[0x%04x]\n", size, (int)offset); + qemu_log_mask(LOG_UNIMP, "SDHC rd_%ub @0x%02" HWADDR_PRIx " " + "not implemented\n", size, offset); break; } =20 @@ -1149,8 +1150,8 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val= , unsigned size) sdhci_update_irq(s); break; default: - ERRPRINT("bad %ub write offset: addr[0x%04x] <- %u(0x%x)\n", - size, (int)offset, value >> shift, value >> shift); + qemu_log_mask(LOG_UNIMP, "SDHC wr_%ub @0x%02" HWADDR_PRIx " <- 0x%= 08x " + "not implemented\n", size, offset, value >> shift); break; } DPRINT_L2("write %ub: addr[0x%04x] <- %u(0x%x)\n", --=20 2.15.1 From nobody Mon May 6 19:08:37 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) 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=temperror (zoho.com: Error in retrieving data from DNS) 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 1513308411535291.3789827212828; Thu, 14 Dec 2017 19:26:51 -0800 (PST) Received: from localhost ([::1]:44016 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgdw-000608-Lh for importer@patchew.org; Thu, 14 Dec 2017 22:26:36 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53830) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgUP-0005wb-GL for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgUN-0001E3-Go for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:45 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:35241) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgUN-0001De-AT; Thu, 14 Dec 2017 22:16:43 -0500 Received: by mail-qk0-x243.google.com with SMTP id c13so8840241qke.2; Thu, 14 Dec 2017 19:16:43 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.16.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:16:42 -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=Ls57E8If77h5+EGITNmDYHQ6y1CEg+Rv1+7G+8wKWzU=; b=BroKnjvoHRAVridsOQ6ibOSm5SIAtxg1V9CEyALikbd6L9e97A8lFtilDHM95Ujtuj EDN+NnWr4tzSwLKe7UMKuUh4Ynr1Ys8ug18JKf7B/ct5N02bz5nxzvaicToWJJtijmnt 9sEiDS2wMsZ96VpL+Mrd2WxxHgDudVEqaIGssm5hlvP66N2SrqTBCuXBf7gd1FkwpNmh nXxTGdhImOhRCQKnlUecdtcSv9BYbtqPwS6lb3V0dAhAapN741L0dOCtnvkN/rvXTALG bNJPu/2PsEOYVRjc7F3pYpU261ojtG3WQre3NZwzTHD68aYAh5UD/3W/+BfWpa6/Ruh6 mkDg== 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=Ls57E8If77h5+EGITNmDYHQ6y1CEg+Rv1+7G+8wKWzU=; b=cgXmEsu7t1MTpyBq0S1qqFQ0zfm9dXGPaz9f+9QAYAkKsPqwOzHBS7AWXeJFxN9czK c4KWSHymquQR56I2uS4jpv/i3Ea3CTjXWvQiSmdVVgb5IJl+gs/5vZZULF8x7Hmhyqha X9JwuvekQSWMIIlNZveRQ1eTJqa5v5AqMOlGkaFtw+Nih8hvrqTCD//nCnaqbeMmvQce jpbAd8QciYnQsQsMHjfT8cnBrVWR3AfBtQHkfUC8hN4ytir5ydP4XTmK+GFwtL5twaJk DTJ/vmvFmOCIIutt9pKkSk+oC55CoaNrTbEhnlXtBmEUMzs49dMYIH2Q5fr+qlgyp8/s tBow== X-Gm-Message-State: AKGB3mLZ8sd6ALmUv5R3rXmmdGjPDsu0/HgyhUjlEBWFwUEgqYyhME/x eA5Up1xTOFPWJ/c4DiXS22o= X-Google-Smtp-Source: ACJfBou/MdYIyD5PpL2GIvx9gLzx1ShNc/MZeX4nsPVANaKNMYCJRqSw0xqGOl1yYZ74ZfccXw4w6Q== X-Received: by 10.55.221.212 with SMTP id u81mr19357290qku.174.1513307802752; Thu, 14 Dec 2017 19:16:42 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:36 -0300 Message-Id: <20171215031547.31006-10-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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:c09::243 Subject: [Qemu-devel] [PATCH v2 09/20] sdhci: convert the DPRINT() calls into trace events 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@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_6 Z_629925259 SPT_0 zero-initialize ADMADescr 'dscr' in sdhci_do_adma() to avoid: hw/sd/sdhci.c: In function =E2=80=98sdhci_do_adma=E2=80=99: hw/sd/sdhci.c:714:29: error: =E2=80=98dscr.addr=E2=80=99 may be used unin= itialized in this function [-Werror=3Dmaybe-uninitialized] trace_sdhci_adma("link", s->admasysaddr); ^ Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Alistair Francis --- hw/sd/sdhci.c | 89 ++++++++++++++++++--------------------------------= ---- hw/sd/trace-events | 14 +++++++++ 2 files changed, 44 insertions(+), 59 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index ca71a70148..ba3afddcf2 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -33,30 +33,7 @@ #include "sdhci-internal.h" #include "qapi/error.h" #include "qemu/log.h" - -/* host controller debug messages */ -#ifndef SDHC_DEBUG -#define SDHC_DEBUG 0 -#endif - -#define DPRINT_L1(fmt, args...) \ - do { \ - if (SDHC_DEBUG) { \ - fprintf(stderr, "QEMU SDHC: " fmt, ## args); \ - } \ - } while (0) -#define DPRINT_L2(fmt, args...) \ - do { \ - if (SDHC_DEBUG > 1) { \ - fprintf(stderr, "QEMU SDHC: " fmt, ## args); \ - } \ - } while (0) -#define ERRPRINT(fmt, args...) \ - do { \ - if (SDHC_DEBUG) { \ - fprintf(stderr, "QEMU SDHC ERROR: " fmt, ## args); \ - } \ - } while (0) +#include "trace.h" =20 #define TYPE_SDHCI_BUS "sdhci-bus" #define SDHCI_BUS(obj) OBJECT_CHECK(SDBus, (obj), TYPE_SDHCI_BUS) @@ -154,8 +131,8 @@ static void sdhci_raise_insertion_irq(void *opaque) static void sdhci_set_inserted(DeviceState *dev, bool level) { SDHCIState *s =3D (SDHCIState *)dev; - DPRINT_L1("Card state changed: %s!\n", level ? "insert" : "eject"); =20 + trace_sdhci_set_inserted(level ? "insert" : "eject"); if ((s->norintsts & SDHC_NIS_REMOVE) && level) { /* Give target some time to notice card ejection */ timer_mod(s->insert_timer, @@ -237,7 +214,8 @@ static void sdhci_send_command(SDHCIState *s) s->acmd12errsts =3D 0; request.cmd =3D s->cmdreg >> 8; request.arg =3D s->argument; - DPRINT_L1("sending CMD%u ARG[0x%08x]\n", request.cmd, request.arg); + + trace_sdhci_send_command(request.cmd, request.arg); rlen =3D sdbus_do_command(&s->sdbus, &request, response); =20 if (s->cmdreg & SDHC_CMD_RESPONSE) { @@ -245,7 +223,7 @@ static void sdhci_send_command(SDHCIState *s) s->rspreg[0] =3D (response[0] << 24) | (response[1] << 16) | (response[2] << 8) | response[3]; s->rspreg[1] =3D s->rspreg[2] =3D s->rspreg[3] =3D 0; - DPRINT_L1("Response: RSPREG[31..0]=3D0x%08x\n", s->rspreg[0]); + trace_sdhci_response4(s->rspreg[0]); } else if (rlen =3D=3D 16) { s->rspreg[0] =3D (response[11] << 24) | (response[12] << 16) | (response[13] << 8) | response[14]; @@ -255,11 +233,10 @@ static void sdhci_send_command(SDHCIState *s) (response[5] << 8) | response[6]; s->rspreg[3] =3D (response[0] << 16) | (response[1] << 8) | response[2]; - DPRINT_L1("Response received:\n RSPREG[127..96]=3D0x%08x, RSPR= EG[95.." - "64]=3D0x%08x,\n RSPREG[63..32]=3D0x%08x, RSPREG[31..0]= =3D0x%08x\n", - s->rspreg[3], s->rspreg[2], s->rspreg[1], s->rspreg[0]); + trace_sdhci_response16(s->rspreg[3], s->rspreg[2], + s->rspreg[1], s->rspreg[0]); } else { - ERRPRINT("Timeout waiting for command response\n"); + trace_sdhci_error("timeout waiting for command response"); if (s->errintstsen & SDHC_EISEN_CMDTIMEOUT) { s->errintsts |=3D SDHC_EIS_CMDTIMEOUT; s->norintsts |=3D SDHC_NIS_ERR; @@ -293,7 +270,7 @@ static void sdhci_end_transfer(SDHCIState *s) =20 request.cmd =3D 0x0C; request.arg =3D 0; - DPRINT_L1("Automatically issue CMD%d %08x\n", request.cmd, request= .arg); + trace_sdhci_end_transfer(request.cmd, request.arg); sdbus_do_command(&s->sdbus, &request, response); /* Auto CMD12 response goes to the upper Response register */ s->rspreg[3] =3D (response[0] << 24) | (response[1] << 16) | @@ -362,7 +339,7 @@ static uint32_t sdhci_read_dataport(SDHCIState *s, unsi= gned size) =20 /* first check that a valid data exists in host controller input buffe= r */ if ((s->prnsts & SDHC_DATA_AVAILABLE) =3D=3D 0) { - ERRPRINT("Trying to read from empty buffer\n"); + trace_sdhci_error("read from empty buffer"); return 0; } =20 @@ -371,8 +348,7 @@ static uint32_t sdhci_read_dataport(SDHCIState *s, unsi= gned size) s->data_count++; /* check if we've read all valid data (blksize bytes) from buffer = */ if ((s->data_count) >=3D (s->blksize & 0x0fff)) { - DPRINT_L2("All %u bytes of data have been read from input buff= er\n", - s->data_count); + trace_sdhci_read_dataport(s->data_count); s->prnsts &=3D ~SDHC_DATA_AVAILABLE; /* no more data in a buff= er */ s->data_count =3D 0; /* next buff read must start at position= [0] */ =20 @@ -455,7 +431,7 @@ static void sdhci_write_dataport(SDHCIState *s, uint32_= t value, unsigned size) =20 /* Check that there is free space left in a buffer */ if (!(s->prnsts & SDHC_SPACE_AVAILABLE)) { - ERRPRINT("Can't write to data buffer: buffer full\n"); + trace_sdhci_error("Can't write to data buffer: buffer full"); return; } =20 @@ -464,8 +440,7 @@ static void sdhci_write_dataport(SDHCIState *s, uint32_= t value, unsigned size) s->data_count++; value >>=3D 8; if (s->data_count >=3D (s->blksize & 0x0fff)) { - DPRINT_L2("write buffer filled with %u bytes of data\n", - s->data_count); + trace_sdhci_write_dataport(s->data_count); s->data_count =3D 0; s->prnsts &=3D ~SDHC_SPACE_AVAILABLE; if (s->prnsts & SDHC_DOING_WRITE) { @@ -653,15 +628,14 @@ static void sdhci_do_adma(SDHCIState *s) { unsigned int n, begin, length; const uint16_t block_size =3D s->blksize & 0x0fff; - ADMADescr dscr; + ADMADescr dscr =3D {}; int i; =20 for (i =3D 0; i < SDHC_ADMA_DESCS_PER_DELAY; ++i) { s->admaerr &=3D ~SDHC_ADMAERR_LENGTH_MISMATCH; =20 get_adma_description(s, &dscr); - DPRINT_L2("ADMA loop: addr=3D" TARGET_FMT_plx ", len=3D%d, attr=3D= %x\n", - dscr.addr, dscr.length, dscr.attr); + trace_sdhci_adma_loop(dscr.addr, dscr.length, dscr.attr); =20 if ((dscr.attr & SDHC_ADMA_ATTR_VALID) =3D=3D 0) { /* Indicate that error occurred in ST_FDS state */ @@ -744,8 +718,7 @@ static void sdhci_do_adma(SDHCIState *s) break; case SDHC_ADMA_ATTR_ACT_LINK: /* link to next descriptor table */ s->admasysaddr =3D dscr.addr; - DPRINT_L1("ADMA link: admasysaddr=3D0x%" PRIx64 "\n", - s->admasysaddr); + trace_sdhci_adma("link", s->admasysaddr); break; default: s->admasysaddr +=3D dscr.incr; @@ -753,8 +726,7 @@ static void sdhci_do_adma(SDHCIState *s) } =20 if (dscr.attr & SDHC_ADMA_ATTR_INT) { - DPRINT_L1("ADMA interrupt: admasysaddr=3D0x%" PRIx64 "\n", - s->admasysaddr); + trace_sdhci_adma("interrupt", s->admasysaddr); if (s->norintstsen & SDHC_NISEN_DMA) { s->norintsts |=3D SDHC_NIS_DMA; } @@ -765,15 +737,15 @@ static void sdhci_do_adma(SDHCIState *s) /* ADMA transfer terminates if blkcnt =3D=3D 0 or by END attribute= */ if (((s->trnmod & SDHC_TRNS_BLK_CNT_EN) && (s->blkcnt =3D=3D 0)) || (dscr.attr & SDHC_ADMA_ATTR_E= ND)) { - DPRINT_L2("ADMA transfer completed\n"); + trace_sdhci_adma_transfer_completed(); if (length || ((dscr.attr & SDHC_ADMA_ATTR_END) && (s->trnmod & SDHC_TRNS_BLK_CNT_EN) && s->blkcnt !=3D 0)) { - ERRPRINT("SD/MMC host ADMA length mismatch\n"); + trace_sdhci_error("SD/MMC host ADMA length mismatch"); s->admaerr |=3D SDHC_ADMAERR_LENGTH_MISMATCH | SDHC_ADMAERR_STATE_ST_TFR; if (s->errintstsen & SDHC_EISEN_ADMAERR) { - ERRPRINT("Set ADMA error flag\n"); + trace_sdhci_error("Set ADMA error flag"); s->errintsts |=3D SDHC_EIS_ADMAERR; s->norintsts |=3D SDHC_NIS_ERR; } @@ -809,7 +781,7 @@ static void sdhci_data_transfer(void *opaque) break; case SDHC_CTRL_ADMA1_32: if (!(s->capareg & SDHC_CAN_DO_ADMA1)) { - ERRPRINT("ADMA1 not supported\n"); + trace_sdhci_error("ADMA1 not supported"); break; } =20 @@ -817,7 +789,7 @@ static void sdhci_data_transfer(void *opaque) break; case SDHC_CTRL_ADMA2_32: if (!(s->capareg & SDHC_CAN_DO_ADMA2)) { - ERRPRINT("ADMA2 not supported\n"); + trace_sdhci_error("ADMA2 not supported"); break; } =20 @@ -826,14 +798,14 @@ static void sdhci_data_transfer(void *opaque) case SDHC_CTRL_ADMA2_64: if (!(s->capareg & SDHC_CAN_DO_ADMA2) || !(s->capareg & SDHC_64_BIT_BUS_SUPPORT)) { - ERRPRINT("64 bit ADMA not supported\n"); + trace_sdhci_error("64 bit ADMA not supported"); break; } =20 sdhci_do_adma(s); break; default: - ERRPRINT("Unsupported DMA type\n"); + trace_sdhci_error("Unsupported DMA type"); break; } } else { @@ -868,8 +840,8 @@ static inline bool sdhci_buff_access_is_sequential(SDHCIState *s, unsigned byte_num) { if ((s->data_count & 0x3) !=3D byte_num) { - ERRPRINT("Non-sequential access to Buffer Data Port register" - "is prohibited\n"); + trace_sdhci_error("Non-sequential access to Buffer Data Port regis= ter" + "is prohibited\n"); return false; } return true; @@ -899,8 +871,7 @@ static uint64_t sdhci_read(void *opaque, hwaddr offset,= unsigned size) case SDHC_BDATA: if (sdhci_buff_access_is_sequential(s, offset - SDHC_BDATA)) { ret =3D sdhci_read_dataport(s, size); - DPRINT_L2("read %ub: addr[0x%04x] -> %u(0x%x)\n", size, (int)o= ffset, - ret, ret); + trace_sdhci_access("read", size, offset, "->", ret, ret); return ret; } break; @@ -952,7 +923,7 @@ static uint64_t sdhci_read(void *opaque, hwaddr offset,= unsigned size) =20 ret >>=3D (offset & 0x3) * 8; ret &=3D (1ULL << (size * 8)) - 1; - DPRINT_L2("read %ub: addr[0x%04x] -> %u(0x%x)\n", size, (int)offset, r= et, ret); + trace_sdhci_access("read", size, offset, "->", ret, ret); return ret; } =20 @@ -1154,8 +1125,8 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val= , unsigned size) "not implemented\n", size, offset, value >> shift); break; } - DPRINT_L2("write %ub: addr[0x%04x] <- %u(0x%x)\n", - size, (int)offset, value >> shift, value >> shift); + trace_sdhci_access("write", size, offset, "<-", + value >> shift, value >> shift); } =20 static const MemoryRegionOps sdhci_mmio_ops =3D { diff --git a/hw/sd/trace-events b/hw/sd/trace-events index 1fc0bcf44b..e4e26c6d73 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -1,5 +1,19 @@ # See docs/devel/tracing.txt for syntax documentation. =20 +# hw/sd/sdhci.c +sdhci_set_inserted(const char *level) "card state changed: %s" +sdhci_send_command(uint8_t cmd, uint32_t arg) "sending CMD%02u ARG[0x%08x]" +sdhci_error(const char *msg) "%s" +sdhci_response4(uint32_t r0) "Response: RSPREG[31..0]=3D0x%08x" +sdhci_response16(uint32_t r3, uint32_t r2, uint32_t r1, uint32_t r0) "Resp= onse received: RSPREG[127..96]=3D0x%08x, RSPREG[95..64]=3D0x%08x, RSPREG[63= ..32]=3D0x%08x, RSPREG[31..0]=3D0x%08x" +sdhci_end_transfer(uint8_t cmd, uint32_t arg) "Automatically issue CMD%02u= 0x%08x" +sdhci_adma(const char *desc, uint32_t sysad) "ADMA %s: admasysaddr=3D0x%" = PRIx32 +sdhci_adma_loop(uint64_t addr, uint16_t length, uint8_t attr) "ADMA loop: = addr=3D0x%08" PRIx64 ", len=3D%d, attr=3D0x%x" +sdhci_adma_transfer_completed(void) "ADMA transfer completed" +sdhci_access(const char *access, unsigned int size, uint64_t offset, const= char *dir, uint64_t val, uint64_t val2) "%s %ub: addr[0x%04" PRIx64 "] %s = %" PRIu64 "(0x%" PRIx64 ")" +sdhci_read_dataport(uint16_t data_count) "all %u bytes of data have been r= ead from input buffer" +sdhci_write_dataport(uint16_t data_count) "write buffer filled with %u byt= es of data" + # hw/sd/milkymist-memcard.c milkymist_memcard_memory_read(uint32_t addr, uint32_t value) "addr 0x%08x = value 0x%08x" milkymist_memcard_memory_write(uint32_t addr, uint32_t value) "addr 0x%08x= value 0x%08x" --=20 2.15.1 From nobody Mon May 6 19:08:37 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 1513308152235201.9279766602043; Thu, 14 Dec 2017 19:22:32 -0800 (PST) Received: from localhost ([::1]:43981 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgZw-00024C-9L for importer@patchew.org; Thu, 14 Dec 2017 22:22:28 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53883) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgUV-00061n-5N for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgUS-0001J2-0c for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:51 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:40601) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgUR-0001Io-SH; Thu, 14 Dec 2017 22:16:47 -0500 Received: by mail-qk0-x241.google.com with SMTP id b123so8848051qkg.7; Thu, 14 Dec 2017 19:16:47 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.16.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:16: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=J+SWj8EMnVMOvdPpt4sTPaR12LLkVfqV/hu1+TW3FhM=; b=SlD7Bvh82kMbNTevQAmJYQmmMhwx4J43Pm4GHIprbJdXgEwcapeYAb25qxXBtyYjxj PRoeWgR7WF/Vmp2frabDGGEQ0lPRLB6QIE1N+9HWwIGdrXCfRcxX/n0otNcr8WyMq84b 3hR/KQ/ZEksDsH2CdLqh1Oz3x6bBSK/mF3m7ZmW3KBicKNHgcEy5RvU1XH2g/rB6K1Vz 9+a4IjbaCoK6s+IQ7hhlC36RW4ZXQxvZsPR0gR1svhLk80cGEAV/Eag9NmqUAI6Yz8CJ hmo124GUkWQsyLcIuq/PdpQyl+Dfgco95HxDcGUdALlEHqoeOTqEYqAVPcQp9tDqrhod FizA== 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=J+SWj8EMnVMOvdPpt4sTPaR12LLkVfqV/hu1+TW3FhM=; b=dLUkuJB7qC7/w29HoS2eROmHfz0yR3BspwfUmC4qA8+3nPN6xi8roZkWDfWB56GGyh nQrH9Rbj7ADhL39CrGJTlYWzqwn0qE+xQbJgLY5QCaCFA50RgLGpcxTwmX1fLE1L5rKK Y2dJjVHjAX2KKeq5AbprrgRw+hn7GEJ3AlhKXT36R9DYYfVqXfKLywQ5s+1eLpN8G08m q8xgUOVZeGIGkvvDNfoXYVFGJLnir3+L+dFoOcDrAMV+H4U2Tr/5N2rx+9UPtNxhqTp+ kzIqRCevnfQ2H4x200u/RoIH/kDoYF5ysFgIkZ9IaH3wTV7frXtGHMn/Zu4/Wi1Xmfez Kk8Q== X-Gm-Message-State: AKGB3mLa3IQwif/HCpfm0B5YFsi+ysn7XS+6ck4mAr17VKOleyfHG1Ia 8YbfVfM9Si57HXoAmDpNrrI= X-Google-Smtp-Source: ACJfBosr59vj8/F9rWvc00DsudD3cl00jRkk9EvHdubf7aCITdNO7dC1Yx8QmAuomWDca00cN2mDzQ== X-Received: by 10.55.142.3 with SMTP id q3mr19915491qkd.276.1513307807442; Thu, 14 Dec 2017 19:16:47 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:37 -0300 Message-Id: <20171215031547.31006-11-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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:c09::241 Subject: [Qemu-devel] [PATCH v2 10/20] sdhci: add a GPIO for the access control LED 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@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 It blinks to caution the user not to remove the card while the SD card is being accessed. So far it only emit a trace event. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/sd/sdhci.h | 2 ++ hw/sd/sdhci.c | 13 +++++++++++++ hw/sd/trace-events | 1 + 3 files changed, 16 insertions(+) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 1b6a98d578..5391430c59 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -47,6 +47,8 @@ typedef struct SDHCIState { qemu_irq eject_cb; qemu_irq ro_cb; qemu_irq irq; + qemu_irq access_led; + int access_led_level; =20 uint32_t sdmasysad; /* SDMA System Address register */ uint16_t blksize; /* Host DMA Buff Boundary and Transfer BlkSize = Reg */ diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index ba3afddcf2..866be44db5 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -202,6 +202,16 @@ static void sdhci_poweron_reset(DeviceState *dev) } } =20 +static void sdhci_led_handler(void *opaque, int line, int level) +{ + SDHCIState *s =3D (SDHCIState *)opaque; + + if (s->access_led_level !=3D level) { + trace_sdhci_led(level); + s->access_led_level =3D level; + } +} + static void sdhci_data_transfer(void *opaque); =20 static void sdhci_send_command(SDHCIState *s) @@ -1050,6 +1060,7 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val= , unsigned size) !(s->capareg & (1 << (31 - ((s->pwrcon >> 1) & 0x7))))) { s->pwrcon &=3D ~SDHC_POWER_ON; } + qemu_set_irq(s->access_led, s->hostctl & 1); break; case SDHC_CLKCON: if (!(mask & 0xFF000000)) { @@ -1160,6 +1171,7 @@ static void sdhci_initfn(SDHCIState *s) qbus_create_inplace(&s->sdbus, sizeof(s->sdbus), TYPE_SDHCI_BUS, DEVICE(s), "sd-bus"); =20 + s->access_led =3D qemu_allocate_irq(sdhci_led_handler, s, 0); s->insert_timer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, sdhci_raise_inser= tion_irq, s); s->transfer_timer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, sdhci_data_tran= sfer, s); } @@ -1185,6 +1197,7 @@ static void sdhci_uninitfn(SDHCIState *s) timer_del(s->transfer_timer); timer_free(s->transfer_timer); =20 + qemu_free_irq(s->access_led); qemu_free_irq(s->eject_cb); qemu_free_irq(s->ro_cb); } diff --git a/hw/sd/trace-events b/hw/sd/trace-events index e4e26c6d73..f821db2046 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -13,6 +13,7 @@ sdhci_adma_transfer_completed(void) "ADMA transfer comple= ted" sdhci_access(const char *access, unsigned int size, uint64_t offset, const= char *dir, uint64_t val, uint64_t val2) "%s %ub: addr[0x%04" PRIx64 "] %s = %" PRIu64 "(0x%" PRIx64 ")" sdhci_read_dataport(uint16_t data_count) "all %u bytes of data have been r= ead from input buffer" sdhci_write_dataport(uint16_t data_count) "write buffer filled with %u byt= es of data" +sdhci_led(bool state) "LED: %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 Mon May 6 19:08:37 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 1513308320725573.4917813332542; Thu, 14 Dec 2017 19:25:20 -0800 (PST) Received: from localhost ([::1]:43997 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgcW-0004f8-Sj for importer@patchew.org; Thu, 14 Dec 2017 22:25:08 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53917) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgUY-00063O-0C for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgUW-0001Nj-H2 for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:16:53 -0500 Received: from mail-qk0-x244.google.com ([2607:f8b0:400d:c09::244]:44032) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgUW-0001NK-BK; Thu, 14 Dec 2017 22:16:52 -0500 Received: by mail-qk0-x244.google.com with SMTP id h19so8843955qkj.11; Thu, 14 Dec 2017 19:16:52 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.16.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:16:51 -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=/R85GTF+aUI8qr1fMhEhzd4JzhCvAIZFCuYhirRW5EI=; b=lzxP7W9QW6X0xT+cB/i7UCDzOWG/FiZ2wcdWBK7O2Ycj6vf1z0bcRdFyeYm0Wv+bO7 e/B4TBsa/Tr/SPmSVkMiK2vb8OTsA6+z4X3AGOf3NF+EvILcKOJ/mMOeLW6ERwZR+ONb pJ+U4ooWyD17xpvCCUNXQ15GJy/KkE+4ymLngsVJ7C7CzLaFp42sMNJy5McNeorkCnSX u491kFUAaG6MTNJDtCsLwJipwUcFV7ucufygRFGo2UwK0a5i3R3Vv4eisX1qppqL4YSq zgYNl38Ll8xXFTv78Bt+Zp8l8vNw3YKaaQAQhMmpJB7s4yGevsrQaf/0yJRRQ6HM372V PdsQ== 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=/R85GTF+aUI8qr1fMhEhzd4JzhCvAIZFCuYhirRW5EI=; b=CVgIX8YrUOYxR/DQ6a1IIfDtdsa7U9nfQhqDetjaOK+pmk5F38kacwlFAcWCB5dTvL btoErnvYDcaHZOHQByZt1hg8wPCZD+xnwPMcOrHou2TlCNhAgV6n5yGPAdD2sCkFefkk Y2mAdzv3INoeCxKe07wGwNdKfoSHgqfUeUgDup6MWFWA9Eeqm9FjQbBxmP9VTEnBy4fB ousTHT6epTI5r6nnu860nqAouflQt83B+29GKzoY2RPuPdtxwmSDAQWBqRyqI9IDDrtv +vGlpKZBcmmCqZ8VQ97QhQvJhwrs4OCCHH0Nv90FBNmoq0c7nbQjUou4Q2VzY64dYOl0 V+8A== X-Gm-Message-State: AKGB3mIc0su2mykflimxbLZz72EB55OWVhdbRJwwRM20+HhBoi17TS48 xPRQ5o46wbtRSrU0a2m1l9A= X-Google-Smtp-Source: ACJfBosKeTJLd0FKkqEva0KUsL7eGyP+3qc5MrzRXxrYvd5PjG3ER751gBaI7XEPM/ExC7MERTwFxQ== X-Received: by 10.55.18.92 with SMTP id c89mr19148883qkh.297.1513307811872; Thu, 14 Dec 2017 19:16:51 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:38 -0300 Message-Id: <20171215031547.31006-12-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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:c09::244 Subject: [Qemu-devel] [PATCH v2 11/20] sdhci: add a "dma-memory" property 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@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 Add a dma property allowing machine creation to provide the address-space sdhci dma operates on. [based on a patch from Alistair Francis from qemu/xilinx tag xilinx-v2016.1] Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- include/hw/sd/sdhci.h | 2 ++ hw/sd/sdhci.c | 36 +++++++++++++++++++++++------------- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 5391430c59..715048d77b 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -41,6 +41,8 @@ typedef struct SDHCIState { /*< public >*/ SDBus sdbus; MemoryRegion iomem; + MemoryRegion *dma_mr; + AddressSpace dma_as; =20 QEMUTimer *insert_timer; /* timer for 'changing' sd card. */ QEMUTimer *transfer_timer; diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 866be44db5..0f3ff657cf 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -505,7 +505,7 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState= *s) s->blkcnt--; } } - dma_memory_write(&address_space_memory, s->sdmasysad, + dma_memory_write(&s->dma_as, s->sdmasysad, &s->fifo_buffer[begin], s->data_count - begin= ); s->sdmasysad +=3D s->data_count - begin; if (s->data_count =3D=3D block_size) { @@ -527,7 +527,7 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState= *s) s->data_count =3D block_size; boundary_count -=3D block_size - begin; } - dma_memory_read(&address_space_memory, s->sdmasysad, + dma_memory_read(&s->dma_as, s->sdmasysad, &s->fifo_buffer[begin], s->data_count - begin); s->sdmasysad +=3D s->data_count - begin; if (s->data_count =3D=3D block_size) { @@ -565,11 +565,9 @@ static void sdhci_sdma_transfer_single_block(SDHCIStat= e *s) for (n =3D 0; n < datacnt; n++) { s->fifo_buffer[n] =3D sdbus_read_data(&s->sdbus); } - dma_memory_write(&address_space_memory, s->sdmasysad, s->fifo_buff= er, - datacnt); + dma_memory_write(&s->dma_as, s->sdmasysad, s->fifo_buffer, datacnt= ); } else { - dma_memory_read(&address_space_memory, s->sdmasysad, s->fifo_buffe= r, - datacnt); + dma_memory_read(&s->dma_as, s->sdmasysad, s->fifo_buffer, datacnt); for (n =3D 0; n < datacnt; n++) { sdbus_write_data(&s->sdbus, s->fifo_buffer[n]); } @@ -593,7 +591,7 @@ static void get_adma_description(SDHCIState *s, ADMADes= cr *dscr) hwaddr entry_addr =3D (hwaddr)s->admasysaddr; switch (SDHC_DMA_TYPE(s->hostctl)) { case SDHC_CTRL_ADMA2_32: - dma_memory_read(&address_space_memory, entry_addr, (uint8_t *)&adm= a2, + dma_memory_read(&s->dma_as, entry_addr, (uint8_t *)&adma2, sizeof(adma2)); adma2 =3D le64_to_cpu(adma2); /* The spec does not specify endianness of descriptor table. @@ -605,7 +603,7 @@ static void get_adma_description(SDHCIState *s, ADMADes= cr *dscr) dscr->incr =3D 8; break; case SDHC_CTRL_ADMA1_32: - dma_memory_read(&address_space_memory, entry_addr, (uint8_t *)&adm= a1, + dma_memory_read(&s->dma_as, entry_addr, (uint8_t *)&adma1, sizeof(adma1)); adma1 =3D le32_to_cpu(adma1); dscr->addr =3D (hwaddr)(adma1 & 0xFFFFF000); @@ -618,12 +616,12 @@ static void get_adma_description(SDHCIState *s, ADMAD= escr *dscr) } break; case SDHC_CTRL_ADMA2_64: - dma_memory_read(&address_space_memory, entry_addr, + dma_memory_read(&s->dma_as, entry_addr, (uint8_t *)(&dscr->attr), 1); - dma_memory_read(&address_space_memory, entry_addr + 2, + dma_memory_read(&s->dma_as, entry_addr + 2, (uint8_t *)(&dscr->length), 2); dscr->length =3D le16_to_cpu(dscr->length); - dma_memory_read(&address_space_memory, entry_addr + 4, + dma_memory_read(&s->dma_as, entry_addr + 4, (uint8_t *)(&dscr->addr), 8); dscr->attr =3D le64_to_cpu(dscr->attr); dscr->attr &=3D 0xfffffff8; @@ -682,7 +680,7 @@ static void sdhci_do_adma(SDHCIState *s) s->data_count =3D block_size; length -=3D block_size - begin; } - dma_memory_write(&address_space_memory, dscr.addr, + dma_memory_write(&s->dma_as, dscr.addr, &s->fifo_buffer[begin], s->data_count - begin); dscr.addr +=3D s->data_count - begin; @@ -706,7 +704,7 @@ static void sdhci_do_adma(SDHCIState *s) s->data_count =3D block_size; length -=3D block_size - begin; } - dma_memory_read(&address_space_memory, dscr.addr, + dma_memory_read(&s->dma_as, dscr.addr, &s->fifo_buffer[begin], s->data_count - begin); dscr.addr +=3D s->data_count - begin; @@ -1183,10 +1181,20 @@ static void sdhci_realizefn(SDHCIState *s, Error **= errp) =20 memory_region_init_io(&s->iomem, OBJECT(s), &sdhci_mmio_ops, s, "sdhci= ", SDHC_REGISTERS_MAP_SIZE); + + /* use system_memory() if property "dma-memory" not set */ + address_space_init(&s->dma_as, + s->dma_mr ? s->dma_mr : get_system_memory(), + "sdhci-dma"); } =20 static void sdhci_unrealizefn(SDHCIState *s, Error **errp) { + if (s->dma_mr) { + address_space_destroy(&s->dma_as); + object_unparent(OBJECT(&s->dma_mr)); + } + g_free(s->fifo_buffer); } =20 @@ -1269,6 +1277,8 @@ static Property sdhci_properties[] =3D { DEFINE_PROP_UINT32("maxcurr", SDHCIState, maxcurr, 0), DEFINE_PROP_BOOL("pending-insert-quirk", SDHCIState, pending_insert_qu= irk, false), + DEFINE_PROP_LINK("dma-memory", SDHCIState, dma_mr, + TYPE_MEMORY_REGION, MemoryRegion *), DEFINE_PROP_END_OF_LIST(), }; =20 --=20 2.15.1 From nobody Mon May 6 19:08:37 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) 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=temperror (zoho.com: Error in retrieving data from DNS) 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 1513308250896766.4546668015295; Thu, 14 Dec 2017 19:24:10 -0800 (PST) Received: from localhost ([::1]:43994 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgbN-0003eT-3B for importer@patchew.org; Thu, 14 Dec 2017 22:23:57 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53962) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgUe-00069N-68 for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:17:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgUa-0001S9-Vh for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:17:00 -0500 Received: from mail-qk0-x244.google.com ([2607:f8b0:400d:c09::244]:46750) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgUa-0001Rk-RH; Thu, 14 Dec 2017 22:16:56 -0500 Received: by mail-qk0-x244.google.com with SMTP id b184so8852502qkc.13; Thu, 14 Dec 2017 19:16:56 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.16.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:16: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=t0RgSSk1uP4nV+0slBw4Fd2dQkH95uRZ931ovPZILCA=; b=uEjHLf/j7wlemFxW4P3iQuPEfIjar5HCd/VMfZgx2svdPNb7/wC9dwcxLDVjUlJuiq KkUYfRf/hkYS4RmVWB1lLUlJFBaoo4KpwASS71qakpL4ZRMlIcyt9fdEkFhrrdi4DzNh BX6WmuDGby0BZ4LZ8Y10rvaVkPgHXa9LE40CyfC/aWIqn5KdKg793dF0pxTo8CA3t3sd ssKC/Wxuz0pBrlDBv23FN8KwVFb5myrz3fKZGDKlhkMJ58SXz4PQBsBTHHqqRFJac3dW ZruYYxH63YtAqdOIHiGHMo+gMzjMEY4up/X18/VraHxQJ5//HTeF+DXP2oBaqeJPc2z+ seqw== 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=t0RgSSk1uP4nV+0slBw4Fd2dQkH95uRZ931ovPZILCA=; b=sRNojD+qODuPufhBYg1CnvArvXfy4OXBrQhPsvryKBNdO0fiZd5NeNVAnVpd7RLRtq w0WTm0jyIYh5FGU7o+UONxkSSJK49/06V7Da3DvSxBDr9j7XID4x648Lm1ORPhsOASuf H2OtGYcuGdnk4v5BVN7g1+PGU3l/uniCI3n1vKvyU1HOlokQySohY7/IrHCEyyGaFTKW 73APn3CTqmdzLMq9tWiU1zBo3WvnfS0l0wRiR5vCzbM6T6SWwSFTSbQWXDEslKEAX7hZ dw9kBBHAMOxxn880ug2/PqWrI2vBqRxJwcXmfX0nzS9Jry2z9ON2lwjAQphG+EVfyGTj l+RQ== X-Gm-Message-State: AKGB3mJOEEXj+FIu0/JTs4Lt1qqzlL264BkWact1lBKqHH6JIoFdGuVh vpmSlyUC8m8vCUphevqIc1c= X-Google-Smtp-Source: ACJfBouthmfB+kR61MrdU21TcR1pHTmGoYDp0s1mCgZSz+s8Wq8iu1LRbekNoO38/qUGbbtrG7rYyQ== X-Received: by 10.55.183.71 with SMTP id h68mr19892432qkf.315.1513307816388; Thu, 14 Dec 2017 19:16:56 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:39 -0300 Message-Id: <20171215031547.31006-13-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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:c09::244 Subject: [Qemu-devel] [PATCH v2 12/20] sdhci: fix CAPAB/MAXCURR registers, both are 64bit and read-only 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@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_6 Z_629925259 SPT_0 running qtests: $ make check-qtest-arm GTESTER check-qtest-arm SDHC rd_4b @0x44 not implemented SDHC wr_4b @0x40 <- 0x89abcdef not implemented SDHC wr_4b @0x44 <- 0x01234567 not implemented Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/sd/sdhci.h | 4 ++-- hw/sd/sdhci.c | 23 +++++++++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 715048d77b..a8ffac9dba 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -76,8 +76,8 @@ typedef struct SDHCIState { uint16_t acmd12errsts; /* Auto CMD12 error status register */ uint64_t admasysaddr; /* ADMA System Address Register */ =20 - uint32_t capareg; /* Capabilities Register */ - uint32_t maxcurr; /* Maximum Current Capabilities Register */ + uint64_t capareg; /* Capabilities Register */ + uint64_t maxcurr; /* Maximum Current Capabilities Register */ uint8_t *fifo_buffer; /* SD host i/o FIFO buffer */ uint32_t buf_maxsz; uint16_t data_count; /* current element in FIFO buffer */ diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 0f3ff657cf..9c1b28d9dd 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -906,10 +906,16 @@ static uint64_t sdhci_read(void *opaque, hwaddr offse= t, unsigned size) ret =3D s->acmd12errsts; break; case SDHC_CAPAREG: - ret =3D s->capareg; + ret =3D (uint32_t)s->capareg; + break; + case SDHC_CAPAREG + 4: + ret =3D (uint32_t)(s->capareg >> 32); break; case SDHC_MAXCURR: - ret =3D s->maxcurr; + ret =3D (uint32_t)s->maxcurr; + break; + case SDHC_MAXCURR + 4: + ret =3D (uint32_t)(s->maxcurr >> 32); break; case SDHC_ADMAERR: ret =3D s->admaerr; @@ -1129,6 +1135,15 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t va= l, unsigned size) } sdhci_update_irq(s); break; + + case SDHC_CAPAREG: + case SDHC_CAPAREG + 4: + case SDHC_MAXCURR: + case SDHC_MAXCURR + 4: + qemu_log_mask(LOG_GUEST_ERROR, "SDHC wr_%ub @0x%02" HWADDR_PRIx + " <- 0x%08x read-only\n", size, offset, value >> shi= ft); + break; + default: qemu_log_mask(LOG_UNIMP, "SDHC wr_%ub @0x%02" HWADDR_PRIx " <- 0x%= 08x " "not implemented\n", size, offset, value >> shift); @@ -1272,9 +1287,9 @@ const VMStateDescription sdhci_vmstate =3D { /* Capabilities registers provide information on supported features of this * specific host controller implementation */ static Property sdhci_properties[] =3D { - DEFINE_PROP_UINT32("capareg", SDHCIState, capareg, + DEFINE_PROP_UINT64("capareg", SDHCIState, capareg, SDHC_CAPAB_REG_DEFAULT), - DEFINE_PROP_UINT32("maxcurr", SDHCIState, maxcurr, 0), + DEFINE_PROP_UINT64("maxcurr", SDHCIState, maxcurr, 0), DEFINE_PROP_BOOL("pending-insert-quirk", SDHCIState, pending_insert_qu= irk, false), DEFINE_PROP_LINK("dma-memory", SDHCIState, dma_mr, --=20 2.15.1 From nobody Mon May 6 19:08:37 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) 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=temperror (zoho.com: Error in retrieving data from DNS) 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 15133085632081008.7113337821971; Thu, 14 Dec 2017 19:29:23 -0800 (PST) Received: from localhost ([::1]:44037 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePggP-0008NG-Pa for importer@patchew.org; Thu, 14 Dec 2017 22:29:09 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54000) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgUg-0006Bc-FG for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:17:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgUf-0001WN-H7 for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:17:02 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:46858) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgUf-0001Vp-Cr; Thu, 14 Dec 2017 22:17:01 -0500 Received: by mail-qt0-x243.google.com with SMTP id r39so10523258qtr.13; Thu, 14 Dec 2017 19:17:01 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.16.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:17:00 -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=THkgUfqUiqXw870D7xLkWUs8/Gqxud/f5zCcdJ/zCgY=; b=lMUdHpbZzsxmPRicTBpOS7hLy27cESp74g+TGpWprqTNaW4WvLmleyVTt1ulglyiss 0LHWha8TDBVwIsetwNdE8kFoZunll9pEgVg48XzzYbNQw1wMheY+VQF3pX/n7uBURZvC gX4VVDsCpdNJrhuEHOBQ4ZTWpWhSbv/ri29MEAiEkLfWfZfHPN+JGqHW6Mi00itPaA8D cVVbuQGauo9k0WRwFQ6NRhmdg3cDPiWqhGVAOy0yMr3o6mDbgpfg9oqHVVIvIZShX/R9 /jxAaqIbD4SMaS+php5C5HFRUJpojE1cKsy7ytbyUODkiXHRF2sJW8qtyL0UfSMyr4Rx pKyA== 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=THkgUfqUiqXw870D7xLkWUs8/Gqxud/f5zCcdJ/zCgY=; b=LXrzWwdUgRUZuHvX94yFxQibIR2ANJh49ihgA5jullJvwCMC0pA0NBntLFAxTbmIJ1 4NYs5qRv89uNEShUxVB9hVTb0x87nHpI1d/OR9cd5QEMP8uSDMJhDnAnX2++mg7WaDFp gM4CgcoGZ/yNjU2msmmTGqG1qIvReWk+V4fruiWqNwngHrQAX1qB2ZY+XPKxi9d/zJ2o yGJewitFrDMnD7OtAhgjh0VAO50GyoJPnAacXvj18ZEWW+ZO2DkPJ38RBB9OtryrpjlE LnS5wQuS5uU9GKpnWuG5qYnTBN7M9qH92bLSPixYo2RF9lnfLQ9bzX9ZLg6uFwt2SeuU hoPQ== X-Gm-Message-State: AKGB3mIZTppFgNEZSY0pnjJiw9Fqk+J2Yqxjn3Z1bcHCAtYjXpRkBune pi1BccQSqUuemHZ6Lj5Rp6k= X-Google-Smtp-Source: ACJfBotXyWlEGPYjPt78Hko3Ln6cbX93UMwg1jJmZ19FcuqIGhsrxuf0Sr5s2mb7PxSKZ1RJHJGb/A== X-Received: by 10.200.26.123 with SMTP id q56mr20600127qtk.145.1513307821022; Thu, 14 Dec 2017 19:17:01 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky , Jason Wang Date: Fri, 15 Dec 2017 00:15:40 -0300 Message-Id: <20171215031547.31006-14-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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 v2 13/20] sdhci: Implement write method of ACMD12ERRSTS register 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: Prasad J Pandit , Peter Crosthwaite , qemu-devel@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Sai Pavan Boddu , qemu-arm@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_6 Z_629925259 SPT_0 From: Andrey Smirnov Cc: Peter Maydell Cc: Jason Wang Cc: Philippe Mathieu-Daud=C3=A9 Cc: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Cc: yurovsky@gmail.com Reviewed-by: Peter Maydell Signed-off-by: Andrey Smirnov Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sdhci.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 9c1b28d9dd..64a9b26e0d 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1124,6 +1124,9 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val= , unsigned size) case SDHC_ADMASYSADDR + 4: s->admasysaddr =3D deposit64(s->admasysaddr, 32, 32, value); break; + case SDHC_ACMD12ERRSTS: + MASKED_WRITE(s->acmd12errsts, mask, value); + break; case SDHC_FEAER: s->acmd12errsts |=3D value; s->errintsts |=3D (value >> 16) & s->errintstsen; --=20 2.15.1 From nobody Mon May 6 19:08:37 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) 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=temperror (zoho.com: Error in retrieving data from DNS) 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 1513308454915610.804646458634; Thu, 14 Dec 2017 19:27:34 -0800 (PST) Received: from localhost ([::1]:44018 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgef-0006eH-2N for importer@patchew.org; Thu, 14 Dec 2017 22:27:21 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54086) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgUn-0006GF-Gg for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:17:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgUk-0001bF-Bk for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:17:09 -0500 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:43032) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgUk-0001ar-6f; Thu, 14 Dec 2017 22:17:06 -0500 Received: by mail-qt0-x242.google.com with SMTP id w10so10528589qtb.10; Thu, 14 Dec 2017 19:17:06 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.17.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:17: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=k5MeoBTT3FYTMXMBqzQ0jBWymyUyjpp3SVXdf22CZxU=; b=lTX/NWLcS6s6uFfImjXG/eGe9j9za/Aa+w3q+Tkv6pZ2SfJ6DcjkkErYdjFfZo3VdF SCCQeDNq2ShwlwolslIVmg5R2XNd0EyufIlLt3d3S6XXKjP47prb2l7i7X4XttT6Zs9F 2pnCTTVLwyq6GcauWijfoXaSN85tSddn3WrtBgWhWmWX4Fme27wYvjbbnqLAR0J/z/z0 JJCkMHmyPVgGfvEdsJvzDmQmaY1pIo150v+K1arrMV3YYk6E9WQexM6ENnKt5pWQ3d3l GstV2ZX1X4zUCroQ3auHRh07vnESM3oQI3ziN2lvV+ZD4c7pC652yBzPA9qn3jWogQPH xNCw== 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=k5MeoBTT3FYTMXMBqzQ0jBWymyUyjpp3SVXdf22CZxU=; b=IN/MyXxcIvh34/KGNP1ClziU7/029I4CibfZ2vfp2dmFKDI94s/2zWCAJAjY6V2BSN QZm2hNQGqbt0RhwhBd7BPxRBC3tNXRUXMueBknKCvyrDSbR8aj24AwRoAlbzCJW8LEwC 4Cr9RJq3fpxKLS+1eMfFjAaEv/dZYQXp7UnCotyihuvB9//LaKwm8jJFDmDnxpW6o9Uo KzTNNu4t3TE/DQDhv011Vv798RJYTOQ9RZswLBsO5oz0Fuc4+28XiKA7jD61kUWoSILc flbSjtMyBy4G2p9jcuQSdTyBPoocSaYZt8FA6uIrU8np77FyCxod+PI+faaIR8q4MUZR gFLg== X-Gm-Message-State: AKGB3mId50NiiEotOblU64BZj+NdktmcLN9VrQmSinfoFhDArrts2WiL aMFoX5A8K9F5vqYkyCrFc0I= X-Google-Smtp-Source: ACJfBouQXLvwfcA/VA6idMeSJJAmr3eSsJ8JPw2xpADLTfevB+nj8CwBRdrHFedZR0pxMEjQmOL9dQ== X-Received: by 10.200.28.44 with SMTP id a41mr20765568qtk.340.1513307825760; Thu, 14 Dec 2017 19:17:05 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:41 -0300 Message-Id: <20171215031547.31006-15-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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 v2 14/20] sdhci: add a "sd-spec-version" property 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@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_6 Z_629925259 SPT_0 default to SDHCI v2 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sdhci-internal.h | 4 ++-- include/hw/sd/sdhci.h | 10 ++++++++++ hw/sd/sdhci.c | 5 ++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h index e941bc2386..7e4a9d79d1 100644 --- a/hw/sd/sdhci-internal.h +++ b/hw/sd/sdhci-internal.h @@ -210,9 +210,9 @@ /* Slot interrupt status */ #define SDHC_SLOT_INT_STATUS 0xFC =20 -/* HWInit Host Controller Version Register 0x0401 */ +/* HWInit Host Controller Version Register */ #define SDHC_HCVER 0xFE -#define SD_HOST_SPECv2_VERS 0x2401 +#define SDHC_HCVER_VENDOR 0x24 =20 #define SDHC_REGISTERS_MAP_SIZE 0x100 #define SDHC_INSERTION_DELAY (NANOSECONDS_PER_SECOND) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index a8ffac9dba..68f5902cdf 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -89,6 +89,9 @@ typedef struct SDHCIState { /* Force Event Auto CMD12 Error Interrupt Reg - write only */ /* Force Event Error Interrupt Register- write only */ /* RO Host Controller Version Register always reads as 0x2401 */ + struct { + uint8_t spec_version; + } capabilities; } SDHCIState; =20 #define TYPE_PCI_SDHCI "sdhci-pci" @@ -98,4 +101,11 @@ typedef struct SDHCIState { #define SYSBUS_SDHCI(obj) \ OBJECT_CHECK(SDHCIState, (obj), TYPE_SYSBUS_SDHCI) =20 +/* Host Controller Specification Version */ +enum sdhci_spec_version { + SD_HOST_SPECv1_VERS =3D 0x00, + SD_HOST_SPECv2_VERS =3D 0x01, + SD_HOST_SPECv3_VERS =3D 0x02 +}; + #endif /* SDHCI_H */ diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 64a9b26e0d..926f6d1958 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -927,7 +927,8 @@ static uint64_t sdhci_read(void *opaque, hwaddr offset,= unsigned size) ret =3D (uint32_t)(s->admasysaddr >> 32); break; case SDHC_SLOT_INT_STATUS: - ret =3D (SD_HOST_SPECv2_VERS << 16) | sdhci_slotint(s); + ret =3D (SDHC_HCVER_VENDOR << 24) | (s->capabilities.spec_version = << 16); + ret |=3D sdhci_slotint(s); break; default: qemu_log_mask(LOG_UNIMP, "SDHC rd_%ub @0x%02" HWADDR_PRIx " " @@ -1290,6 +1291,8 @@ const VMStateDescription sdhci_vmstate =3D { /* Capabilities registers provide information on supported features of this * specific host controller implementation */ static Property sdhci_properties[] =3D { + DEFINE_PROP_UINT8("sd-spec-version", SDHCIState, + capabilities.spec_version, SD_HOST_SPECv2_VERS), DEFINE_PROP_UINT64("capareg", SDHCIState, capareg, SDHC_CAPAB_REG_DEFAULT), DEFINE_PROP_UINT64("maxcurr", SDHCIState, maxcurr, 0), --=20 2.15.1 From nobody Mon May 6 19:08:37 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 1513308587465411.5168948481605; Thu, 14 Dec 2017 19:29:47 -0800 (PST) Received: from localhost ([::1]:44038 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePggp-0000GO-NT for importer@patchew.org; Thu, 14 Dec 2017 22:29:35 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54126) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgUq-0006JV-6C for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:17:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgUp-0001fr-4U for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:17:12 -0500 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:42285) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgUp-0001fY-0L; Thu, 14 Dec 2017 22:17:11 -0500 Received: by mail-qt0-x242.google.com with SMTP id g9so10580121qth.9; Thu, 14 Dec 2017 19:17:10 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.17.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:17:09 -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=zes/jb4Dku/t/AmsOnoqfoFwjMmRtq2tqQZKTu6q+GA=; b=ikxryglHQ7im36Ys6/tZBGXcPXNhLQqo3meG4VEdEu6grZAgdi4zYacNnGBVLvVU4d E8JJnzrdIV0HL3NSpkir6Edt0kmTXlCRy/8uDQtKIneLZht5rQavhCdQclZRuVCLo9uA V45H4UKkFL4pDl5i51x8n5qMPlxBnbyyA1ethOQKIGNIeeVfzyLfmLHnWKYfmXLYc0El 7ea+zXu+GV0fmqz/Suj6FjQM67RxBf0cKquT04IiljIZrhiBiUy4Xfr2nAVdmhRO79Lp kPZcIKC/itXwsm3KEVLc+HE7eo8QsFbXtCksoU0+J0ucB4l+OUB3ObZNomRXp2fb0c4+ nYxQ== 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=zes/jb4Dku/t/AmsOnoqfoFwjMmRtq2tqQZKTu6q+GA=; b=f5KbmXY7ceJApiTvf8IWfaeETYLkHIBnameQnmXL09Tm1rqbrpSS7F/8x5GElRNNqZ RANq/ysf8sCyiy5hLAv4xmz3MDZbGerKcHufSntFW3Z4MLxfaktnA8qnSzj6rAD8jcJ8 UFPfTH+CpDl7jkkCgwlKpkzwXX1EElXbKvI+fqznPGSvqVbP9PqDzNXo/YVi3UhKqcix jUFTERDY8y5w8vEjueB5tSk9bLFmzjohxQFc6pt29CngRGhEiLR+y6qkT3L8jGmK55pQ yjPsyklMa9+KsPX+ibXI9C4t2Ab1INzg8tBzZZE4UPvu7oCWSTgLc6e2Yg2RuiyhrSVu aJ/w== X-Gm-Message-State: AKGB3mJ3IceX72Mfh2ZKLjJWIICkUGwb8q9kMu8BOQCRk9UlX9dVgxI7 zyMvGUgFzmqOBMFCVnYsNco= X-Google-Smtp-Source: ACJfBovE7Y4LPGNTt8c4IFm7l+naimoIld9BwLVCvkrYkMzSujyQcLNjMGZABpvZlJGqooBZcOmSFQ== X-Received: by 10.200.23.221 with SMTP id r29mr20489262qtk.27.1513307830570; Thu, 14 Dec 2017 19:17:10 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:42 -0300 Message-Id: <20171215031547.31006-16-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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 v2 15/20] sdhci: some ARM boards do support SD_HOST_SPECv3_VERS 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@nongnu.org, Stefan Hajnoczi , "Edgar E. Iglesias" 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 set the property with object_property_set_uint() or qdev_prop_set_uint8(). [Zynq part based on a patch from Alistair Francis from qemu/xilinx tag xilinx-v2015.2] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/bcm2835_peripherals.c | 7 +++++++ hw/arm/fsl-imx6.c | 6 ++++++ hw/arm/xilinx_zynq.c | 2 ++ 3 files changed, 15 insertions(+) diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index 12e0dd11af..ea57b3ecac 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -269,6 +269,13 @@ static void bcm2835_peripherals_realize(DeviceState *d= ev, Error **errp) return; } =20 + object_property_set_uint(OBJECT(&s->sdhci), SD_HOST_SPECv3_VERS, + "sd-spec-version", &err); + if (err) { + error_propagate(errp, err); + return; + } + object_property_set_bool(OBJECT(&s->sdhci), true, "realized", &err); if (err) { error_propagate(errp, err); diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c index 59ef33efa9..c474e707af 100644 --- a/hw/arm/fsl-imx6.c +++ b/hw/arm/fsl-imx6.c @@ -348,6 +348,12 @@ static void fsl_imx6_realize(DeviceState *dev, Error *= *errp) { FSL_IMX6_uSDHC4_ADDR, FSL_IMX6_uSDHC4_IRQ }, }; =20 + object_property_set_uint(OBJECT(&s->esdhc[i]), SD_HOST_SPECv3_VERS, + "sd-spec-version", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_bool(OBJECT(&s->esdhc[i]), true, "realized", &= err); if (err) { error_propagate(errp, err); diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c index 1836a4ed45..22e909afc9 100644 --- a/hw/arm/xilinx_zynq.c +++ b/hw/arm/xilinx_zynq.c @@ -248,6 +248,7 @@ static void zynq_init(MachineState *machine) gem_init(&nd_table[1], 0xE000C000, pic[77-IRQ_OFFSET]); =20 dev =3D qdev_create(NULL, TYPE_SYSBUS_SDHCI); + qdev_prop_set_uint8(dev, "sd-spec-version", SD_HOST_SPECv3_VERS); qdev_init_nofail(dev); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 0xE0100000); sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, pic[56-IRQ_OFFSET]); @@ -259,6 +260,7 @@ static void zynq_init(MachineState *machine) object_property_set_bool(OBJECT(carddev), true, "realized", &error_fat= al); =20 dev =3D qdev_create(NULL, TYPE_SYSBUS_SDHCI); + qdev_prop_set_uint8(dev, "sd-spec-version", SD_HOST_SPECv3_VERS); qdev_init_nofail(dev); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 0xE0101000); sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, pic[79-IRQ_OFFSET]); --=20 2.15.1 From nobody Mon May 6 19:08:37 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 1513308414482621.4917490814304; Thu, 14 Dec 2017 19:26:54 -0800 (PST) Received: from localhost ([::1]:44017 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgeA-0006CB-Mh for importer@patchew.org; Thu, 14 Dec 2017 22:26:50 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54855) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgWD-0007d0-07 for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:18:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgW9-0002ca-QT for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:18:36 -0500 Received: from mail-qk0-x244.google.com ([2607:f8b0:400d:c09::244]:35247) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgW9-0002cH-MR; Thu, 14 Dec 2017 22:18:33 -0500 Received: by mail-qk0-x244.google.com with SMTP id c13so8843933qke.2; Thu, 14 Dec 2017 19:18:33 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.17.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:18: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=ODhuAZcZ7T8cAUToHWt+/xxs9BPhqRdYTNiMThBf9A0=; b=FFVtFKzQpfo/SdLcOmzEjpo7ThBLdDTFMtDBu2bVZBGCmhKXgQcIIKx4W2F2vGvIUD zOEf135PJ/dVwCAEEiwq504f+dgzkCXAONVug7Zb94bZ0MidbqihwGc4BvgmcBXmW1bf WGnbIWomuaGzhK1PV1XqTGVat4ph3uoFA5uUdsyXyLc6fPjt2s86+v/NXL2Bf73XjPjz gvirNbj5+9GTiEYID6/txW/2ONJEzcytrLqMJSV99c1K7xO8rhNiqBd9d1/Bx6Iypbn9 4rjLEG97Pck5EWMyv/rKp5I2HuULFVyKYSQMhePQVffQ34WjztNzFNqUwrQItbg80pl5 z5jA== 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=ODhuAZcZ7T8cAUToHWt+/xxs9BPhqRdYTNiMThBf9A0=; b=mPAGuHt/gTVhhfLW9mLHFh7mLvnbxQbU4nl5q4VJv3kkNCAu5WxHl3oUthj/TLs9cf qLCGiROomrMNJiqng9QKv64cRG/S3zaUb3itru0TWTxuYyclck/WTp1maSmU8BxhDTnv y5OoJxFx1P0YfrxXhYoAT4AZByJtsQzbZIS1TwPLLw+CbYiJ/M+Sor2TrddIocvkX8NF Wamz11Z/wAPeNY3SiQ1Ccxc+7gg87zBbkunKIApoiiRZErkmEPX2iUTEC/nSOOUR31ky uMzQmIBgVQz7Px6W9X+OFiCtB/VCbbINZPM5aO+cdA9vxVEzUky1TQoN7LKp/2RwJuEi yJsw== X-Gm-Message-State: AKGB3mL+AgKlNsIamawLiyv7Ku2PSKhkP4evzXOrDmmabfI31/j1kp3P s0OTRvesXA2SAg240HJScOI= X-Google-Smtp-Source: ACJfBosQDLuzmEh1V5jqnE4Cx4gA5tZwiXBNtL6+wiaOZi7ebOabJ4WC9x82d0IUoAhHz+8c84R2eQ== X-Received: by 10.55.195.142 with SMTP id r14mr19978307qkl.146.1513307913200; Thu, 14 Dec 2017 19:18:33 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:43 -0300 Message-Id: <20171215031547.31006-17-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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:c09::244 Subject: [Qemu-devel] [PATCH v2 16/20] sdhci: add qtest to check the SD 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@nongnu.org, Stefan Hajnoczi 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 with check_specs_version() Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Hajnoczi --- tests/sdhci-test.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++= ++++ tests/Makefile.include | 2 ++ 2 files changed, 76 insertions(+) create mode 100644 tests/sdhci-test.c diff --git a/tests/sdhci-test.c b/tests/sdhci-test.c new file mode 100644 index 0000000000..4ebe1e349b --- /dev/null +++ b/tests/sdhci-test.c @@ -0,0 +1,74 @@ +/* + * QTest testcase for SDHCI controllers + * + * Written by Philippe Mathieu-Daud=C3=A9 + * + * This work is licensed under the terms of the GNU GPL, version 2 or late= r. + * See the COPYING file in the top-level directory. + */ +#include "qemu/osdep.h" +#include "libqtest.h" + +#define SDHC_HCVER 0xFE + +static const struct sdhci_t { + const char *arch; + const char *machine; + struct { + uintptr_t addr; + uint8_t version; + } sdhci; +} models[] =3D { + { "arm", "smdkc210", + {0x12510000, 2} }, + { "arm", "sabrelite", + {0x02190000, 3} }, + { "arm", "raspi2", /* bcm2835 */ + {0x3f300000, 3} }, + { "arm", "xilinx-zynq-a9", /* exynos4210 */ + {0xe0100000, 3} }, +}; + +static uint32_t sdhci_readl(uintptr_t base, uint32_t reg_addr) +{ + QTestState *qtest =3D global_qtest; + + return qtest_readl(qtest, base + reg_addr); +} + +static void check_specs_version(uintptr_t addr, uint8_t version) +{ + uint32_t v; + + v =3D sdhci_readl(addr, SDHC_HCVER); + v &=3D 0xff; + v +=3D 1; + g_assert_cmpuint(v, =3D=3D, version); +} + +static void test_machine(const void *data) +{ + const struct sdhci_t *test =3D data; + + global_qtest =3D qtest_startf("-machine %s -d unimp", test->machine); + + check_specs_version(test->sdhci.addr, test->sdhci.version); + + qtest_quit(global_qtest); +} + +int main(int argc, char *argv[]) +{ + char *name; + int i; + + g_test_init(&argc, &argv, NULL); + + for (i =3D 0; i < ARRAY_SIZE(models); i++) { + name =3D g_strdup_printf("sdhci/%s", models[i].machine); + qtest_add_data_func(name, &models[i], test_machine); + g_free(name); + } + + return g_test_run(); +} diff --git a/tests/Makefile.include b/tests/Makefile.include index c002352134..af7f324e07 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -355,6 +355,7 @@ check-qtest-arm-y +=3D tests/virtio-blk-test$(EXESUF) gcov-files-arm-y +=3D arm-softmmu/hw/block/virtio-blk.c check-qtest-arm-y +=3D tests/test-arm-mptimer$(EXESUF) gcov-files-arm-y +=3D hw/timer/arm_mptimer.c +check-qtest-arm-y +=3D tests/sdhci-test$(EXESUF) =20 check-qtest-aarch64-y =3D tests/numa-test$(EXESUF) =20 @@ -609,6 +610,7 @@ tests/test-qht-par$(EXESUF): tests/test-qht-par.o tests= /qht-bench$(EXESUF) $(tes tests/qht-bench$(EXESUF): tests/qht-bench.o $(test-util-obj-y) tests/test-bufferiszero$(EXESUF): tests/test-bufferiszero.o $(test-util-ob= j-y) tests/atomic_add-bench$(EXESUF): tests/atomic_add-bench.o $(test-util-obj-= y) +tests/sdhci-test$(EXESUF): tests/sdhci-test.o =20 tests/test-qdev-global-props$(EXESUF): tests/test-qdev-global-props.o \ hw/core/qdev.o hw/core/qdev-properties.o hw/core/hotplug.o\ --=20 2.15.1 From nobody Mon May 6 19:08:37 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 1513308758086905.7574796392832; Thu, 14 Dec 2017 19:32:38 -0800 (PST) Received: from localhost ([::1]:44057 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgjf-0002k9-3x for importer@patchew.org; Thu, 14 Dec 2017 22:32:31 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54886) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgWF-0007fC-OL for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:18:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgWE-0002hC-U7 for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:18:39 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:35946) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgWE-0002gd-PY; Thu, 14 Dec 2017 22:18:38 -0500 Received: by mail-qt0-x244.google.com with SMTP id a16so10594826qtj.3; Thu, 14 Dec 2017 19:18:38 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.18.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:18:37 -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=jiYjx6K4VMABkekyhu1PE1MLXOLVrqG7LnZPoDc4ZcE=; b=XeQZyc/HhhDOs5wDhlm3+lWBGkbmX1bIp8Uwm9E7uXsRF4EBUN7of/O3CVb9jRxhye QFuSd18rB4NW47xzoFFMzL9tSfyhpTcZ+FdZ/HuJFuptXJGyr5PNbtu4cWWZ0Q3WvbHz seGBzxo/jZqDxdLI/+I0MSq5QWpf5z2jlQMx5SJBYfNEWaQo0DbdjQNw8mBV8XDwVSV/ nTSoW9DjdRZTH6Eu/FGMssKCd7zJZylJiJv5SdR6AT0gEfqMhtZCVjYNxxxdXpPAGicd GSMvnGTsMH4xfdXncRfHysdK2FXp5NvMK+EmxN5NU8Pxx78u16q3LxCxs+bp9KIBy16C 2Y4w== 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=jiYjx6K4VMABkekyhu1PE1MLXOLVrqG7LnZPoDc4ZcE=; b=m4xTD190vVYBmJW9hOXacb4afCXvhM74Y+y9JdolSq4EB5CAyKZFgyLIVjnYwYzApA TjfSGh6c4d2BJWtlX0lxjMUzzoiE5K6E/pa1PqTgIJAXECES5mIbmmMYSxn3Px1XPJ97 xtFoOUfMpplpuvUsJaSqdHeA5rtnhN2Tj4JS1pNyJ+9oh466FnRmpHgFMzg3tIkz7Ms6 8jWwSAiHwwpFVmjwVlkOw30ltaQXLhnUsJqwaWZEOF0eELL5YQA52bJ/+/f5o+7p7Ch4 o89SkuK/y0ySYS5iV6QVRoBzOcw4vPC+sLOml5YQLK1T+RXOGifnHu/oUpe0O6jvrMv8 BOeA== X-Gm-Message-State: AKGB3mKzik0k0RBIMT8ubEAvuHBvC0Fwe9AEVBJc98NwAxqwz8iO09P5 RgbtqaUxmtE+ROQf1hgxy34= X-Google-Smtp-Source: ACJfBouZsU1wsUMSO7Vq8kv31Sdqp97v7yu7AFGKBZa0Vi3vSGjB2kE0Ukbr4G6eDuDnT9RXMctlsg== X-Received: by 10.200.51.46 with SMTP id t43mr20378699qta.75.1513307918311; Thu, 14 Dec 2017 19:18:38 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:44 -0300 Message-Id: <20171215031547.31006-18-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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 v2 17/20] sdhci: add check_capab_readonly() qtest 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@nongnu.org, Stefan Hajnoczi 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: Stefan Hajnoczi --- tests/sdhci-test.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tests/sdhci-test.c b/tests/sdhci-test.c index 4ebe1e349b..01373a69df 100644 --- a/tests/sdhci-test.c +++ b/tests/sdhci-test.c @@ -9,6 +9,7 @@ #include "qemu/osdep.h" #include "libqtest.h" =20 +#define SDHC_CAPAB 0x40 #define SDHC_HCVER 0xFE =20 static const struct sdhci_t { @@ -36,6 +37,20 @@ static uint32_t sdhci_readl(uintptr_t base, uint32_t reg= _addr) return qtest_readl(qtest, base + reg_addr); } =20 +static uint64_t sdhci_readq(uintptr_t base, uint32_t reg_addr) +{ + QTestState *qtest =3D global_qtest; + + return qtest_readq(qtest, base + reg_addr); +} + +static void sdhci_writeq(uintptr_t base, uint32_t reg_addr, uint64_t value) +{ + QTestState *qtest =3D global_qtest; + + qtest_writeq(qtest, base + reg_addr, value); +} + static void check_specs_version(uintptr_t addr, uint8_t version) { uint32_t v; @@ -46,6 +61,20 @@ static void check_specs_version(uintptr_t addr, uint8_t = version) g_assert_cmpuint(v, =3D=3D, version); } =20 +static void check_capab_readonly(uintptr_t addr) +{ + const uint64_t vrand =3D 0x123456789abcdef; + uint64_t capab0, capab1; + + capab0 =3D sdhci_readq(addr, SDHC_CAPAB); + g_assert_cmpuint(capab0, !=3D, vrand); + + sdhci_writeq(addr, SDHC_CAPAB, vrand); + capab1 =3D sdhci_readq(addr, SDHC_CAPAB); + g_assert_cmpuint(capab1, !=3D, vrand); + g_assert_cmpuint(capab1, =3D=3D, capab0); +} + static void test_machine(const void *data) { const struct sdhci_t *test =3D data; @@ -53,6 +82,7 @@ static void test_machine(const void *data) global_qtest =3D qtest_startf("-machine %s -d unimp", test->machine); =20 check_specs_version(test->sdhci.addr, test->sdhci.version); + check_capab_readonly(test->sdhci.addr); =20 qtest_quit(global_qtest); } --=20 2.15.1 From nobody Mon May 6 19:08:37 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 1513308946745781.8875779651447; Thu, 14 Dec 2017 19:35:46 -0800 (PST) Received: from localhost ([::1]:44079 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgmm-0005Zm-9m for importer@patchew.org; Thu, 14 Dec 2017 22:35:44 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54938) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgWL-0007kQ-9m for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:18:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgWJ-0002kb-EB for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:18:45 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:40350) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgWJ-0002kL-9p; Thu, 14 Dec 2017 22:18:43 -0500 Received: by mail-qt0-x244.google.com with SMTP id u42so10557606qte.7; Thu, 14 Dec 2017 19:18:43 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.18.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:18:42 -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=nwg4RAxwg+fQhsHJvTISNbwKqPGxHP5057iM/3xBWyE=; b=GX8RVacLn2MkaADAIx7Ux6NIk7DFOciYQgDQDa/T7C+QZFs9AnxdF7PJdMT72QAGCP ccer6H8SUz0RawbY47pDEmwteNOOE1BYnBcPRUpNJNFRDzgzw4ll0UPeH8rkLel4sytX xdUf0KGieburC+g1bOY9YP1qIFB3XkLOhFsv0U5J90pRS54IzgxbcgLTXU47cT78A5S4 y2cvDWJHHqtcuoUx8JVkEmjEyQVXgpfYBFedgS+4stMwa+0hjgcXvOQRwU5QbhoKoQC2 A5b1ybLenU00N9fJB8r08CU9gizicR7W0MuU94oPg50QOXgglIrhgsX/AGMdohh0j/NM XXrA== 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=nwg4RAxwg+fQhsHJvTISNbwKqPGxHP5057iM/3xBWyE=; b=hmz8NoSQCifOcq/xAy3xYuI4rXGJq2+Sq9cjJqsbbgUx+v4i1FD+l9xmAJJuau7tgF anTfPWPwEJ4HnyF4h0lNEv3hOhvEHao8QmH37BM3Az6YrB7+8OcwGqUQ6jTdtE/kf44x vMXztuWahuJ24NoTHjXD8SCpj6x1lSyx+lK4/G5W4KIHX7A35QqgSBPAv17o3K2MAcPL p/Gq9Oc4x+YFoZm0v0YqHBs5padd5fhiHpCIB4nRFtIx43UcLsreIjZt7QFxZx0c+0yI kfH9VzUUSlfseHken7Zjj2kFTf74CdGJqBvlqI0jj8OgznoSM4JQa3lcJlPgvmId0a3r hbkQ== X-Gm-Message-State: AKGB3mJ5b9JvYQEnJPFA9A5PSVmKSU41MSaoPRra9KwlOAC/DaHVhDjU 6dIkfJYE9EjLEDu6XAmUGB8= X-Google-Smtp-Source: ACJfBosPDQMgQYSBVu/EwXj5JTym/snSsYFwdCTeX8norH8IYx5Y4FxLHdCS7ZP1MevjtT3cPkje6A== X-Received: by 10.200.47.169 with SMTP id l38mr20334284qta.183.1513307922862; Thu, 14 Dec 2017 19:18:42 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:45 -0300 Message-Id: <20171215031547.31006-19-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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 v2 18/20] sdhci: add a check_capab_baseclock() qtest 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@nongnu.org, Stefan Hajnoczi 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: Stefan Hajnoczi --- tests/sdhci-test.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/tests/sdhci-test.c b/tests/sdhci-test.c index 01373a69df..966bd00499 100644 --- a/tests/sdhci-test.c +++ b/tests/sdhci-test.c @@ -7,9 +7,11 @@ * See the COPYING file in the top-level directory. */ #include "qemu/osdep.h" +#include "hw/registerfields.h" #include "libqtest.h" =20 #define SDHC_CAPAB 0x40 +FIELD(SDHC_CAPAB, BASECLKFREQ, 8, 8); /* since v2 */ #define SDHC_HCVER 0xFE =20 static const struct sdhci_t { @@ -18,16 +20,17 @@ static const struct sdhci_t { struct { uintptr_t addr; uint8_t version; + uint8_t baseclock; } sdhci; } models[] =3D { { "arm", "smdkc210", - {0x12510000, 2} }, + {0x12510000, 2, 0} }, { "arm", "sabrelite", - {0x02190000, 3} }, + {0x02190000, 3, 0} }, { "arm", "raspi2", /* bcm2835 */ - {0x3f300000, 3} }, + {0x3f300000, 3, 52} }, { "arm", "xilinx-zynq-a9", /* exynos4210 */ - {0xe0100000, 3} }, + {0xe0100000, 3, 0} }, }; =20 static uint32_t sdhci_readl(uintptr_t base, uint32_t reg_addr) @@ -75,6 +78,18 @@ static void check_capab_readonly(uintptr_t addr) g_assert_cmpuint(capab1, =3D=3D, capab0); } =20 +static void check_capab_baseclock(uintptr_t addr, uint8_t expected_freq) +{ + uint64_t capab, capab_freq; + + if (!expected_freq) { + return; + } + capab =3D sdhci_readq(addr, SDHC_CAPAB); + capab_freq =3D FIELD_EX64(capab, SDHC_CAPAB, BASECLKFREQ); + g_assert_cmpuint(capab_freq, =3D=3D, expected_freq); +} + static void test_machine(const void *data) { const struct sdhci_t *test =3D data; @@ -83,6 +98,7 @@ static void test_machine(const void *data) =20 check_specs_version(test->sdhci.addr, test->sdhci.version); check_capab_readonly(test->sdhci.addr); + check_capab_baseclock(test->sdhci.addr, test->sdhci.baseclock); =20 qtest_quit(global_qtest); } --=20 2.15.1 From nobody Mon May 6 19:08:37 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) 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=temperror (zoho.com: Error in retrieving data from DNS) 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 1513308563181523.8377667904548; Thu, 14 Dec 2017 19:29:23 -0800 (PST) Received: from localhost ([::1]:44036 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePggE-0008DK-93 for importer@patchew.org; Thu, 14 Dec 2017 22:28:58 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54989) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgWP-0007mT-41 for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:18:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgWO-0002oB-4V for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:18:49 -0500 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:39164) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgWN-0002nm-Vm; Thu, 14 Dec 2017 22:18:48 -0500 Received: by mail-qt0-x242.google.com with SMTP id k19so10562607qtj.6; Thu, 14 Dec 2017 19:18:47 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.18.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:18: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=KcV7cBnkBAIbkLrJIeyMQMCXY7pj1UAnDWJGxDs/r9c=; b=HjtaLFm2QZZLaWaTE/SC82th5lNXCoqFqrIoGSkxjCAs0jDdhJ8TYlyrp328q3bkww VhdnvSxWWPb10WeN/xjFKXVq0WgXvaxOqP/mu7Aykv3+gz3sr/sgWmYmKQPfYTz8aTgR 8aCBzWhTX9OWqlo3zvPJb8I8iJHCya1nt38DvjMw9yj1KPYQc7lhjTYkOhZ2YM43QQxl J4Lt0se6TZqJ9Ag//reT2tzzMh5hPV66z1Lyaz15dYA/OhBhqvqWLG1T7zSIfJbikiYH 4a5JcU31i9d4ilPHu3vti1dmJi+8d4xF69keIhcbNm2epfOw36+/BFr4KS0S2HkcJSDP wBjg== 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=KcV7cBnkBAIbkLrJIeyMQMCXY7pj1UAnDWJGxDs/r9c=; b=bGxCyqWVTs5fnp8wm6/VHCThalCLV0kfmQsgcT2Y4Yf1tkJULQVchqUlgdObWaL5CJ EV5HThNhcvpf80wHj0KOflIuss4Vt3g5I6bK2EgiEob8D7OrpFOXZOWkDo1t+oAi6NYm LxrNWYXdaIop7aXzV4j1N1HTSWNAfjgnnEzPtwYezhEvgC7TVWkP2jgy9UU//5oBLviC 5u0vJFsz5GfyUXNCIOxlv7/pM+TEKtUVyYq+yl2Iej0x4/CdQJ+vvvayFlgZgiVlkrBX OenqFGSqfcEZeQz1cnYfNG4FrS8Acmrs3KqiABsRa9dTHeh1dW4BVXFJvm3MzzVM6nZL 3mrg== X-Gm-Message-State: AKGB3mKouZbCSVoUAFZjurzgOMHMho0/Sj5A6SjiwD+rlSRWBz3aiL9S fttSsFbWBmkYKFvXBRvUcCM= X-Google-Smtp-Source: ACJfBovfKfObmZqEFp8HqjcaqIkcbxz7b0C8ZGVGmefbcO3qRynht4P7PiapmrI173RKw8bwmBVMPg== X-Received: by 10.200.55.75 with SMTP id p11mr19722478qtb.298.1513307927540; Thu, 14 Dec 2017 19:18:47 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:46 -0300 Message-Id: <20171215031547.31006-20-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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 v2 19/20] sdhci: add a check_capab_sdma() qtest 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@nongnu.org, Stefan Hajnoczi 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_6 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tests/sdhci-test.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/tests/sdhci-test.c b/tests/sdhci-test.c index 966bd00499..b7646bccc6 100644 --- a/tests/sdhci-test.c +++ b/tests/sdhci-test.c @@ -12,6 +12,7 @@ =20 #define SDHC_CAPAB 0x40 FIELD(SDHC_CAPAB, BASECLKFREQ, 8, 8); /* since v2 */ +FIELD(SDHC_CAPAB, SDMA, 22, 1); #define SDHC_HCVER 0xFE =20 static const struct sdhci_t { @@ -21,16 +22,19 @@ static const struct sdhci_t { uintptr_t addr; uint8_t version; uint8_t baseclock; + struct { + bool sdma; + } capab; } sdhci; } models[] =3D { { "arm", "smdkc210", - {0x12510000, 2, 0} }, + {0x12510000, 2, 0, {1} } }, { "arm", "sabrelite", - {0x02190000, 3, 0} }, + {0x02190000, 3, 0, {1} } }, { "arm", "raspi2", /* bcm2835 */ - {0x3f300000, 3, 52} }, + {0x3f300000, 3, 52, {0} } }, { "arm", "xilinx-zynq-a9", /* exynos4210 */ - {0xe0100000, 3, 0} }, + {0xe0100000, 3, 0, {1} } }, }; =20 static uint32_t sdhci_readl(uintptr_t base, uint32_t reg_addr) @@ -90,6 +94,15 @@ static void check_capab_baseclock(uintptr_t addr, uint8_= t expected_freq) g_assert_cmpuint(capab_freq, =3D=3D, expected_freq); } =20 +static void check_capab_sdma(uintptr_t addr, bool supported) +{ + uint64_t capab, capab_sdma; + + capab =3D sdhci_readq(addr, SDHC_CAPAB); + capab_sdma =3D FIELD_EX64(capab, SDHC_CAPAB, SDMA); + g_assert_cmpuint(capab_sdma, =3D=3D, supported); +} + static void test_machine(const void *data) { const struct sdhci_t *test =3D data; @@ -98,6 +111,7 @@ static void test_machine(const void *data) =20 check_specs_version(test->sdhci.addr, test->sdhci.version); check_capab_readonly(test->sdhci.addr); + check_capab_sdma(test->sdhci.addr, test->sdhci.capab.sdma); check_capab_baseclock(test->sdhci.addr, test->sdhci.baseclock); =20 qtest_quit(global_qtest); --=20 2.15.1 From nobody Mon May 6 19:08:37 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 151330870071488.20553761440749; Thu, 14 Dec 2017 19:31:40 -0800 (PST) Received: from localhost ([::1]:44055 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgin-0001rq-49 for importer@patchew.org; Thu, 14 Dec 2017 22:31:37 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55062) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePgWU-0007qp-Eq for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:18:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePgWS-0002rl-P6 for qemu-devel@nongnu.org; Thu, 14 Dec 2017 22:18:54 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:44111) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePgWS-0002rJ-Jy; Thu, 14 Dec 2017 22:18:52 -0500 Received: by mail-qt0-x243.google.com with SMTP id m59so10524738qte.11; Thu, 14 Dec 2017 19:18:52 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l125sm3484740qkc.3.2017.12.14.19.18.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 19:18:51 -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=X0bQn7z+PaZ5TjJcJ6dVLWpvAeJC2iznautj+bGfUrk=; b=RMo11nx7DB771QTXO8XwgCpGctTgL19TSDyNGXohuc7DKVomT6C8ScYSMmwCAiW2Ax Vi+86vLgf3pCMuHoMEYue9ZbxFxaF6wyuYv43fTUkPDIo87Q2Nexp46a/g/nyEHHxr/2 R7Fzv+U6v/Iswab8h5LfxMCRrqxj4Cn0h6dq4K8uICZg2MxXnUyf8ClzdN1exyjbAkd3 sk9jJxAZCayl7RO+8or1Tdf8ZVzLgQT6mjhh0GUpqq9TAlmgkKB3buAZZsIDPZIgOIwN AmJeND97VT9OKSiYO4XUppnguMw1gmNHrFRCIT3i3pXPE2jAGXU7fF52nc7YyP1rHMlr anXQ== 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=X0bQn7z+PaZ5TjJcJ6dVLWpvAeJC2iznautj+bGfUrk=; b=nDNHeZr+IxXdJtH76V+gzhqezL6T53mKgPN6FRzapuemrT8FLaapRpN4Ab24qyyZ+T ZPe0PqTVwn1r2Iz0/nxabaAsOse+tTWvVxF71oAtp1U3r5sJkOmAhnlo0eeOchpY8WoJ 5FgqzlxwFnXYsQK6CfMEgAngI8v0zd2zzhplKAb/JnJrrTp0nBSPdI+J5bCvpMjwf5r7 4AtE/reKcMUldR4PZdvjnJdDvHtFhaRP0YjhZMFKM688HiQJlrwaobH4lBT5bQ+phdMo 4QYb+OwVNAnfERGfpF2VJ8mBc7drKNxrTA7xSSnLHSlKWbxeTEBMIMGJmnSiqbA/GnvQ 1KoQ== X-Gm-Message-State: AKGB3mJlRHZAY5gFcEo89608sefB8W0mrMW8MM8I4Tlg4QrsGnAnTtVo uu/zR3dltTaBGk0jhcwMk/Q= X-Google-Smtp-Source: ACJfBouhNSTN6PDDrns0k9pP6C+LHtUNCqnhSduNWBPsNuVW0/xXc7e5aErGsz1vxrqWCqeSTqpJCA== X-Received: by 10.237.34.168 with SMTP id p37mr21463211qtc.136.1513307932152; Thu, 14 Dec 2017 19:18:52 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Michael Walle , Andrzej Zaborowski , Andrew Baumann , Andrey Smirnov , Andrey Yurovsky Date: Fri, 15 Dec 2017 00:15:47 -0300 Message-Id: <20171215031547.31006-21-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org> References: <20171215031547.31006-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 v2 20/20] sdhci: add a check_capab_v3() qtest 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: Prasad J Pandit , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , qemu-arm@nongnu.org, Stefan Hajnoczi 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: Stefan Hajnoczi --- tests/sdhci-test.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/sdhci-test.c b/tests/sdhci-test.c index b7646bccc6..60b28f27b3 100644 --- a/tests/sdhci-test.c +++ b/tests/sdhci-test.c @@ -13,6 +13,8 @@ #define SDHC_CAPAB 0x40 FIELD(SDHC_CAPAB, BASECLKFREQ, 8, 8); /* since v2 */ FIELD(SDHC_CAPAB, SDMA, 22, 1); +FIELD(SDHC_CAPAB, SDR, 32, 3); /* since v3 */ +FIELD(SDHC_CAPAB, DRIVER, 36, 3); /* since v3 */ #define SDHC_HCVER 0xFE =20 static const struct sdhci_t { @@ -103,6 +105,21 @@ static void check_capab_sdma(uintptr_t addr, bool supp= orted) g_assert_cmpuint(capab_sdma, =3D=3D, supported); } =20 +static void check_capab_v3(uintptr_t addr, uint8_t version) +{ + uint64_t capab, capab_v3; + + if (version >=3D 3) { + return; + } + /* before v3 those fields are RESERVED */ + capab =3D sdhci_readq(addr, SDHC_CAPAB); + capab_v3 =3D FIELD_EX64(capab, SDHC_CAPAB, SDR); + g_assert_cmpuint(capab_v3, =3D=3D, 0); + capab_v3 =3D FIELD_EX64(capab, SDHC_CAPAB, DRIVER); + g_assert_cmpuint(capab_v3, =3D=3D, 0); +} + static void test_machine(const void *data) { const struct sdhci_t *test =3D data; @@ -111,6 +128,7 @@ static void test_machine(const void *data) =20 check_specs_version(test->sdhci.addr, test->sdhci.version); check_capab_readonly(test->sdhci.addr); + check_capab_v3(test->sdhci.addr, test->sdhci.version); check_capab_sdma(test->sdhci.addr, test->sdhci.capab.sdma); check_capab_baseclock(test->sdhci.addr, test->sdhci.baseclock); =20 --=20 2.15.1