From nobody Sat Apr 20 05:39:54 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 1515699175195160.16081950302123; Thu, 11 Jan 2018 11:32:55 -0800 (PST) Received: from localhost ([::1]:36585 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZias-0003zP-C4 for importer@patchew.org; Thu, 11 Jan 2018 14:32:54 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44451) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZiYc-0002aH-Mh for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZiYb-00058p-Hr for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:34 -0500 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:37386) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZiYb-00058B-DL for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:33 -0500 Received: by mail-qt0-x241.google.com with SMTP id f2so3234554qtj.4 for ; Thu, 11 Jan 2018 11:30:33 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id i37sm4870538qtc.80.2018.01.11.11.30.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:30: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=H55m8SAxQCZteXEHo639T3ncP9waoJie0p/fu8nR8T8=; b=WoP5cSB09nEWiQZEHx0BO+KcIvBbk2cVYdeA5YY0k8IESxRCqoI8RY70uYgnC85hAR O6oLhl4hr7owZO3XgLiOIzl7VZ3MLtPKVTI12I5GmBrBD+5QBTdXubKeK+rwctmt5A8C kiVMG5nGIro7FPJjwUoMLkivcCAdb6aTuyGwwsG05UIPkPf8UCvW9zE4dBO3qwjcvbo1 J5tYD0Ae6A7W6MwMBhx4gU0pH9a9L8j20tS3+sUTHHUsLADoQvrC2eyBfH5pIl5RB6EJ vcFbCkpxqBUA9YWNm+RGyNyy5QtR9NCnQw0dcsVUsAFpY5zevJ5/zdRUKDU1PwbCUGZ3 3tRw== 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=H55m8SAxQCZteXEHo639T3ncP9waoJie0p/fu8nR8T8=; b=bf6/ZpyGUlOkvQiawNLPShSXh+/cSdgo4NbbTYj+d2nfCDd+96NMMEvDvuFFnGk2T0 AMHjlYpTdj2IrEC7hQZuhgr3d8TB5glilm7udWuV4YRAz0jrY1aYJpPe3xk3L+vlfXII TWXJfRVKBeig12XJs/ibieEnmI9rudep6HhWtQf1i6Wg2nebqrMqfJlmWH3Q/cFWqotD yzAvicSIguRA8SSt1emSIeNh/bA1E/fObGBo9eBIhWj5vfgEWRICeNo0Xco4vYWsWGwv 4OWc9yMzzH1WiK/AlS/ZZgauUDU5OUDFD9BXA3WJq3SuGZTIJ15et8Boj0UDUe5/cQGl Q/qQ== X-Gm-Message-State: AKwxyteYqguPudWuijHosF0xzoDhhhhLKIbYYFSyia9WRIUOIsH90Fms WRcIUJhe9hXcwDLvTXlxolU= X-Google-Smtp-Source: ACJfBoufgCsvZDUNiIfe/Dzs5GZl2NEhDZFiRJzm9uHBm5odlqQ2DgXlp1v29enhZBems3JKGoMH7w== X-Received: by 10.237.34.137 with SMTP id p9mr31940830qtc.194.1515699032929; Thu, 11 Jan 2018 11:30:32 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 11 Jan 2018 16:30:09 -0300 Message-Id: <20180111193021.17466-2-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180111193021.17466-1-f4bug@amsat.org> References: <20180111193021.17466-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 v6 01/13] 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: "Edgar E . Iglesias" , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sdhci-internal.h | 4 ---- include/hw/sd/sdhci.h | 7 ++++++- hw/sd/sdhci.c | 1 + 3 files changed, 7 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..1335373d3c 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 @@ -46,6 +48,7 @@ typedef struct SDHCIState { qemu_irq ro_cb; qemu_irq irq; =20 + /* Registers cleared on reset */ uint32_t sdmasysad; /* SDMA System Address register */ uint16_t blksize; /* Host DMA Buff Boundary and Transfer BlkSize = Reg */ uint16_t blkcnt; /* Blocks count for current transfer */ @@ -70,8 +73,10 @@ typedef struct SDHCIState { uint16_t acmd12errsts; /* Auto CMD12 error status register */ uint64_t admasysaddr; /* ADMA System Address Register */ =20 + /* Read-only registers */ uint32_t capareg; /* Capabilities Register */ uint32_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 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 Sat Apr 20 05:39:54 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 1515699371438358.2463549325852; Thu, 11 Jan 2018 11:36:11 -0800 (PST) Received: from localhost ([::1]:36622 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZidx-0006ry-05 for importer@patchew.org; Thu, 11 Jan 2018 14:36:05 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44505) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZiYf-0002c0-D6 for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZiYe-0005DI-L3 for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:37 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:43423) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZiYe-0005Cr-GV for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:36 -0500 Received: by mail-qk0-x242.google.com with SMTP id a5so2942685qkg.10 for ; Thu, 11 Jan 2018 11:30:36 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id i37sm4870538qtc.80.2018.01.11.11.30.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:30:34 -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=E3zgiU1j/LzYxFXVPmxdCiky/XMOAVSDa7ZI6RR+yxY=; b=hNyt2lEjJkfQ9A0lJymjUy3Oivokl7rb0euDqEPFoQ+48WO38oh2U2sGHnNPmPv5y7 eeyssn+j1XiZRYoM0X8D1wl9ZBJCtAe08vDfTCJX+SxSUAbHfY4+fRUsZAbVegck/RaI X416XZ5rVocu0AONGSCX9rkRGJF7BxgnjYUq1jQH6ZOvgzMmtFBhyGkr8IT9OeyBnx5z dVyTxCQx+EEyAX8j6guhPu18T3SObq71JXsjMNmE2WnmuD/yxlPzJ4PDAcgO2PXmBg75 ka8PU/VoDMN0Sceh4WXHZgFvcKSI4/vVo6+RHfMPpZGwTs68Hz8zLSoYwA1mxiMv5/4W Fosg== 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=E3zgiU1j/LzYxFXVPmxdCiky/XMOAVSDa7ZI6RR+yxY=; b=RouKHED+uoak3D7GUfI7vT6gcgDpW0dOMN48VLtqF/ASbLXJS14eEAvx/6hAw0PjxH yHcRTfRpBI/Ex4e2pSl9X33/K+zuv4r0LSD68JzKwGV533wt58Emet/pJrQ3lRt2MON3 rC9XJioRzRPl+h2UTG318XYpSdWnA/Oi5wB4HyfBkcl59eok1HfrkptKteIJViU/o9dN t+xibmfy2Hg39VSBrw2xKPhaqmbCOc8fikR03rhpMhZHBdV+0yeGeup4cJ6MDGEXFqsK JtJYQ/9N2XS8wqdQlhXQMUD+mQlIrNoyHib3dvUlqFjj1VO3woB/1wqPg3B3tKp1uto6 kItw== X-Gm-Message-State: AKwxytd91wfWN8c6L6kmyrRvMNz5df+dPOiuQbYt/GKf2/Ux738fbSeN xN2C8NWbCfWez09SIMmTdm4= X-Google-Smtp-Source: ACJfBou4KXqNElNuHTadv71oUW2zD9zxC2ghJWFtxUurhP2bNXvfLGi4q16IJ0hQw0qzl8vqWohuPg== X-Received: by 10.55.42.12 with SMTP id q12mr33331653qkh.354.1515699035537; Thu, 11 Jan 2018 11:30:35 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 11 Jan 2018 16:30:10 -0300 Message-Id: <20180111193021.17466-3-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180111193021.17466-1-f4bug@amsat.org> References: <20180111193021.17466-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 v6 02/13] sdhci: remove dead code X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- include/hw/sd/sdhci.h | 2 -- hw/sd/sdhci.c | 2 -- 2 files changed, 4 deletions(-) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 1335373d3c..dacd726537 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -44,8 +44,6 @@ typedef struct SDHCIState { =20 QEMUTimer *insert_timer; /* timer for 'changing' sd card. */ QEMUTimer *transfer_timer; - qemu_irq eject_cb; - qemu_irq ro_cb; qemu_irq irq; =20 /* Registers cleared on reset */ diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index b7d2a20985..365bc80009 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1200,8 +1200,6 @@ static void sdhci_uninitfn(SDHCIState *s) 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); =20 g_free(s->fifo_buffer); s->fifo_buffer =3D NULL; --=20 2.15.1 From nobody Sat Apr 20 05:39:54 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 15156993704771012.3995167557961; Thu, 11 Jan 2018 11:36:10 -0800 (PST) Received: from localhost ([::1]:36625 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZie1-0006wB-Kc for importer@patchew.org; Thu, 11 Jan 2018 14:36:09 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44641) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZiYl-0002ha-CX for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZiYh-0005HM-Gv for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:43 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:35566) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZiYh-0005Gp-D6 for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:39 -0500 Received: by mail-qt0-x244.google.com with SMTP id u10so3220314qtg.2 for ; Thu, 11 Jan 2018 11:30:39 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id i37sm4870538qtc.80.2018.01.11.11.30.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:30:38 -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=PkxnL2/val5yDw/QzoIRup2WntU9qCP1aSH/966S3sA=; b=KrayHPsRZz3ttNZ47h5Psiqa7d9UMGP4vm0TN6MQtSXG7rfxY8QHZEZiDoIBXJn9kb jeBvECQA5C4Vhr3vsNPjGXaN2rH9xNm72TH6eyvNEv4nzTpQBjH19jrVuqN5HKXOHV97 T+QfmVJ5ZTx9eAG9pXPKf884z5fRjCEJ02a/reo1hqZ8j+hu7Yy7MT1C8tNSpTbGJvRt 9j5xPZbcv4qSESSJZykKWIbJXxRBJIvarrWXHVG/ngMq4m6DfBJsmi5rxo5EeZ5MVTtj /4EUs9nQpvPS+LOnq/yfqXpfsaICgqvQAPpLBel7+tlX9LFGufz7YA685TdLUgDO5pmk 5G0g== 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=PkxnL2/val5yDw/QzoIRup2WntU9qCP1aSH/966S3sA=; b=fnLPi4ETbfyfnPENghpIdoDCSxibjZ2qBNJunlk0Vl+OvLgEFKxX25eeN5HUAotOIN ApFAPvuF8f4+GIlYDBKBiL4KPkkxNPZYaTNoKjYqEJZBZIhiaJFNeqf5bglIh64vn9C3 bIfHKxbD62SHNmA/U3AvkRY26y+3/cJnD+9XuvjQlL9Ffc6xF+nDYClCbTqBSWABgQNf PbHii1Hgz5XgGQ3ZMkD2tXK8GdmMxoE534pDH51LPRJsrN/a2XoUdQjWifD0MdopzrBf U4WS/GxU5MS3FFBikXIYmKKjksRafK62AAqVGAw9pXHyaZbnOMMmmcWKzTGlzMl1xuGB ocJA== X-Gm-Message-State: AKwxytf+dQ+9mNLghOUZFPL/eQoo4rK8ZU2RSq0QCqVJk5eOltVmqIDy JPrbrjAN4FswPmxcWokRg1k= X-Google-Smtp-Source: ACJfBosBYjb0LMH2BD6xvplGzqiL75+dcQBUG4DN4SjXz9BsSJ6ct45mPq9BOVFTwP2F8lwxvn682g== X-Received: by 10.237.48.161 with SMTP id 30mr33302090qtf.30.1515699038862; Thu, 11 Jan 2018 11:30:38 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 11 Jan 2018 16:30:11 -0300 Message-Id: <20180111193021.17466-4-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180111193021.17466-1-f4bug@amsat.org> References: <20180111193021.17466-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 v6 03/13] 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: "Edgar E . Iglesias" , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Now both sysbus/pci classes inherit of the 'pending-insert-quirk' property, which is a HCI dependent property (regardless if accessed through a MMIO sysbus or a PCI bus). So far only the BCM implementation has to use it. Add sysbus/pci/sdbus comments to have clearer code blocks separation. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- include/hw/sd/sdhci.h | 4 +++- hw/sd/sdhci.c | 21 ++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index dacd726537..8041c9629e 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -79,13 +79,15 @@ typedef struct SDHCIState { uint32_t buf_maxsz; uint16_t data_count; /* current element in FIFO buffer */ uint8_t stopped_state;/* Current SDHC state */ - bool pending_insert_quirk;/* Quirk for Raspberry Pi card insert in= t */ bool pending_insert_state; /* Buffer Data Port Register - virtual access point to R and W buffers= */ /* Software Reset Register - always reads as 0 */ /* 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 */ + + /* Configurable properties */ + bool pending_insert_quirk; /* Quirk for Raspberry Pi card insert int */ } SDHCIState; =20 #define TYPE_PCI_SDHCI "sdhci-pci" diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 365bc80009..a11469fbca 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1266,13 +1266,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); @@ -1305,7 +1309,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 @@ -1320,14 +1324,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) { @@ -1360,7 +1357,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; } @@ -1374,6 +1371,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 Sat Apr 20 05:39:54 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 151569918428739.888338857101985; Thu, 11 Jan 2018 11:33:04 -0800 (PST) Received: from localhost ([::1]:36586 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZib1-00044v-G8 for importer@patchew.org; Thu, 11 Jan 2018 14:33:03 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44634) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZiYk-0002gw-UT for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZiYk-0005MB-0c for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:42 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:45550) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZiYj-0005Lc-SK for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:41 -0500 Received: by mail-qk0-x241.google.com with SMTP id z12so5693273qkf.12 for ; Thu, 11 Jan 2018 11:30:41 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id i37sm4870538qtc.80.2018.01.11.11.30.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:30:40 -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=FC0J6XG/qG2b9tl7VHzmcr7zLRwIYaVPjN9DesCvoYI=; b=YpmPKN2LZcU6Ohoo5T1kyA7FsSI9GuASeQDssXEm/3MnNGNqilH78SBA3jG75WUtAp iH5LE9aA6nUHb2SJTa16kVTrYHRYnZYtAwRdRJ8fkCqXhphNBocP3/Y1Er+PRTA35nyi zQMpcZNdG22lkBw/eRsdN6biXmGowWNUoSUd9hnZTCHzLYGu+47sjUQOH94X5uRgwT8v +yMJuvq6fWqYPX3zjFTIMj8S7LtJf3r46gxqjZ5IvFM04Ki2QyCX/IxWZTjobCnf4H6b WvioELkrMcNs/lAmYIBLMfqkKYjt1pCygORVuWIiD/4zBUt9+EHnJXWkrbh8/ieyY6/T vMAQ== 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=FC0J6XG/qG2b9tl7VHzmcr7zLRwIYaVPjN9DesCvoYI=; b=b3RHm9PLlVmI0HgTmQ4brmHS2uUKJUeoOzA9RZFCe8Fpht1eKRfdx5WH5axRmT5a6e Z9YS0csZhY0v1gkrf/aq/rww5rBBAkn6FgVkuJTQIQgmcNC8dfL0shYmu4Ou8mhS61uk dUvj6h9fCJIkgUb4PTiPcr+eqAouvmrCk1jcr9nbk7x3No3f72VQohYYAsx1ZelUoovL xafuoMjHhGiTvf20rFukZyp4CxavNxsXeQxixWZn4bB2KJxXP4w3NRvHFjWp+pYxgrJ3 ipOnkyTFwIwWnFc2/3BDXtAB7bhjJ9TvwcVELHlRfoolVREmoZuKDN/L59OxS9DUIRVO qokA== X-Gm-Message-State: AKwxytdKX1raMVhwN+w11iABQjvtHEMakuMyLr4VFUppYYRR74KBf3tQ TyviQ2/vsBrP0tZwwfMitHc= X-Google-Smtp-Source: ACJfBoujeNQniVBA+q36F7u7zoBoE6LyyX0wrzSIdcaww9DOj9jZJ5HQHexOCDqK2RsRBW5PIdfyJg== X-Received: by 10.55.215.5 with SMTP id m5mr12559383qki.14.1515699041376; Thu, 11 Jan 2018 11:30:41 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 11 Jan 2018 16:30:12 -0300 Message-Id: <20180111193021.17466-5-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180111193021.17466-1-f4bug@amsat.org> References: <20180111193021.17466-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 v6 04/13] sdhci: refactor common sysbus/pci class_init() into sdhci_common_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: "Edgar E . Iglesias" , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Now both inherited classes appear as DEVICE_CATEGORY_STORAGE. 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 a11469fbca..68bcf75478 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1275,6 +1275,16 @@ static Property sdhci_properties[] =3D { DEFINE_PROP_END_OF_LIST(), }; =20 +static void sdhci_common_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) @@ -1299,7 +1309,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; @@ -1307,10 +1316,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_common_class_init(klass, data); } =20 static const TypeInfo sdhci_pci_info =3D { @@ -1356,10 +1363,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_common_class_init(klass, data); } =20 static const TypeInfo sdhci_sysbus_info =3D { --=20 2.15.1 From nobody Sat Apr 20 05:39:54 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 151569953157652.34551109924132; Thu, 11 Jan 2018 11:38:51 -0800 (PST) Received: from localhost ([::1]:36750 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZigY-0000sN-Gf for importer@patchew.org; Thu, 11 Jan 2018 14:38:46 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44697) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZiYn-0002jf-Or for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZiYm-0005RS-NB for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:45 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:36119) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZiYm-0005Qr-Iv for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:44 -0500 Received: by mail-qk0-x241.google.com with SMTP id d21so5778363qkj.3 for ; Thu, 11 Jan 2018 11:30:44 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id i37sm4870538qtc.80.2018.01.11.11.30.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:30:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SaYNVRACEWNYkqejOn5RR+d76acUtUGsgqTpasM4oU8=; b=nJowfhtHyuLg7sNdLG8rkVLUFwlkpBCFyf0xFnVSq6fdbOu0OAFvP3MbQJEk+fCGzK HN3uF6q4n3WGUPjn+LNuJxWnRu7qTDwr2df4VryxXSg2Dq2nrmFpOa/bNIz+jBiebdu8 nifQnWKrUoXnneQPX1Lit5FTubAo2mXN3/OS3Nwp5Yn7xYqt/A4ZhOUv6PjjR74i6Ueo k3xOOgULP3egNujtHElgalWUsxWsRKbgoupaGNGiestQ/GES/hWWGgyfS/p8WSv1HijM 7EPbJCdMoa/dWUmB/aQSdm7rq8fk79jOkZvHPd2WjNOroXtmXfW5YZ/ZsSclsTc7x5eT C1rw== 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=SaYNVRACEWNYkqejOn5RR+d76acUtUGsgqTpasM4oU8=; b=n/YEoKRsIH3HlRnQ+Y/2WRHjr5Tzbjo0Ydc0A3aBiJRzb+tau7ibCPtanNm6JbiPjs 8XEzWuyDPwlxS/4DmgWf4WhNj5XuWGTiirdl0LaPJOxj/85Hxy5EdrdrBwcer3diWgLJ EllU4iuJInFYvJpvJ+RBTirMlziRjVKk+wiGffgSbP5T0ePfffvMCasrQ05EwNJXVvp3 gzwgFcgUGvNdNP7kMk4CxZ2pFnkLxJWtSj2JxNlaik3tT56xRO8jKLwgWM1Y2b7he3WN 7JaqSjoPFcgiBf9OTCCNYwW4TDYNX/ncUZjju++5jxRcdBabAg4IxVllc8LWGMbF61R6 Zf7A== X-Gm-Message-State: AKwxytdoYPBSHc2szOL/59vw718oOTMe3P+YE2pv+iJ9CB/aeZcUVmr3 YNPujRpPDOjWf5p3zKxSoTs= X-Google-Smtp-Source: ACJfBosk7JmMBSgN2UQLsOZX+GK7ZzBoD7et8Bqo/HQtHMfiCsFWVjBUfFAXTCywey1AVAPG+M+mIQ== X-Received: by 10.55.215.65 with SMTP id m62mr24504880qki.172.1515699044127; Thu, 11 Jan 2018 11:30:44 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 11 Jan 2018 16:30:13 -0300 Message-Id: <20180111193021.17466-6-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180111193021.17466-1-f4bug@amsat.org> References: <20180111193021.17466-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 v6 05/13] sdhci: refactor common sysbus/pci realize() into sdhci_common_realize() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sdhci.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 68bcf75478..b3dbd994fd 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1194,6 +1194,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_common_realize(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); @@ -1290,14 +1299,16 @@ static void sdhci_common_class_init(ObjectClass *kl= ass, void *data) static void sdhci_pci_realize(PCIDevice *dev, Error **errp) { SDHCIState *s =3D PCI_SDHCI(dev); + + sdhci_initfn(s); + sdhci_common_realize(s, errp); + if (errp && *errp) { + return; + } + 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); 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 @@ -1351,11 +1362,12 @@ static void sdhci_sysbus_realize(DeviceState *dev, = Error ** 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_common_realize(s, errp); + if (errp && *errp) { + return; + } + 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 Sat Apr 20 05:39:54 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 1515699462621566.495626317757; Thu, 11 Jan 2018 11:37:42 -0800 (PST) Received: from localhost ([::1]:36652 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZifT-0008Iw-P5 for importer@patchew.org; Thu, 11 Jan 2018 14:37:39 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44784) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZiYt-0002r0-8p for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZiYp-0005WI-Fj for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:51 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:40387) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZiYp-0005Va-C6 for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:47 -0500 Received: by mail-qk0-x243.google.com with SMTP id d18so5749417qke.7 for ; Thu, 11 Jan 2018 11:30:47 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id i37sm4870538qtc.80.2018.01.11.11.30.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:30:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sHpWZj09QVBhRyfzswe5eUDwJzu+tx9e7gydEzw5JWw=; b=VyqOTb0RMYdkxWkogHB9c+/JJK4TDAa52+H+R0yVFIEIN1XP1R4zGY4/Qmj/6tHbi7 6DQc0hoH8rm9/RoTv9ksliuPWdaNWAnlrzxp/k1Zk9QaMR8aFcZd85GF3Iax3kkMBvux oHDmx3SM0MehuI3Bxo+lGU+/neJbVt1hW7NTUEsYzT/I5ggULhlvv+FTTPml4y8FZa/8 ptLJ7f2h+vn+zqsF0oSYeoKXWqV18AzoMYrvB7cFYRUvrZ0OO164hL8hWeIJE4nYnZh6 rDypWjNKdg/m1s3rnyVKQzdPYFk+zR917Fj4Yu4WOgdP1R0TQ/9ouxvqcTDTtYN5z3sn QHyQ== 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=sHpWZj09QVBhRyfzswe5eUDwJzu+tx9e7gydEzw5JWw=; b=MZi0U1JQS0YXUODsKxxFC9LsRLwMQSM8mjwT5+e3qYjpRh5NzZCtr2fl3EC39CkOot 6wBpU8X+S0x4MI72bc6JSTyWYRXvx8UGRoBo0F9vLtQ0K87iyqU7VS/cb+H02Tdu0LBw IYjYEY6EF1g8+P9iCacbNDXbVw7FT58zjKTfQ7F5BfsfiEsFzuQPZr9/Zhc78opcY69M d73AoRr3lcsn2QwHaSW2gfk2TyvqgI6gpaY4ZSODpL3mfbqQUo0slG95USSxyebtNqSP u1o+gfExW9VZSuWDG6yNrYhtCOBGaWeqGmngGbyvJ3k/lhOMNKf8HzVlF+ZFft095OTD jehA== X-Gm-Message-State: AKwxytcOyOB59l6vMpv3rSEQ3ivIm4HsepVdxhdzO9r6HsCk7XSrXejf w5hqTcc7rfxj0zjKj7GIHxo= X-Google-Smtp-Source: ACJfBot7/4xMCsAh3rSSUlgfCm4D4N2YbqzDmjiJXcrhcL6JdSHWoqhSKz2H1hWtvbvxNnkvXWVsZQ== X-Received: by 10.55.118.196 with SMTP id r187mr17798203qkc.131.1515699046813; Thu, 11 Jan 2018 11:30:46 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 11 Jan 2018 16:30:14 -0300 Message-Id: <20180111193021.17466-7-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180111193021.17466-1-f4bug@amsat.org> References: <20180111193021.17466-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 v6 06/13] sdhci: refactor common sysbus/pci unrealize() into sdhci_common_unrealize() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Edgar E . Iglesias" , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sdhci.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index b3dbd994fd..089961bd66 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 */ @@ -1203,15 +1204,23 @@ static void sdhci_common_realize(SDHCIState *s, Err= or **errp) SDHC_REGISTERS_MAP_SIZE); } =20 +static void sdhci_common_unrealize(SDHCIState *s, Error **errp) +{ + /* This function is expected to be called only once for each class: + * - SysBus: via DeviceClass->unrealize(), + * - PCI: via PCIDeviceClass->exit(). + * However to avoid double-free and/or use-after-free we still nullify + * this variable (better safe than sorry!). */ + g_free(s->fifo_buffer); + s->fifo_buffer =3D NULL; +} + 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); - - g_free(s->fifo_buffer); - s->fifo_buffer =3D NULL; } =20 static bool sdhci_pending_insert_vmstate_needed(void *opaque) @@ -1315,6 +1324,8 @@ static void sdhci_pci_realize(PCIDevice *dev, Error *= *errp) static void sdhci_pci_exit(PCIDevice *dev) { SDHCIState *s =3D PCI_SDHCI(dev); + + sdhci_common_unrealize(s, &error_abort); sdhci_uninitfn(s); } =20 @@ -1371,11 +1382,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_common_unrealize(s, &error_abort); +} + 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_common_class_init(klass, data); } --=20 2.15.1 From nobody Sat Apr 20 05:39:54 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 1515699608223249.34568983067606; Thu, 11 Jan 2018 11:40:08 -0800 (PST) Received: from localhost ([::1]:36802 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZihp-0001tL-FN for importer@patchew.org; Thu, 11 Jan 2018 14:40:05 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44807) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZiYv-0002t1-Gr for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZiYs-0005ZD-Dm for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:53 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:38996) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZiYs-0005Yt-9f for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:50 -0500 Received: by mail-qt0-x244.google.com with SMTP id k19so3233278qtj.6 for ; Thu, 11 Jan 2018 11:30:50 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id i37sm4870538qtc.80.2018.01.11.11.30.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:30:48 -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=PPSdv9/IVveyvc4S1QmTWkeKVwjpn/n5mesAx9w2/40=; b=GE5OuIA7MJ4RqBWlBKLH2gJGOHLou/J32Ato2AG2i/T8rOXmuMeY4U8rDWQu4AZAWb 3WSG4oXl2cGXpU/tHNc+dp1E5qZO8cZWMxhP0kNMDT7SSR7M0C1BdV+RS8y+vOBLyolx rB1mQmK7pIxPVJPlUQzEYsNgI7Uz9PJotJKXLsQkCmey3oLHAH38upBEKmKMQl7sctRQ qKYHiIRxW65aDg2KFSNbWtgbEhSmFgrluMSBR9B5uB9gXQhx6Nwsu65oMOWo/fgNc3n+ UGJA3dF0QI/bWcVEROxCpXMhAAW2VQjrjPjXpx+BlDrt3h3iyVzl30cuCWzXIAKzxjHk Lx5w== 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=PPSdv9/IVveyvc4S1QmTWkeKVwjpn/n5mesAx9w2/40=; b=Y0KBoQO96eGhyvjAhRjad3h6k9enmAcET8Y5IJ2QiHrwJR5rpyaZiK7Uc/5xo+23mI bPyO807JH0txJTSeTPN7Q15YBfbts0CBJItilsYBrMd7Bgrmo5iCxgZQEiV/xJujr8+Q 34AxueS1fLalK0BEM9elMJWwFOTbmWgLLgNU1V5DYto3xU7pE/pzh3Cpta8Hu57UnzJR 8Om7gWbw1Uhd+llFK6M4ybHtOFKI6okZIps5RQfk4L1Pcc9mfkon4T1n9P0qwlpZ6Gsh vmFjmAiKPM1wKDPRUEB9BgVgQvViErAAje9mmblSva+3UXCS76weeDU3XaJRU6yilOBs 5/xQ== X-Gm-Message-State: AKwxytdtLWSJgW3YXnl24WMKLGQFXkJ5ofD95O5OuRaDTyrTdurNt4qv PyDKCcxQk5/2PIosdch+w7o= X-Google-Smtp-Source: ACJfBotknwvvDw71XQpV6kgfxpvwb4tHKDiDFvGD0DNMgxg1BprqN3c2TBCHv8HNUNt/qahB1nW/CA== X-Received: by 10.200.57.23 with SMTP id s23mr2763097qtb.328.1515699049855; Thu, 11 Jan 2018 11:30:49 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 11 Jan 2018 16:30:15 -0300 Message-Id: <20180111193021.17466-8-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180111193021.17466-1-f4bug@amsat.org> References: <20180111193021.17466-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 v6 07/13] 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: "Edgar E . Iglesias" , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sdhci.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 089961bd66..0e27dc3042 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -946,7 +946,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 @@ -1152,8 +1153,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 Sat Apr 20 05:39:54 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 1515699371538386.9507929120459; Thu, 11 Jan 2018 11:36:11 -0800 (PST) Received: from localhost ([::1]:36623 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZidz-0006tH-7y for importer@patchew.org; Thu, 11 Jan 2018 14:36:07 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44837) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZiYx-0002un-AK for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZiYv-0005d3-GD for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:55 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:44037) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZiYv-0005cf-Ad for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:53 -0500 Received: by mail-qk0-x243.google.com with SMTP id u76so5713294qku.11 for ; Thu, 11 Jan 2018 11:30:53 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id i37sm4870538qtc.80.2018.01.11.11.30.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:30:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RSt5V8jEnSiLhB6uCtT1xVghMaFq2sEK/RvbJ1xX1Ac=; b=KGC5/bPL6VEAr01CIIozlSBLdE4gmG+2stAAlks0V1rjT4GS2jXZTWpr4uZEhklGfQ 6E7qFLbzT5qtk16onx4fp19qVZonaz97ZYLGTNZv2ZF4VnufmI8QlmHi5EvqwQQB/FoN KhEt4iRc5LqUzqbrGfORpW81oVgicKmlKFXW5Bll1lc8Mop68gpXplfzyqOTM4JNUHQp FzA+Gx7Hb7R+wNXKgfVh2ZBf5+foLtb4D/rK7i5TUF0tqRH2SFhJKBao7UZie5kLMvcc 50feCW54x3TWv2529vM1DdqXs1HHRtIbEh/EVKyAdmKB/iRQnRcXyqJ0ggeKlnz/1dqb E+PQ== 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=RSt5V8jEnSiLhB6uCtT1xVghMaFq2sEK/RvbJ1xX1Ac=; b=IoTcc1YYafhXtcQCeVVAJMMxYiHvSnEuTHyE+Fhgm9w59wL0lS3a7W8laEmh5ypAnC QfpsHWZal2E6+bImPeSp5sKW3M2thr/YNOwHy1kVfRJBtqTT+7kRSvjZ/h+BnVPwsilJ Ti/NXAyYV2R6QC1t8Cn0Nx4yQU3EdVuBzsz1UcCEv9yrsU4GpWIKj505FzBy4WGKcg/X BjreGFZe5trk7Qtw766EMgRewI2ZXT10HWy/96+E/XjVKgeK+7v6dVAqYAdo7t/K11ax I1cJ4ixE0oyvqwfR8Ivpy0X9l7frmqDFQH9HyqPCJ6dNiTJP5kdAu4bg/G9vcS6cXRBz yP1Q== X-Gm-Message-State: AKwxytcfSnuTxwizvZexP6vl88B+8JdQDMHyaoSvmkSZ8JjLc5NfIKn8 8sUy5Z0Ph9e5pF6y1Jr+130= X-Google-Smtp-Source: ACJfBou0t9VVEDb+GIsmMkUe6Ss36t02rzdm2X9oyYE9+AkZpaD150+bE54uWwto+BFePE1qBqEmCw== X-Received: by 10.55.145.196 with SMTP id t187mr34101032qkd.159.1515699052733; Thu, 11 Jan 2018 11:30:52 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 11 Jan 2018 16:30:16 -0300 Message-Id: <20180111193021.17466-9-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180111193021.17466-1-f4bug@amsat.org> References: <20180111193021.17466-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 v6 08/13] 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: "Edgar E . Iglesias" , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 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 0e27dc3042..ad60cd50d3 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) @@ -155,8 +132,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, @@ -238,7 +215,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) { @@ -246,7 +224,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]; @@ -256,11 +234,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; @@ -294,7 +271,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) | @@ -363,7 +340,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 @@ -372,8 +349,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 @@ -456,7 +432,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 @@ -465,8 +441,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) { @@ -654,15 +629,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 */ @@ -745,8 +719,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; @@ -754,8 +727,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; } @@ -766,15 +738,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; } @@ -810,7 +782,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 @@ -818,7 +790,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 @@ -827,14 +799,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 { @@ -869,8 +841,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; @@ -900,8 +872,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("rd", size << 3, offset, "->", ret, ret); return ret; } break; @@ -953,7 +924,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("rd", size << 3, offset, "->", ret, ret); return ret; } =20 @@ -1157,8 +1128,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("wr", size << 3, 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 6eca3470e2..0a121156a3 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) "CMD%02u ARG[0x%08x]" +sdhci_error(const char *msg) "%s" +sdhci_response4(uint32_t r0) "RSPREG[31..0]=3D0x%08x" +sdhci_response16(uint32_t r3, uint32_t r2, uint32_t r1, uint32_t r0) "RSPR= EG[127..96]=3D0x%08x, RSPREG[95..64]=3D0x%08x, RSPREG[63..32]=3D0x%08x, RSP= REG[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) "%s: admasysaddr=3D0x%" PRIx32 +sdhci_adma_loop(uint64_t addr, uint16_t length, uint8_t attr) "addr=3D0x%0= 8" PRIx64 ", len=3D%d, attr=3D0x%x" +sdhci_adma_transfer_completed(void) "" +sdhci_access(const char *access, unsigned int size, uint64_t offset, const= char *dir, uint64_t val, uint64_t val2) "%s%u: addr[0x%04" PRIx64 "] %s 0x= %08" PRIx64 " (%" PRIu64 ")" +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 Sat Apr 20 05:39:54 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 151569974626466.95113174408516; Thu, 11 Jan 2018 11:42:26 -0800 (PST) Received: from localhost ([::1]:36961 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZik5-00041y-F6 for importer@patchew.org; Thu, 11 Jan 2018 14:42:25 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44858) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZiYz-0002vN-0E for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZiYy-0005gV-5r for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:57 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:32947) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZiYy-0005g6-1O for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:56 -0500 Received: by mail-qk0-x243.google.com with SMTP id i141so5790431qke.0 for ; Thu, 11 Jan 2018 11:30:55 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id i37sm4870538qtc.80.2018.01.11.11.30.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:30:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=o6fXLn/GGzx50T/l+jQAJNNhWxxRZuRdyr0VY1tEhWQ=; b=brcSZwdRyBGYgI5f5UWdKXRvVmXSzjj7+fOglOzBJdvmD+tNXWghMdk3xrdMfBl/IV dNo/W/8zrtOAyLRixris9p3DerRz39AUOPf9jMjaZFwRKSfth0SdOEiagAHuL/iPoUAF Oh8qwb8IoBcRHuyFNCy5JwZKVkc3GvmaUHcKemPU8kPmTIl6HOvbBcKKxmIWUGjm0kCM U1cunJT0arIvHeqXwuQtMzTMnUpb5qn3w9TaIOCjlbJiz/2p0u1bYTO4TbOjLtbfomEM RFMvDGu1GKMY+fglDMsGxUyXFWT7L11DCqNlztHyYXnMjUr3b0GboDg0Eyle9y7Inghm /Pnw== 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=o6fXLn/GGzx50T/l+jQAJNNhWxxRZuRdyr0VY1tEhWQ=; b=IbJ5PuiEhSWXYayS2qPhGIRmMshqa9HYSVFVaFzr3HQ3hoFon4vT/qu4IoDb93McDS qQcS0ZH4StAd5gw46gXbML0nuGy6wISmpUQ+/NScaMsGWQx5Fr5bS3KPeuWXr63n/Qe1 d/0j4Jtph3skRkcsVL5GuwbTx2Ggi8vZRCyXsfTwU2gzIizPr0QRBNGv6G8KyAJRxxNg eu8/02bNhdf+NpYXqS0sXqypM6ORoYcZolwy71QTC1MxOvTdaDpTWP3tYCQe470cHaHS KU/uTHBKlkmWNrW7Dl9Ko7Ol4Kh2Q2BNssHuFYuPHe6s6tOe4a2bzo1J29lBad80RyoT C+bw== X-Gm-Message-State: AKwxytfAP6TLzmzzL2lgMMy1WTad6YiOW0YGwFqhdhFMfF3Em9CHgWbo sGCnowcKHqrhSRdGfzbYHCY= X-Google-Smtp-Source: ACJfBotu2ZhVPktqDMqWwlqCWFUNnxomGe6IxJV+gy5c2tAAGULwt8WfCmTIYLELi5Ggv++Qbj16Gg== X-Received: by 10.55.101.215 with SMTP id z206mr9991132qkb.62.1515699055579; Thu, 11 Jan 2018 11:30:55 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 11 Jan 2018 16:30:17 -0300 Message-Id: <20180111193021.17466-10-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180111193021.17466-1-f4bug@amsat.org> References: <20180111193021.17466-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 v6 09/13] 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: "Edgar E . Iglesias" , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/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 ad60cd50d3..73c1efbef3 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -98,7 +98,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) @@ -1025,7 +1024,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 Sat Apr 20 05:39:54 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 1515699873952715.77132835359; Thu, 11 Jan 2018 11:44:33 -0800 (PST) Received: from localhost ([::1]:37161 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZim1-0005wp-Qe for importer@patchew.org; Thu, 11 Jan 2018 14:44:25 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44878) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZiZ1-0002yE-Fp for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:31:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZiZ0-0005in-Ou for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:59 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:45751) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZiZ0-0005i8-KG for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:58 -0500 Received: by mail-qt0-x243.google.com with SMTP id g10so3221449qtj.12 for ; Thu, 11 Jan 2018 11:30:58 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id i37sm4870538qtc.80.2018.01.11.11.30.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:30:57 -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=UfbRbLlhK7LNp3gxyTeZfXuw52LR+f+lhVzZIjtIVoE=; b=IVW5zRbuGukuN/6PoRib1PVrAkDQyCMF3meBSrdotYoFjmbSSEXcoi1quoU69UZmkv YDM6H6n2mrAURJQgGIoxDAS4zvLOpcCuZLTOvu0cVR4FvTfoK1Z52Bm4suH/OaMt32gA lXzy4EymQRxfnLjyUR3oqn9KP3a7N87nRNHurujLgKTxHQAiHbdSBxcCDWkSPGdyjuTB aXLa2UJtpzcJKuWFNEsyz08RjIGO+4CNSBfT2igKQcDEyV3RzBbF45Giu02ntrpRL4xm 1C3wsOzx3Ca7snL26jktebtmUSXxng9aiAtOa3wFicFdjRCc0PhmoL9Gw93M0grj5ata qtsw== 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=UfbRbLlhK7LNp3gxyTeZfXuw52LR+f+lhVzZIjtIVoE=; b=FsqC2VCZDQ3eIH4uxPBRSOHxAySoVEN0CteoFjZP78kC4v/NijM9PjmQoirhV7SR06 mUo+S8urvTPplJwQfY7SR/ZHwCrX+tiEYGcQRVsuvz2IH4ocELhh0HOgVILWaY4PRFX6 l4LtR4sar/u9ZFNkntfNwIQRGeGub39lJl+1bBn6OGhzw5gtlrvH8Pmfll7KWbqLwuXi ex2Pyv+02UCoV61Y2Auzp0ljSGs9RJHxaaH5do20S7Ov20cEU108fTO6hu6Ykcdpx+8w +24vTg/rQjGKKd3W5ZDIGmmLW0PqcZla8Ff8cyrFEX32DCXf0YiiOU/pdA2PRAPLMPK+ 16Zw== X-Gm-Message-State: AKwxytf0ByR8qIpfU+KhC37GCf+1rDuKWmi8NHfpMDH6UrgnzmUcftOc WZQNcrM/0FxJriviRN+FJYM= X-Google-Smtp-Source: ACJfBoszRMpHDYgbR46YeVRYOxzFX1YAx3tOMBcmr7MNeaEv3tMkeDixEScHitlFX+HgkyBpvMQjWg== X-Received: by 10.237.63.184 with SMTP id s53mr32381619qth.217.1515699058132; Thu, 11 Jan 2018 11:30:58 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 11 Jan 2018 16:30:18 -0300 Message-Id: <20180111193021.17466-11-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180111193021.17466-1-f4bug@amsat.org> References: <20180111193021.17466-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 v6 10/13] sdhci: rename the SDHC_CAPAB 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: "Edgar E . Iglesias" , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sdhci-internal.h | 2 +- hw/sd/sdhci.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h index e941bc2386..fc807f08f3 100644 --- a/hw/sd/sdhci-internal.h +++ b/hw/sd/sdhci-internal.h @@ -174,7 +174,7 @@ #define SDHC_ACMD12ERRSTS 0x3C =20 /* HWInit Capabilities Register 0x05E80080 */ -#define SDHC_CAPAREG 0x40 +#define SDHC_CAPAB 0x40 #define SDHC_CAN_DO_DMA 0x00400000 #define SDHC_CAN_DO_ADMA2 0x00080000 #define SDHC_CAN_DO_ADMA1 0x00100000 diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 73c1efbef3..f615adca97 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -897,7 +897,7 @@ static uint64_t sdhci_read(void *opaque, hwaddr offset,= unsigned size) case SDHC_ACMD12ERRSTS: ret =3D s->acmd12errsts; break; - case SDHC_CAPAREG: + case SDHC_CAPAB: ret =3D s->capareg; break; case SDHC_MAXCURR: --=20 2.15.1 From nobody Sat Apr 20 05:39:54 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 1515699989687912.8210864187356; Thu, 11 Jan 2018 11:46:29 -0800 (PST) Received: from localhost ([::1]:37380 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZio0-0007fX-Vx for importer@patchew.org; Thu, 11 Jan 2018 14:46:29 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44911) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZiZ4-000316-M9 for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:31:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZiZ3-0005kk-EX for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:31:02 -0500 Received: from mail-qk0-x244.google.com ([2607:f8b0:400d:c09::244]:33951) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZiZ3-0005kS-A7 for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:31:01 -0500 Received: by mail-qk0-x244.google.com with SMTP id b76so5792568qkc.1 for ; Thu, 11 Jan 2018 11:31:01 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id i37sm4870538qtc.80.2018.01.11.11.30.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:31: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=4rlu5tdgfRDsd0vB6X1vdvrD3K/N6C7csIRj8g7SGss=; b=u61uw4ejJkDjE8I0Fii9wDUzTN5+5VZabrpdqKpZzkAuZjVhOBxkvMA+uzNyNxWooj zEJTjrvlG9VPmtXtA5BNur2AJYSoChPF0+AXKG5fq/AaNcpu1ZO6dOM1BzzNCQUp8lo1 /BDidRaH6i6XnI9KlCp216vK+Av090CFyQUoUmxbcMUKK6rmCrELpiY9tGBb3xv7ofL+ unolQRaMtH20AO7Ppm9lWLvT964c/jiUpwkB7hb0ZP8ioINipy098re3l/PVjFO/66og s0WNUikbERitgnWAzTTvFoMCTNSsnvZif/AtJ/I6NeRDwjp9HuMrhKZAmJXd4ngjfT+5 vfkA== 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=4rlu5tdgfRDsd0vB6X1vdvrD3K/N6C7csIRj8g7SGss=; b=ClGLzvJ+ktKa/d25pZk9TJppkkjlYI1fTKX7UAzv/SHEXOPMrsSsah5P26F+cb3W/H Pt9K78gKBW3ca82PTM7rLqWubtk9tmVSXgQ8vj3M01NnrLaqm8j1flCxbzLgrAyclFOU IMk+IQRSqWxbbeJcvSUJHx9gpv1GTnnOCLHwZ2/XQXeRD1LIgFwjA60eWesl8lF0wjd7 r5kgHia3snNr/G/uYAF93Oefet5oH3Hp//jNFzP20HivJt01phXwR4BOw3XFZ11DkzPK 3M51WB3FX0+L56tY4esQIeRICX02A+z887mCME3c34/skaD4Ix5VPYV9u9Y2WBnDIqYo TsjA== X-Gm-Message-State: AKwxytcMY+3sBX+Jt7ksvsd7wjpUqzRR5feHm0eVTh2diNWTBywruohx D8UGVOlu9gEnn+OZdEJkgL+n+HhH X-Google-Smtp-Source: ACJfBoskcGG7rEERpFCz/ZOXN91Zm23msdqbr8js/o2z/UBXtHemOMKeKyiBK60ulphJ3zgi9L+DxA== X-Received: by 10.55.149.194 with SMTP id x185mr34009830qkd.46.1515699060811; Thu, 11 Jan 2018 11:31:00 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 11 Jan 2018 16:30:19 -0300 Message-Id: <20180111193021.17466-12-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180111193021.17466-1-f4bug@amsat.org> References: <20180111193021.17466-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 v6 11/13] 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: "Edgar E . Iglesias" , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 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 Reviewed-by: Alistair Francis --- 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 8041c9629e..442e30aff2 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -72,8 +72,8 @@ typedef struct SDHCIState { uint64_t admasysaddr; /* ADMA System Address Register */ =20 /* Read-only registers */ - uint32_t capareg; /* Capabilities Register */ - uint32_t maxcurr; /* Maximum Current Capabilities Register */ + uint64_t capareg; /* Capabilities Register */ + uint64_t maxcurr; /* Maximum Current Capabilities Register */ =20 uint8_t *fifo_buffer; /* SD host i/o FIFO buffer */ uint32_t buf_maxsz; diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index f615adca97..18db67776f 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -898,10 +898,16 @@ static uint64_t sdhci_read(void *opaque, hwaddr offse= t, unsigned size) ret =3D s->acmd12errsts; break; case SDHC_CAPAB: - ret =3D s->capareg; + ret =3D (uint32_t)s->capareg; + break; + case SDHC_CAPAB + 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; @@ -1122,6 +1128,15 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t va= l, unsigned size) } sdhci_update_irq(s); break; + + case SDHC_CAPAB: + case SDHC_CAPAB + 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); @@ -1256,9 +1271,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_END_OF_LIST(), --=20 2.15.1 From nobody Sat Apr 20 05:39:54 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 151570008356391.63795041195351; Thu, 11 Jan 2018 11:48:03 -0800 (PST) Received: from localhost ([::1]:37481 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZipW-0000Qe-Ta for importer@patchew.org; Thu, 11 Jan 2018 14:48:02 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44940) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZiZ6-00032r-Gk for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:31:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZiZ5-0005mL-QM for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:31:04 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:33230) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZiZ5-0005mE-MA for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:31:03 -0500 Received: by mail-qt0-x244.google.com with SMTP id e2so3234541qti.0 for ; Thu, 11 Jan 2018 11:31:03 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id i37sm4870538qtc.80.2018.01.11.11.31.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:31:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+2hIeGXflNbAE8qAdBypU1IIjsCy1/0RTlBdM44iB6A=; b=Tpad1CsFiacOkHRF8re8Dvt+KFAMZ6LQXrzDqiGPvilgyXQk7M/I6wh8DM24AvSDmC P2Rzcle/UrI7vmw6Ymr1rorLZS7cRZNTkfl/V23EAw0NdlxNgI/LjVpZQxvuB+wwTRD8 PO86cLm5Se2FZ+wbwxmboFf33sci6UTRvSKf3/mu459Z6zbclRwe+czSVugElu4pzGYh Ub+LXeLw+u+MuTKaEmkTpI9hAVbDFnZlD89p/wVeYF4wkfX5hozs5LwA08GrKuH8eV6d jg33Q3X4d+OZryLt1HB676jb8RzxlTdGy8x95XbzjDkSonhXFKdcJumDu3FImPR2pg3f uPDg== 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=+2hIeGXflNbAE8qAdBypU1IIjsCy1/0RTlBdM44iB6A=; b=t3MljyUYOoo2RZONibwfUgrZU++T8IwxMxikUvqFMp3cUpuO3QX635FZkjqLPLG7Jq im5lavGT+aBqoACV/DoaTCtFmtJjVIuCPvIlH+7q9lbEDoyD/ig4agx/mIbBU52ydI3h tWEcGYbWO270MTkQtl0hN//SLSy87XaGuy71Nvbg7mes6OXMOhss+h3frAMq6Sgr1uAg dEJjrqdjR8717oyjPPzH4C+Katk5YwrBNdx+CU1nMrE13vwN9fvKqDeheRVcSbK2yjn0 p6QDSs6zjUjzmx25DSfjGJv2zP7j8Ksl/x70wzE2mUtkAldKzyNnJ3RBglGbA7U6naQh a5aQ== X-Gm-Message-State: AKwxyteX0/miw/lE9qg7Gup6gzwFgq78ON59rYuDHktCXEyOgop20Zqd JQJqsCkcCQ/HKyjeRhZDUTADLdRY X-Google-Smtp-Source: ACJfBotH6w+Qz59fBExKkhNejTegLvWZtFzJgjodh0TM14iAXOZ1jLlh0eE5rqTraCMX/XHkAUjKVA== X-Received: by 10.237.57.42 with SMTP id l39mr33568312qte.330.1515699063290; Thu, 11 Jan 2018 11:31:03 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 11 Jan 2018 16:30:20 -0300 Message-Id: <20180111193021.17466-13-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180111193021.17466-1-f4bug@amsat.org> References: <20180111193021.17466-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 v6 12/13] 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: Andrey Smirnov , "Edgar E . Iglesias" , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 From: Andrey Smirnov Signed-off-by: Andrey Smirnov Reviewed-by: Peter Maydell Reviewed-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 18db67776f..c86c2571b7 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1128,6 +1128,9 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val= , unsigned size) } sdhci_update_irq(s); break; + case SDHC_ACMD12ERRSTS: + MASKED_WRITE(s->acmd12errsts, mask, value); + break; =20 case SDHC_CAPAB: case SDHC_CAPAB + 4: --=20 2.15.1 From nobody Sat Apr 20 05:39:54 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 151569953200116.035901338835288; Thu, 11 Jan 2018 11:38:52 -0800 (PST) Received: from localhost ([::1]:36752 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZigd-0000wC-7M for importer@patchew.org; Thu, 11 Jan 2018 14:38:51 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44999) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZiZA-00036A-6E for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:31:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZiZ8-0005oy-TD for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:31:08 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:46387) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZiZ8-0005oh-Os for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:31:06 -0500 Received: by mail-qk0-x241.google.com with SMTP id l64so5701345qke.13 for ; Thu, 11 Jan 2018 11:31:06 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id i37sm4870538qtc.80.2018.01.11.11.31.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:31:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BuTZ3uxkuia/yk2OQo9oaFiwmUeaoYD+tG8/gxktr0c=; b=sB5H9PrfNsXEyHJcfJTNG1DuSuHwSlI2G18xmx3tRlqpeiUAIEWT5Hr1Xfr84W5q1G kVhtKetAfRtTVe9E8JhM/yImPo1mSzMGoKCAr7Lv8WJg+TNQ4cDw2yUheoRXWOfJ3BXq 33SxeO7qZzjFQSDMyRbz16BxgWqAnmIr39kBMfD/ylX6pey5qhNCiTfjVDIqOR/CcVaR syF5hsaGXm3jVYFnYJGIrRZcAmN6MQ2EwSCmjYCsYV+4KfwnW/pfbz6NJY8QZnqmK/AB tuXy9fv3M7OQB7K3Cf2YpIlBujj65YOqhp9Yg+dz882BNwVhPJ0kKkdPxagUxDQ3a6+K UEZA== 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=BuTZ3uxkuia/yk2OQo9oaFiwmUeaoYD+tG8/gxktr0c=; b=S63CKmfeqYO/ZlwGmUa6OkHHon45kiyyNJQ8mPejiBCt+PXK61ZKItxjCep+0iXPrp USz4erZG945DTnZeRO7zhdJE9wZOMZKcRYvs7qXIJ7ayElrGKoDLpZ3mWjx5EDTfjikB jTqkQ8TmPwxdp5ckBQNaCry/7/TLUMLQ/fJkQW+5IpC2pzzfer3zKoTCRLel/JoOsqk8 6RWdHaTo+c/FMaHIP2ljY8zCBX+tLbwEzCyp9B73SbvMHiuaZ0OK400qmFZNO7hgHRZb L+vTsD0R7HLkOlrghf3ZcRaynuyDJTnhm1pNxlL/lYGxyAHqd0hHnY+WddLLubnCzU1Q 5xQA== X-Gm-Message-State: AKwxytdFk5Xvxi3NC+qQJYBtlOK10n4+qKQSpfELAAvQ9KPYxJAFNiVI 3JB7FoszYXLC8/h4hCfo+lo= X-Google-Smtp-Source: ACJfBotVlxnOvYHkJEL4sRJGiM9GXP1w98Mxy6YL3XDrhf55QwzmPu33POMrvIx4Hd8jzxkeroNd0Q== X-Received: by 10.55.186.134 with SMTP id k128mr24113999qkf.23.1515699066241; Thu, 11 Jan 2018 11:31:06 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 11 Jan 2018 16:30:21 -0300 Message-Id: <20180111193021.17466-14-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180111193021.17466-1-f4bug@amsat.org> References: <20180111193021.17466-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 v6 13/13] sdhci: add a "dma" 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: "Edgar E . Iglesias" , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 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 442e30aff2..6117004949 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 c86c2571b7..7a2901ae4a 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -495,7 +495,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) { @@ -517,7 +517,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) { @@ -555,11 +555,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]); } @@ -583,7 +581,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. @@ -595,7 +593,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); @@ -608,12 +606,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; @@ -672,7 +670,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; @@ -696,7 +694,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; @@ -1191,10 +1189,20 @@ static void sdhci_common_realize(SDHCIState *s, Err= or **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" not set */ + address_space_init(&s->dma_as, + s->dma_mr ? s->dma_mr : get_system_memory(), + "sdhci-dma"); } =20 static void sdhci_common_unrealize(SDHCIState *s, Error **errp) { + if (s->dma_mr) { + address_space_destroy(&s->dma_as); + object_unparent(OBJECT(&s->dma_mr)); + } + /* This function is expected to be called only once for each class: * - SysBus: via DeviceClass->unrealize(), * - PCI: via PCIDeviceClass->exit(). @@ -1279,6 +1287,8 @@ static Property sdhci_properties[] =3D { DEFINE_PROP_UINT64("maxcurr", SDHCIState, maxcurr, 0), DEFINE_PROP_BOOL("pending-insert-quirk", SDHCIState, pending_insert_qu= irk, false), + DEFINE_PROP_LINK("dma", SDHCIState, dma_mr, + TYPE_MEMORY_REGION, MemoryRegion *), DEFINE_PROP_END_OF_LIST(), }; =20 --=20 2.15.1