From nobody Thu May 2 18:42:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 151604080507836.87534417001643; Mon, 15 Jan 2018 10:26:45 -0800 (PST) Received: from localhost ([::1]:53170 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9T0-0000nm-0y for importer@patchew.org; Mon, 15 Jan 2018 13:26:42 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60038) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9RC-00086I-Vn for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:24:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eb9RC-0002yo-0Y for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:24:50 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:40064) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eb9RB-0002yF-T5 for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:24:49 -0500 Received: by mail-qk0-x241.google.com with SMTP id d18so17901304qke.7 for ; Mon, 15 Jan 2018 10:24:49 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id d20sm154623qtn.23.2018.01.15.10.24.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jan 2018 10:24: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=H55m8SAxQCZteXEHo639T3ncP9waoJie0p/fu8nR8T8=; b=A8F26+bImr3QrSMRDLe/ao4DhbdX3atD1aR/4S2bcmcCBent5vkui3voJg5vCzd699 AEVTSUa8aGfDqfssnmZOXJ/Jx64QF0Zoec7abUgZ27u1/LKw9qCOjnczDviNH40LNo1Y HuxGy0natjk60Yku5IwdQN9yaiHu0Fw/A4VV+jdgSg9xo6IGNkFk4hG5ZdCKHeuUc1qM TQei9ECnN/6GKuo3dKXtinyWZmm8UcpnpmzpwFyjjS4+UjfSa/xtAED+eETKdY27P8rP ITUH+uH5I8xjMVzefjEoGQyUmRyuDjeglLBVzaBDpi50S1VsHorPFqbpOmAPRWgmS/Lq tRMQ== 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=JEPOzxcpTpobN0ANDoTmXh767bSjG76nWKkaY+kPXJWX7xpI6uWxi0/5YAyGGPUIkA mZl/7AtAeubrEJrdGvCJA/ZC07OSRhosafst/pABJMHP+dsqY+ayc8W7uQFFQR76cd8A 8N9XPr2bfOwVTF+DacYijaOaKv59/ogSKZGov1W0/S+o3FS3+05sl6ljtdIhrPG3Eesw AearGGar5lCjkIsgagcj40hF26mnzMhD+vPH1cevnkAWUyWSvTx+vSocbQgHXb7kRd1d FD39yrNRzGVvTonbCI+88AiDyvxMcd61pW6l6No+NiGvH1RKUfRBYp0PHeZ1/FLEakEr kxcw== X-Gm-Message-State: AKwxytesahBzJpP21Yf3sJtkVjAmMJVXqaPgNbopUMkwMm6yYjtP8wz0 VT3YWLOLLSFjJY+SN9znRuY= X-Google-Smtp-Source: ACJfBoveI1IeF5QJITWJULtCvsQFI0ybcQWpovVp6QmH/rRBo7hMUWiXM+ybrxGzUkdEgCkBv2t3DQ== X-Received: by 10.55.65.75 with SMTP id o72mr36135553qka.202.1516040689387; Mon, 15 Jan 2018 10:24:49 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Alistair Francis , Peter Maydell Date: Mon, 15 Jan 2018 15:24:23 -0300 Message-Id: <20180115182436.2066-2-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180115182436.2066-1-f4bug@amsat.org> References: <20180115182436.2066-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 v8 01/14] 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, Kevin O'Connor , Marcel Apfelbaum 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 Thu May 2 18:42:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516040969430348.5797638265119; Mon, 15 Jan 2018 10:29:29 -0800 (PST) Received: from localhost ([::1]:53190 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9Vg-0003GE-6H for importer@patchew.org; Mon, 15 Jan 2018 13:29:28 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60049) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9RG-0008AD-8Q for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:24:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eb9RF-00030V-EI for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:24:54 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:44624) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eb9RF-00030N-9g for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:24:53 -0500 Received: by mail-qk0-x243.google.com with SMTP id u76so17848122qku.11 for ; Mon, 15 Jan 2018 10:24:53 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id d20sm154623qtn.23.2018.01.15.10.24.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jan 2018 10:24: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=E3zgiU1j/LzYxFXVPmxdCiky/XMOAVSDa7ZI6RR+yxY=; b=YGEo3rD3OPRL5zsYY6fRvPHZsZ1RjfPYfnMrJCktSoz9b2h2zLK6P3BNOEWGvD3c+T Yv2dhYOhlhPx27cmEmhnEn5BT2U7iXJQW4xkXynbRfHK+xtV9s9U+O5QxOYokx+s6R6P Rkh4PRMuy5Oi/yL2teMMyWiY9yFNVSbWzo9Xu8511W3MwWZn9N/9Y85OjuHQM4kWk+H1 Tq0BPmMxQD69n6Wn3/7tBZ5nKHhjcSC2lp7tAA0xMG0bUb11B0RgDZqYnJ/sJfWhErsD zmdiIsgQtFLqXwSUSKyV3fLSeGBsMgETuFVguiuKizL+epBT31plpCg2MrYOtGzVtz6c 4iiQ== 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=Y0aWuPuLtszyBMiSb/6TzvmKxk+UpDokHJsoFPV9V1K6Z25jVJ5VEJWlYbiLtlPulw eXMXGtRy63gVphBWTBQypfOM4v9VYN240G3Wn1WGRhMj3zfyPPD580jgKeE4JU/NY0Y0 TBIImbf0q5yLKOSdaTw/VjnmrtCNwnAUYCXo376rG0xaOPwg4fJ9DV6pRjdoEZ7UoVPj SJApeEmU3m8kPuIBdK32KaUXES0TCKTUg6xCX8Nyu8f9WFzsQeazhTiUwCgVyjleu+O3 TmY/F8zZI97Mj1B6lxGEc5UjLAQQ+ePCXrjMITisM/upE9KkIDJJG0dj2Fw+nlyrSnoF WEig== X-Gm-Message-State: AKwxytcDC9b9DGSIhWhyPjufl/tb6cFnNL/qUaPVaRhVSJdJe1jPSebH kG7vjIz9dzMaeijwu7tVR+8= X-Google-Smtp-Source: ACJfBoug3k5fNSK8uMdmxQYFyOFfnYWUx3wC8eKUD2+/HNh9PqjOoNu7mC43RK7K0z/Gww9ICxizLw== X-Received: by 10.55.180.6 with SMTP id d6mr48845258qkf.190.1516040692818; Mon, 15 Jan 2018 10:24:52 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Alistair Francis , Peter Maydell Date: Mon, 15 Jan 2018 15:24:24 -0300 Message-Id: <20180115182436.2066-3-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180115182436.2066-1-f4bug@amsat.org> References: <20180115182436.2066-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 v8 02/14] 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, Kevin O'Connor , Marcel Apfelbaum 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 Thu May 2 18:42:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516040969409388.8049757035294; Mon, 15 Jan 2018 10:29:29 -0800 (PST) Received: from localhost ([::1]:53189 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9Ve-0003FU-9W for importer@patchew.org; Mon, 15 Jan 2018 13:29:26 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60075) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9RO-0008GW-A0 for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eb9RL-00032I-5o for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:02 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:37042) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eb9RL-00032C-1p for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:24:59 -0500 Received: by mail-qk0-x243.google.com with SMTP id y80so11319384qkb.4 for ; Mon, 15 Jan 2018 10:24:59 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id d20sm154623qtn.23.2018.01.15.10.24.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jan 2018 10:24: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=WKAqpBAeLbTgOrgzeI7oxOWtqalLnKtcW+R+rjZlPxg=; b=ThHONgZ36pHJIeX+DMpKtIB6E9f3elpPHbo+VvGEMQV5Txl7Ip1BylM6p3t66LxVVA tPIxpACBhSWOpAm/c00eyrOcccjv5XXXRexH9wFQ183w5r7DFW54VKQvbdsJE5e7ayS2 EFX8fKY3ib9OtORrN4tkG86s0p1myVSrfXuk/vH/mguMD2dd3aNykV4ptf8VHxoUcmok euky3P+MEmhOXalvlSiyecP79oEi+ubaD39YJ+0jQKS6SpizpCfHh3CI5Nwn/TF0nSvd +QE8CawYJjrNzYklXE7O2Y6YCoT7bWoK02+erZTA2iycsze5pW79/tXutYRll+CIN7/1 wC+Q== 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=WKAqpBAeLbTgOrgzeI7oxOWtqalLnKtcW+R+rjZlPxg=; b=mOskzrUmRIFIZ9IPKb2rQJHGIq6dIyRc30S5XuAomCdzdAPqyvnSPeUjH1LZ7J+AGa 3fQ0UgnB8Wj0+cXY6f9A+sObr8vcE83Xf9b250tMo42v8BjE+8RaEwIvbq9YGGunfJrm QXR2GL/54kwDtNEBw7VrK98hIXT6nIxwo/dERmxPQvPbCnmNH5Bd3PQu7e0xmOX1jYI9 4TbjXxoFu74tRfNIhN5Y9dyAVr2Tozihqeo5Uw152YgY0v/Z6C0E1ZF4AyGcxv6DQniX YGnp0wvTqmaZW707ZoPbgT2eOjuonfbJ6xSz6EPnbhh09W0OVrudQAhEwmtN1z227UPt IjVw== X-Gm-Message-State: AKwxytcNVThoJPO3b1QnZfMT581xeBuea7CfA7RSuFkgcPGyrr1oqkJI 93aqEQT+Axz2vqU6qnJEsmM= X-Google-Smtp-Source: ACJfBovyHM+41LMGGWxdgCd6jw82YEn1YSRbVFRdd10NTVwjaRwcBI1MA70PKqXgrhHIr/WyyJODsQ== X-Received: by 10.55.102.151 with SMTP id a145mr35658145qkc.258.1516040698623; Mon, 15 Jan 2018 10:24:58 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Alistair Francis , Peter Maydell Date: Mon, 15 Jan 2018 15:24:25 -0300 Message-Id: <20180115182436.2066-4-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180115182436.2066-1-f4bug@amsat.org> References: <20180115182436.2066-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 v8 03/14] sdhci: use DEFINE_SDHCI_COMMON_PROPERTIES() for common sysbus/pci properties 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, Kevin O'Connor , Marcel Apfelbaum 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 common/sysbus/pci/sdbus comments to have clearer code blocks separation. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/sd/sdhci.h | 4 +++- hw/sd/sdhci.c | 25 +++++++++++++++++-------- 2 files changed, 20 insertions(+), 9 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..c0b4b8457a 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -23,6 +23,7 @@ */ =20 #include "qemu/osdep.h" +#include "qapi/error.h" #include "hw/hw.h" #include "sysemu/block-backend.h" #include "sysemu/blockdev.h" @@ -1185,6 +1186,14 @@ static inline unsigned int sdhci_get_fifolen(SDHCISt= ate *s) } } =20 +/* --- qdev common --- */ + +#define DEFINE_SDHCI_COMMON_PROPERTIES(_state) \ + /* Capabilities registers provide information on supported features + * of this specific host controller implementation */ \ + DEFINE_PROP_UINT32("capareg", _state, capareg, SDHC_CAPAB_REG_DEFAULT)= , \ + DEFINE_PROP_UINT32("maxcurr", _state, maxcurr, 0) + static void sdhci_initfn(SDHCIState *s) { qbus_create_inplace(&s->sdbus, sizeof(s->sdbus), @@ -1264,12 +1273,10 @@ const VMStateDescription sdhci_vmstate =3D { }, }; =20 -/* Capabilities registers provide information on supported features of this - * specific host controller implementation */ +/* --- qdev PCI --- */ + static Property sdhci_pci_properties[] =3D { - DEFINE_PROP_UINT32("capareg", SDHCIState, capareg, - SDHC_CAPAB_REG_DEFAULT), - DEFINE_PROP_UINT32("maxcurr", SDHCIState, maxcurr, 0), + DEFINE_SDHCI_COMMON_PROPERTIES(SDHCIState), DEFINE_PROP_END_OF_LIST(), }; =20 @@ -1320,10 +1327,10 @@ static const TypeInfo sdhci_pci_info =3D { }, }; =20 +/* --- qdev SysBus --- */ + static Property sdhci_sysbus_properties[] =3D { - DEFINE_PROP_UINT32("capareg", SDHCIState, capareg, - SDHC_CAPAB_REG_DEFAULT), - DEFINE_PROP_UINT32("maxcurr", SDHCIState, maxcurr, 0), + DEFINE_SDHCI_COMMON_PROPERTIES(SDHCIState), DEFINE_PROP_BOOL("pending-insert-quirk", SDHCIState, pending_insert_qu= irk, false), DEFINE_PROP_END_OF_LIST(), @@ -1374,6 +1381,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 Thu May 2 18:42:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516040824954826.9742538020819; Mon, 15 Jan 2018 10:27:04 -0800 (PST) Received: from localhost ([::1]:53171 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9TM-00017U-2q for importer@patchew.org; Mon, 15 Jan 2018 13:27:04 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60091) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9RP-0008HD-73 for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eb9RO-00033V-Er for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:03 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:43898) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eb9RO-00033B-Ap for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:02 -0500 Received: by mail-qk0-x241.google.com with SMTP id a5so15078919qkg.10 for ; Mon, 15 Jan 2018 10:25:02 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id d20sm154623qtn.23.2018.01.15.10.24.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jan 2018 10:25:01 -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=bCWWU8UaQyWSzO0EpT4dCp6qxeDjyvJXQSvKSc4FGuE=; b=nwZrxiGCsRm1c1G0oraHVOVuWBQiG5LX0/sXFKqF5FfukYYrNH7yKRWgld8Kh5HRAI fa4zixWbpwNdaHgJQeJODVcHPv5sy5IDga1L7+LVtpylY/fmjxlLydW3MHaOQKXMQZMT iwo9phpf39S/CGpTQ4z+xQqh8XGKWlPhYqp0N1tf9odAm/UcTRH8sUNQjLPAZoiZDwrv kH9YrWwe1PDGMNJQCZubgoH3dprmz25aH3JRoghJNBGC8cgX4dWDIbF++VNTy4nOQ2XT vrp+i4/A09ivW+fb7TOSeWOxcH9FG48Wxz3TwlgtZ0LCm9MXcerDh4C+iYAgnQ2xvtVN ejVg== 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=bCWWU8UaQyWSzO0EpT4dCp6qxeDjyvJXQSvKSc4FGuE=; b=Uc3y0lp3IVp6uehT5B6VtdCL0Cbgx0prRhfr1sVasakjR2lFNodxMwA/AvBrZ7q0vg ENzv7WeSEok5d8trNF+I3Vkxa/ZiCJbUVGljlQpAUdGAAxv5nbNJoQlqw95Pq5w+JJne tWwKsdcxKS9oHcGSSmbho9J/sDl6hxXioTYbkP2uyfpgy0nQiWXvKKpEaqptxlbFap1i T568nKWacyjQaf1MkxlJuschLDQwI3D3/NennG0rm9ARAsmmc1fhfAHP9KDJFGisuCqp ZBVYFFBzooKgBhMUG9PAl8K8i9v57Hq2T81jFwly0m/+kNeyFQYxpg9+XR1vKjBx37Sq MoHQ== X-Gm-Message-State: AKwxyte8kJ9uNqH3hee+C4t3IxTFZXJCRY5hmCKJA+dz/ACaD+VWTgDI CJJiK3xoauscqrOB0rUmkhw= X-Google-Smtp-Source: ACJfBotp5wKLMjFX0mzyRAb6+F9EtLtqz2bAWSeuYzT1O/XN3aGDmSesTZ5z3PEg8/aJ+LzSY+sqKg== X-Received: by 10.55.135.5 with SMTP id j5mr46522668qkd.20.1516040701932; Mon, 15 Jan 2018 10:25:01 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Alistair Francis , Peter Maydell Date: Mon, 15 Jan 2018 15:24:26 -0300 Message-Id: <20180115182436.2066-5-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180115182436.2066-1-f4bug@amsat.org> References: <20180115182436.2066-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 v8 04/14] 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, Kevin O'Connor , Marcel Apfelbaum 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 | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index c0b4b8457a..15d0961ac7 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1273,6 +1273,15 @@ const VMStateDescription sdhci_vmstate =3D { }, }; =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->reset =3D sdhci_poweron_reset; +} + /* --- qdev PCI --- */ =20 static Property sdhci_pci_properties[] =3D { @@ -1310,10 +1319,9 @@ 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_pci_properties; - dc->reset =3D sdhci_poweron_reset; + + sdhci_common_class_init(klass, data); } =20 static const TypeInfo sdhci_pci_info =3D { @@ -1366,10 +1374,10 @@ static void sdhci_sysbus_class_init(ObjectClass *kl= ass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 - dc->vmsd =3D &sdhci_vmstate; dc->props =3D sdhci_sysbus_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 Thu May 2 18:42:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516041162552210.89183068496743; Mon, 15 Jan 2018 10:32:42 -0800 (PST) Received: from localhost ([::1]:53267 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9Yf-0005se-Aj for importer@patchew.org; Mon, 15 Jan 2018 13:32:33 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60102) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9RS-0008KO-Lf for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eb9RR-00034o-LN for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:06 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:36060) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eb9RR-00034b-Gl for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:05 -0500 Received: by mail-qt0-x243.google.com with SMTP id a16so15251761qtj.3 for ; Mon, 15 Jan 2018 10:25:05 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id d20sm154623qtn.23.2018.01.15.10.25.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jan 2018 10:25:04 -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=AyjVSwp6zi5/FueRS2l/YIVyerL+NH0PvgB9AWZxGF4=; b=sqieacPD4OvKY97p/jDiEl5XJTXdC23idKRPCbuQiAg+pzm96sf95yXmp4MbUAbLF/ Q6tgFVrXTLzy2hmXeCWr9SksfuXen86PQpb8U+SNnqZzTUqPI6o+WwlXAHsITwHs/ZWv 2tfbvYUQ1Wkk2FYimtzz6I5cjvUHUCM8eVQF8k3bMzBzMIYQwVTzj9O/bRmTAUe5esky mcZM/Tr7tXDJWqb1mbwM+R3B1BmxchXegYpOQXxIhZ/XoZr65pPrp8c7dbfEQCi43W3Q AQRrwQuF2BHdhdlUUvl/2sUk6xNt/EHbWll8m0XhALSy6fFnm6nxZFCzXh1b2xwiXBLX xpZw== 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=AyjVSwp6zi5/FueRS2l/YIVyerL+NH0PvgB9AWZxGF4=; b=ruuG7FNZQnPZSJXnaIynYBzK/5rtvIFy/qwvvdoDh4J0r05tVvO1lih6zACTs4r8pi LQ8lcA/wyEEGfldhggLTAeC3v1t9Ug5kBprCmjQIAGryNpTLgKkvQBCsUVCQlefrTi4a IAmmY2DIn4LsvfQbENJbzbrgRTArCK57vQ0lhx4xl2j63Iqa6ME6ekM5PR2pbhn1J28g st5fAPU4aGuvE0GsWX2WEmKb8iEs5i8YQuLzxZnGq49mabUP6gHKG+p93cOUnAnnysLx DithYkN6cxJKyDBNvoqlIDSifOToUGOoK1KSRQyvTzRauen3Jd4A6Q5KA9Qeqx1H7jhQ xFvw== X-Gm-Message-State: AKwxytcgBy81QVNYlEWS386Lnvg1a6z2iHY5ZgJgzJsQIMseybS4Dz9Y Yoil9jSIHRWxQIa47NvkIpM= X-Google-Smtp-Source: ACJfBotSK/tpcCXHzNZE8QAyRsCUduIwurcNosloZk76UKTACSFW9Li7HxON/dQINftoSEocNkQFsA== X-Received: by 10.200.40.56 with SMTP id 53mr51898085qtq.159.1516040705049; Mon, 15 Jan 2018 10:25:05 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Alistair Francis , Peter Maydell Date: Mon, 15 Jan 2018 15:24:27 -0300 Message-Id: <20180115182436.2066-6-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180115182436.2066-1-f4bug@amsat.org> References: <20180115182436.2066-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 v8 05/14] 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, Kevin O'Connor , Marcel Apfelbaum 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 15d0961ac7..cf0c079990 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1214,6 +1214,15 @@ static void sdhci_uninitfn(SDHCIState *s) s->fifo_buffer =3D NULL; } =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 bool sdhci_pending_insert_vmstate_needed(void *opaque) { SDHCIState *s =3D opaque; @@ -1292,14 +1301,16 @@ static Property sdhci_pci_properties[] =3D { 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 @@ -1362,11 +1373,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 Thu May 2 18:42:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516040838271923.0547046784061; Mon, 15 Jan 2018 10:27:18 -0800 (PST) Received: from localhost ([::1]:53172 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9TZ-0001Gc-Ba for importer@patchew.org; Mon, 15 Jan 2018 13:27:17 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60126) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9RY-0008PG-8b for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eb9RV-00035v-4A for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:12 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:43900) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eb9RU-00035m-W3 for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:09 -0500 Received: by mail-qk0-x242.google.com with SMTP id a5so15079274qkg.10 for ; Mon, 15 Jan 2018 10:25:08 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id d20sm154623qtn.23.2018.01.15.10.25.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jan 2018 10:25:07 -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=hXdyHxnA3xK1HeagzMUFfxECoANEcP6zfcE8dXKo9F8=; b=JBvR2UgzyljF1sCH1oAcR3gt8GXAQ8zT6Kzrb2OG71Ek7SKSQX0dxY8MXElsfln5Bz KgVCnsPIfb26HKJEXumLVNVyfvhRUdPw5y7Jpr9Kq0787gIZ4ZyH2rbYkTafRpXYSkz1 YwCovEr7HwIX7OHBMl1P4YKSitKZMlkThJFYSKxvyjg+4NeZuxORzVIRB5GJiVKD9cVJ ryUo226JyuNbUtxZjqXE6OEJ3C11H/h/kZywsqKqZKY/5hh+lWiP+surCCqXHqhI1vg3 dKwc956onApBDNFvk4MsiPa5Gv9enXwwQIhlHF7nIdWWW4VNYEdcavNvBB4ZFiOryH25 L5sA== 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=hXdyHxnA3xK1HeagzMUFfxECoANEcP6zfcE8dXKo9F8=; b=QFll3pOmw/IL5tgXuswZ1LLcfaFVjpuel1Gm5edMyHdKx3B6/KeqW3ADf0SiOmj4+w wPYUWJ8h3gb4xaMOXs4bt/s7NOqS0bRn3QQd/CO+dZjUTFBiXjtNZ3P4YGDhnnalKgke IKSHgxkTRqY/zojrdLyhZQwgNLHoiAyWwbdXgOMaghXXaBh/6kSAku2OvAQ9iOyZlxIG NX4TU3c20O6NRNb2YH4iop/HqCG5GgaN2/2yWgACCdlW3KymXukeF88yyYvm3BSj/DCr mKRfXwl3VxGiN5mXcdonz+WfhDqSdTxMZQ3h52L1eYePx7OmqZEQBJ0erxFFrQLfw7KK Urlg== X-Gm-Message-State: AKwxytfnyO+bXJQpjwm/cBQ7wulPM/x63XQ9EdWa/R1VnbQIKPPiD16/ bbr6h+7MxxcspAo3Y6G7AIA= X-Google-Smtp-Source: ACJfBosavEF1dn2wv0BmOd8pUEjhu5cEuNSAvBslHjLLeGVSXw1AztonK35Jf9Y0ve9CgZYS0NUlkw== X-Received: by 10.55.3.148 with SMTP id 142mr39095918qkd.277.1516040708473; Mon, 15 Jan 2018 10:25:08 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Alistair Francis , Peter Maydell Date: Mon, 15 Jan 2018 15:24:28 -0300 Message-Id: <20180115182436.2066-7-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180115182436.2066-1-f4bug@amsat.org> References: <20180115182436.2066-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 v8 06/14] 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, Kevin O'Connor , Marcel Apfelbaum 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 | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index cf0c079990..bbe4570326 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -32,6 +32,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 */ @@ -1223,6 +1224,17 @@ static void sdhci_common_realize(SDHCIState *s, Erro= r **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 bool sdhci_pending_insert_vmstate_needed(void *opaque) { SDHCIState *s =3D opaque; @@ -1317,6 +1329,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 @@ -1382,12 +1396,20 @@ 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->props =3D sdhci_sysbus_properties; 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 Thu May 2 18:42:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516040993128386.10647570112576; Mon, 15 Jan 2018 10:29:53 -0800 (PST) Received: from localhost ([::1]:53191 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9W4-0003c8-CI for importer@patchew.org; Mon, 15 Jan 2018 13:29:52 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60147) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9RZ-0008QD-CL for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eb9RY-00037Y-Cf for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:13 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:46138) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eb9RY-000379-8r for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:12 -0500 Received: by mail-qk0-x243.google.com with SMTP id l64so17832388qke.13 for ; Mon, 15 Jan 2018 10:25:12 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id d20sm154623qtn.23.2018.01.15.10.25.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jan 2018 10:25:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=E7/83U3pDnhKOCY7kGsniVGLmgCSXPAoeJwD05yQG58=; b=Igf2ehutkDRU4ey2JHaKsFkW1hkbFw0fAgHtYCc8jwn8kYhh+/gTj1qmiUlQVGJUCr SxOjoxjOWdNO9zs82j20DQZONZBex3KbbXl+U+HZ/ZqbuXg2iwcvrIuw0KsVIcEBpf4e CFd/8Nm8a7WYVWTJ0tU7iAnFskARcKBErCEl1BsWuaHIHAfgE8o7Ocar6vHRoqutWbpc QFjvoZendY3QbgdI44kodD+fuGGkhiMhGI/evFX4h0GpBmX2HKzcsbTqN6v2TXEnwY0q P7S8RcRKrQDxYHgEGSypDOpV75wYDe4VDQJEz7SLk750lvzBg5Tw4DQvvwGxIQL9kGnX FS/g== 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=E7/83U3pDnhKOCY7kGsniVGLmgCSXPAoeJwD05yQG58=; b=nfh2B/sZedHROGk+/mGpeHO4sRvAy7OSNqqwfLu+LRsmNaFI79I9AzO5oBa0fQRZrp 15d3kI1thn5h1GWFiTjZKpImi9cgHpTWp5S19/RlYzk+v9ndY/826n5NUn3SpjGSTsAv lv+2NxN+7DV0/CgzB09qyBEdOzRI/YGwaHmkTuheneZgOlWsO11zpljfyTTR2lqBW7vP M5MErh2kEKE8Ml8ImBA5zEberuIq770o4E7Xbca9TfnqnqX9vIC1HwZvZAReGHiI9Jd+ 0gRExD2jwJVV33B+dwBwWpj1Y4wUxYf7Ysjebwx2kIrvHULcrlH+DHQSJmiw1ZZPBbNu WNFw== X-Gm-Message-State: AKwxytdWkAcOd1D5b/os5n346jhfxvr5SLuWryZi/SxFSy5Fr6uwm1h4 vUyJ+fFbq7cAxS4VmYPWL58= X-Google-Smtp-Source: ACJfBosTPyH9DZ6LJ069Q5Fo0w2GRx73zsP/1KgWMcXfj+fa3EC1pTg2+QxEEFhD9EQSaSE/3MZXzw== X-Received: by 10.55.8.138 with SMTP id 132mr16458537qki.269.1516040711852; Mon, 15 Jan 2018 10:25:11 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Alistair Francis , Peter Maydell Date: Mon, 15 Jan 2018 15:24:29 -0300 Message-Id: <20180115182436.2066-8-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180115182436.2066-1-f4bug@amsat.org> References: <20180115182436.2066-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 v8 07/14] 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, Kevin O'Connor , Marcel Apfelbaum 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 bbe4570326..7ffb1dbec5 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -947,7 +947,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 @@ -1153,8 +1154,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 Thu May 2 18:42:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516041010769170.05103892210195; Mon, 15 Jan 2018 10:30:10 -0800 (PST) Received: from localhost ([::1]:53192 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9WH-0003ne-7D for importer@patchew.org; Mon, 15 Jan 2018 13:30:05 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60181) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9Re-00007C-5x for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eb9Rc-0003Ai-4i for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:18 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:33551) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eb9Rb-00039f-Sy for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:16 -0500 Received: by mail-qk0-x243.google.com with SMTP id i141so17924852qke.0 for ; Mon, 15 Jan 2018 10:25:15 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id d20sm154623qtn.23.2018.01.15.10.25.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jan 2018 10:25:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=cJIcTu8uEPsbT0QfNkZbYYpjoWHebfXHD/PbQjU5dow=; b=kKHrYLKk0fEd+sD3HNJz2arrgFeZsNPnHgLizS8VflfKZGBXZh0DYI9jW77Jka2xuz QqsYfnH5CoWRTNx/gpciLzjxF15sluE+IpPG5Ui8cEMCVkG9Ya5FPAPn571cn50A+ayb MxU9yKmfuBdGZI4HOV0vqDzEyh04ECQ9tZ5cBcRVdgItoHMJge7ZN8RD2ouxnuqJCBZP YyNbmXHslGJtugPmDR4jATUli2vgv6wOKL8Prnio+Ng2nWAZzoa9eO1dVVLBG/COJZJR KvDOdgOmeezRPVgSLMv4ZNIOQgFkiPCis+XNkzTbeYOTkW3u4yy4ygcZ+MV7YAPtpgrA 0c2w== 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=cJIcTu8uEPsbT0QfNkZbYYpjoWHebfXHD/PbQjU5dow=; b=DLffSyDXLzeJ25jrlqULfWY2TluL0iiP5eSKF5pwSLlF7PAiduxrTUZBn7AKuSxQzc NxOrpRaGcwicgdG7ozE3wudCsHBdlJTi9V78fyGP/1tYjYlnAO1SoPYFiNi9nNi1qjdP jVTTuUxvbSbUpwHxFzLp6FrHJIuk748j6owLiAJHzSgt28rn3HPtU5ipLlS2/VSKDo8Q R2sFYpFK54V6IMT+hr7bDPy2eRfQWa7struTs+EvGT6j21yGJkfOhHSgkNUod8PRhiOn wY0Q0QEvgbhUGwBahMUUMv/OssbXC2VI+NeCV/G8Y8kXs22l+zyr1fb+kR77+uw2VTvd syqQ== X-Gm-Message-State: AKwxytdyx03O1moMcaXXawZlYak0GRscltBAtBfDKWViLn7DDNBIXIz+ UWHE/+SLprQAt/71VDmpNKg= X-Google-Smtp-Source: ACJfBovumE4a+DET1PHfoSqBJJRa517AiGTK8mMQXLzI9c63O6rw0voIXu22duJmvu1MYY5tdm+LWA== X-Received: by 10.55.177.135 with SMTP id a129mr9509559qkf.112.1516040715318; Mon, 15 Jan 2018 10:25:15 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Alistair Francis , Peter Maydell Date: Mon, 15 Jan 2018 15:24:30 -0300 Message-Id: <20180115182436.2066-9-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180115182436.2066-1-f4bug@amsat.org> References: <20180115182436.2066-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 v8 08/14] 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, Kevin O'Connor , Marcel Apfelbaum 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 7ffb1dbec5..68f1aee5dc 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -34,30 +34,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) @@ -156,8 +133,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, @@ -239,7 +216,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) { @@ -247,7 +225,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]; @@ -257,11 +235,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; @@ -295,7 +272,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) | @@ -364,7 +341,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 @@ -373,8 +350,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 @@ -457,7 +433,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 @@ -466,8 +442,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) { @@ -655,15 +630,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 */ @@ -746,8 +720,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; @@ -755,8 +728,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; } @@ -767,15 +739,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; } @@ -811,7 +783,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 @@ -819,7 +791,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 @@ -828,14 +800,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 { @@ -870,8 +842,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; @@ -901,8 +873,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; @@ -954,7 +925,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 @@ -1158,8 +1129,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 Thu May 2 18:42:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516041162313803.6123800499371; Mon, 15 Jan 2018 10:32:42 -0800 (PST) Received: from localhost ([::1]:53268 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9Yg-0005uo-5p for importer@patchew.org; Mon, 15 Jan 2018 13:32:34 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60193) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9Rh-00009j-Gh for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eb9Rf-0003E6-Lu for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:21 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:34707) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eb9Rf-0003Dx-Hb for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:19 -0500 Received: by mail-qk0-x243.google.com with SMTP id b76so17946927qkc.1 for ; Mon, 15 Jan 2018 10:25:19 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id d20sm154623qtn.23.2018.01.15.10.25.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jan 2018 10:25:18 -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=LDtKIWHN8tFeNSIxHxx0aJrxWMlR9HZ4xcbVHkWmiac=; b=cirF8s5Z7KPloKGmWvLanGq86rBsEraDQtt4b6dhPW1V6nA8As2EdCxfuAa3n64Mze Ic48dFoinOtfl188kYazMIoNDq4x11xdn6Ui5r3OxVAQgVpSXUVkvIxRlaJLGuvI58XV FRiZW0v8VeSqV2kdgEjS76DoHUpypT5u8+eFGghck3WF/a0hGmD8zD+0JiXU309/gMjS M0/V24i56egeHPX8mer9LkYJIrOQEiCU28IM8W//+WoajEuWKxtwQmv+Iq5c/pF2s7f+ BVDbCYow/0itwI8wIAu2T+QdORt1vVvIGEPThygKTCvVcX4xJ3XI5jggJzKfBf9488HK Qm0Q== 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=LDtKIWHN8tFeNSIxHxx0aJrxWMlR9HZ4xcbVHkWmiac=; b=oWmcYwnR96JAmYZNMyYPP2CE6r+qhpOlUCQ0RuZigRrXfL4XYaDRUOnLTLRKps5mFn MOywysGu0Ob7l8AQtqRJQrmwW+qrLVJt31rd0j0YOs20w3ZAWvcg7Ld1xI59Az3OW2UI 9cb3/9hO21Qeh4oUatDaAEHB3Arkz2RWadut335BwOK797TxEb2q1a9HAGFDHeeFW3Jw UPfbMNRvuXKdg8RoMSELMflfPkvIqShizEdzSaLnXr2DrIV7TKtNfAujZNurGOIgNYW+ RIXnbpwa9UvwOx3bb9qlW1eGdYC5BIOD0PfRN2dbIH+NEBHw7aAb6TutLew3ymDFqOPe tFcw== X-Gm-Message-State: AKwxytfpf0PUiSZa1b5il+sRc6nLStL3+conTx5UO8Vts8zwQpCnzO8N t873r6+0KM9mRXKCKCKJYYg= X-Google-Smtp-Source: ACJfBotKW2G/DcPBi1K63vT061t5+lgq3cX+kv8XB8wFws/2388qSd6Yfj8HuYr1Gokn4xTFV2dByw== X-Received: by 10.55.168.137 with SMTP id r131mr39700644qke.27.1516040719125; Mon, 15 Jan 2018 10:25:19 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Alistair Francis , Peter Maydell Date: Mon, 15 Jan 2018 15:24:31 -0300 Message-Id: <20180115182436.2066-10-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180115182436.2066-1-f4bug@amsat.org> References: <20180115182436.2066-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 v8 09/14] 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, Kevin O'Connor , Marcel Apfelbaum 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 68f1aee5dc..4265b6a20e 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -99,7 +99,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) @@ -1026,7 +1025,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 Thu May 2 18:42:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516041341983201.95900127277673; Mon, 15 Jan 2018 10:35:41 -0800 (PST) Received: from localhost ([::1]:53314 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9bd-0000HF-EY for importer@patchew.org; Mon, 15 Jan 2018 13:35:37 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60205) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9Rj-0000Bh-IO for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eb9Ri-0003Fa-OV for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:23 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:36753) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eb9Ri-0003FK-Jm for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:22 -0500 Received: by mail-qk0-x242.google.com with SMTP id d21so17925746qkj.3 for ; Mon, 15 Jan 2018 10:25:22 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id d20sm154623qtn.23.2018.01.15.10.25.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jan 2018 10:25:21 -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=9YK0LfXaV/VaxrTIGLoSm+RXyAWT7TIKcr70kN5k8H4=; b=hvFoWQGzjanzn/VrzVr3rL8BYUoYC6419qUak8xP6OyswbPlV5uBr4beefAldjcKnt IehlHdsofapyDiuG2yM0UnZLhur12ArcqKjWPhnjDFNR5LA29cIQ0CikAr4dFU8mGvfY oKLQHTR/ezwvCvHuI80Rlcb/UNqKTuTIb8JvfzllEGhR6qYgejrZNYNuat/2fHhfjhxw vikclUXIVXA3KJM8Wp4+mnuvJ/daZVedmLwNUHMNCrBA1asZXc0+jncVOw5uf5NSmN0c 3+2EyZa54FAf4A14tZLyB4d5PGB7vDz/fdHca4Y6Keee0MV9r38Re1APfZ2TwlbnADD5 ReKw== 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=9YK0LfXaV/VaxrTIGLoSm+RXyAWT7TIKcr70kN5k8H4=; b=E/NDYRcT3GnjTlu1CNJDFNbHZwnx9Js/c8d8XANU/ubZk7mvm22mKJ1TIsV75RH9HZ 9f3LAZyYq2EpEUxAlogKJglpXOtjC4RZmHK0vbSmJ9wZNciSucS6i8JMJ0pnR0Ubhtkv sj+Wmq93nyCiFfqtCoFVkyqks2zRhbyTejouQxXsDgYAG4adLS3XdyeYiFx18nAj7JTO sTh/j4KqmZpxC/5yo5Kg/vReMtN7lNe9kF8DOLnQyF5l51v+LnqK8aGxhy+s9GzojFgm XGFVENAalPDA+l44FVks7Jsplomh2AhdfOPCzx8LMbQ4cFY481plzw3YcM4U68074/bz rDuQ== X-Gm-Message-State: AKGB3mLxuGHJWo18bFMZZuruOSdX8bg97W8Hd5HE/7SFrJehUjfSmW5Q Kx3yQu6Gcb0AoGCHyDxOLRE= X-Google-Smtp-Source: ACJfBotmcD1majgI0bp+F/wYycV6L8WmWGBCtlen9cusGkGd5TSyQ2EtG6q9VroWKegqtsNv9OX4PA== X-Received: by 10.55.40.16 with SMTP id o16mr52341972qkh.216.1516040722180; Mon, 15 Jan 2018 10:25:22 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Alistair Francis , Peter Maydell Date: Mon, 15 Jan 2018 15:24:32 -0300 Message-Id: <20180115182436.2066-11-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180115182436.2066-1-f4bug@amsat.org> References: <20180115182436.2066-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 v8 10/14] 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, Kevin O'Connor , Marcel Apfelbaum 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 4265b6a20e..c4e486e2ff 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -898,7 +898,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 Thu May 2 18:42:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516041342167261.82072505317103; Mon, 15 Jan 2018 10:35:42 -0800 (PST) Received: from localhost ([::1]:53317 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9bh-0000K7-CN for importer@patchew.org; Mon, 15 Jan 2018 13:35:41 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60231) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9Rn-0000Co-Qx for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eb9Rm-0003Gx-CH for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:27 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:37044) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eb9Rl-0003Gf-Vm for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:26 -0500 Received: by mail-qk0-x243.google.com with SMTP id y80so11320935qkb.4 for ; Mon, 15 Jan 2018 10:25:25 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id d20sm154623qtn.23.2018.01.15.10.25.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jan 2018 10:25:25 -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=0WQsmcHctruwK/gzPUzUcNh0csHZd/pxJBW+i5rYE84=; b=pHMLHmgWqwuv7mB8pAUFkq1ygwkXV2wJjhmueBZLsZAnKAgWiPefG/mrQ6lUtPzcnh BmsU/KsR5Jlryo6xR8ILUR1xn7yDPbnCxPwv7Lv7oRPr59kbi+lqiu3+9XKlldvUlHg2 4ro8ruzGfIDi0HR2vSVh69fyx9wGJmMRK9jocH5AVKJ3c4tG/sNb+LdWyFr7ni47XYZ2 GHaTihlr+CV7MbXT1h3UVqIqZuNgsNINGbHQGOP8sF5rP30EP+CD9358Q9amTcwU0tgr IToqJ9D7Vej+3PMlIYROt0nJMLDnm7Ck993UMiX8hlWBjHOKXdrrfkwgnMi3tGpXIJDZ jqcA== 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=0WQsmcHctruwK/gzPUzUcNh0csHZd/pxJBW+i5rYE84=; b=SCA7Xy6+gLQ7q9lfIcsC/XrW2KsgODH7iry3dWbpAMrUs2nJyzJVZdr6wna2iknZGF gd5DCf9zPSirXVl6n6JRJqyklNSOltCU0gzeVs35BZFj2kFanZYpR3dBEBztBPz3oBkb hTukBdlP1uta5jAQ0EDj3LG81J0CUZC7Vs+FJxsgKqc8p6Zj/luUK8llMtsGw7H1S07O TQ4tsu9VWI3h8S5TA6GmN+WK4LNhk06w2HNDM1r1eohVlTCP5CXXLGJPAuV8TK6FSaDC AH392pv0N7qWdi8iUeIVJ5p/JvI8+AWGM5TUvhF8ISzq65dxSEpjMA85WuKhoZpj+vE4 6c6Q== X-Gm-Message-State: AKwxytfzQ9CNrU4eVIAZMDzSG7HaFTIISwizDbRmvrgu0JMaQGRjbAdM +CU1GHbUoB5m1jLvhz4Whic= X-Google-Smtp-Source: ACJfBouCQ83AoKeabkNwRfyVNtOfVm7rqFB9uqg/lFQrrwG7UANd9tGp95WtRCuOY/DvRa0QmVxf1w== X-Received: by 10.55.162.150 with SMTP id l144mr39937645qke.336.1516040725552; Mon, 15 Jan 2018 10:25:25 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Alistair Francis , Peter Maydell Date: Mon, 15 Jan 2018 15:24:33 -0300 Message-Id: <20180115182436.2066-12-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180115182436.2066-1-f4bug@amsat.org> References: <20180115182436.2066-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 v8 11/14] 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, Kevin O'Connor , Marcel Apfelbaum 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 c4e486e2ff..d4fcebcd6a 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -899,10 +899,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; @@ -1123,6 +1129,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); @@ -1163,8 +1178,8 @@ static inline unsigned int sdhci_get_fifolen(SDHCISta= te *s) #define DEFINE_SDHCI_COMMON_PROPERTIES(_state) \ /* Capabilities registers provide information on supported features * of this specific host controller implementation */ \ - DEFINE_PROP_UINT32("capareg", _state, capareg, SDHC_CAPAB_REG_DEFAULT)= , \ - DEFINE_PROP_UINT32("maxcurr", _state, maxcurr, 0) + DEFINE_PROP_UINT64("capareg", _state, capareg, SDHC_CAPAB_REG_DEFAULT)= , \ + DEFINE_PROP_UINT64("maxcurr", _state, maxcurr, 0) =20 static void sdhci_initfn(SDHCIState *s) { --=20 2.15.1 From nobody Thu May 2 18:42:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516041196777184.15867213616662; Mon, 15 Jan 2018 10:33:16 -0800 (PST) Received: from localhost ([::1]:53270 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9ZM-0006Vz-2u for importer@patchew.org; Mon, 15 Jan 2018 13:33:16 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60274) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9Rr-0000G1-4E for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eb9Rp-0003Ib-Fh for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:31 -0500 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:37608) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eb9Ro-0003IL-Vn for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:29 -0500 Received: by mail-qt0-x241.google.com with SMTP id d54so3178659qtd.4 for ; Mon, 15 Jan 2018 10:25:28 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id d20sm154623qtn.23.2018.01.15.10.25.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jan 2018 10:25:27 -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=CaSJGAyM9RbMEA3xgyxr/ey/Zy3tZQYrq3PVq2G2MrY=; b=V4WszmOe8PSrPn63vulZ7eUWb0D5zn54EBfoj15mQ8+SbDBRE2HGYoGt4XdnKAqyMt excNFp+NvM1QdWSl+RrfqZ1+jRNsqvcATWojkD1aiCqnX/5Ed6afePv444aU6FraNakh QIQ/1kYZRh1BLtq0BEJLW9IBpuHmEbGAOHu+ZnFy28/LMrVk0eNr5T+NsaAa0Uu2AKVN 9eVnHTXNTN9UtnUSmrKbOSIXeM7FBRZbAK8b5qOMylb9yvVb/tenDasCKbi+FddmVCL8 sRuPJPwszesVz0fLZl6Fb42pS/Jtr+BvzzNrBUkNyjugJBfNdaXhWNThX8pOib/9Z9Zd J2qw== 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=CaSJGAyM9RbMEA3xgyxr/ey/Zy3tZQYrq3PVq2G2MrY=; b=fkkLpvJsDmLOO3Q7SnL4ShbDA4BRiAQWtxSzcCfyHsZ0QC3wciij3iYGCK/2rj2cvM CbCLAdQocVoh7Yw8mrxG1rhUby+d36LxTmXNacSSDsCbaRJAiP/qIxNKomb1dhT8jUxm Se50RYWhP2yLzJX8PLBEvDHRR1V+tGJ2Hh0I+jeJp20WyJ8hhb9DmZzPwci+zcrrjoP2 AYCURgO8wf7fFmgE5ICyZG02fI8I8HCbI6dENF8JK67H5+3RVj0izqfE1yCDp365jm2m +XDaeZv7Wn6cHhLfuv5bb4g1fnV0mCi3kDTZcFYka4lV/2+tK824rkd+hGuQreKj/4mV NMNw== X-Gm-Message-State: AKwxyteeoaxgfw0YxO7SHORkHqRhfTd8nPdJ6+hSJd5ZEDZUNo5jo2VK rr9kx+tNiyW7wRNC8BbRWCpToxjb X-Google-Smtp-Source: ACJfBouRy6E0zBA64fV9Iqzz+voIB7UOTaYZx7sxgaKbUcNjcxEyc63dwAFxmtZmTnff2h7hOn3Y9Q== X-Received: by 10.237.50.99 with SMTP id y90mr6499197qtd.274.1516040728526; Mon, 15 Jan 2018 10:25:28 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Alistair Francis , Peter Maydell Date: Mon, 15 Jan 2018 15:24:34 -0300 Message-Id: <20180115182436.2066-13-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180115182436.2066-1-f4bug@amsat.org> References: <20180115182436.2066-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 v8 12/14] 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" , Kevin O'Connor , qemu-devel@nongnu.org, Marcel Apfelbaum 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 d4fcebcd6a..9bdbcd0a04 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1129,6 +1129,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 Thu May 2 18:42:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 151604150686295.94867636611264; Mon, 15 Jan 2018 10:38:26 -0800 (PST) Received: from localhost ([::1]:53675 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9eL-0002rN-SX for importer@patchew.org; Mon, 15 Jan 2018 13:38:25 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60309) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9Ru-0000Jf-G2 for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eb9Rt-0003K6-9j for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:34 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:41811) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eb9Rs-0003Js-Me for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:33 -0500 Received: by mail-qk0-x241.google.com with SMTP id l29so8314685qkj.8 for ; Mon, 15 Jan 2018 10:25:32 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id d20sm154623qtn.23.2018.01.15.10.25.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jan 2018 10:25:31 -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=8JRiPVqvzUkR4ZlmO+6IEOqRoc2c+wOplY1Zac9ShVI=; b=JWOaJNeISU+GDWxtpItDOOxVS8+Zh9U9SDYx6+Um8HGgOuzfp6Z7kC2S9pMqcjxMP5 j2p3Grwv6e+zY0kUzpo0fydxhDC6E4iO4zJ4bg4Grs8WhuQZT8WvDb5HPYszZqy8s47m VXxrt7IoPnNeFcfXGND3DpfBDuuIRfGOzheRKQ4UoETx4GQ6jZUWR5maMbZkz4x1zqFL T1sLIiSa+Ndf5bskeFZ9s2vyp1B0s3NeqGVmaYZ0H4Us2z+Q9CxV6c166nb9bRbIhSwz Zn8LTacv7Y1dBxiKTVWwuuF7wfL03t6wLLSJrP8VUBPS8eFb6OiXTObI5HEauVDmjXQH YLww== 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=8JRiPVqvzUkR4ZlmO+6IEOqRoc2c+wOplY1Zac9ShVI=; b=U+PUOVnt35IVdftF+Pg23vhuKRN+GzrNlG10ZjUDq8H8edXwsR/u78tctmFKYgDjOO iF15SgYIQw7jtlz3uYuxUO9kZFIQBb+9sYUSkchEDwjvIkOgy58OwV8EI3WdsjNncnPS GjrvfFLKYnPs/FMMUDgjhLmKwHt2zZT5UkIHuX4sa0Dt6lGAa01ulj8WRABHsGK1lc6z vPcHWYqghJ71538xLHM0oPdbiMHxZ2HKp/XrrakSoRfeREhXa6VVqhcNUH54HR3hydOb b6kSn1ZNoeyvZpCBhoBvEekHUPfPXR9tN22SM6rh5frTbkLzg5Pzsi+pTANoxIBkJmbI KQ2g== X-Gm-Message-State: AKwxytcj1odDILBLq/g9TP+nd8YbwJ7PfgeWo3opbu+c9c3Gs2Sg3xb0 GYGoh5B+yhjbtO6ViObgNDY= X-Google-Smtp-Source: ACJfBos/7TXqlDJ2oaD6dRTKG3bXvORvc3DTc+f26RSToJuvtLoSHtk6aX6vLK5qL7RcgQnzYgDvVA== X-Received: by 10.55.40.137 with SMTP id o9mr21813738qko.189.1516040732168; Mon, 15 Jan 2018 10:25:32 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Alistair Francis , Peter Maydell Date: Mon, 15 Jan 2018 15:24:35 -0300 Message-Id: <20180115182436.2066-14-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180115182436.2066-1-f4bug@amsat.org> References: <20180115182436.2066-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 v8 13/14] sdhci: fix the PCI device, using the PCI address space for DMA 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, Kevin O'Connor , Marcel Apfelbaum 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 While SysBus devices can use the get_system_memory() address space, PCI devices should use the bus master address space for DMA. Suggested-by: Peter Maydell Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Peter Maydell --- include/hw/sd/sdhci.h | 1 + hw/sd/sdhci.c | 29 +++++++++++++++-------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 442e30aff2..4a102b86ce 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -41,6 +41,7 @@ typedef struct SDHCIState { /*< public >*/ SDBus sdbus; MemoryRegion iomem; + 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 9bdbcd0a04..dd400695e4 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -496,7 +496,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) { @@ -518,7 +518,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) { @@ -556,11 +556,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]); } @@ -584,7 +582,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. @@ -596,7 +594,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); @@ -609,12 +607,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; @@ -673,7 +671,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; @@ -697,7 +695,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; @@ -1312,7 +1310,8 @@ static void sdhci_pci_realize(PCIDevice *dev, Error *= *errp) dev->config[PCI_CLASS_PROG] =3D 0x01; /* Standard Host supported DMA */ dev->config[PCI_INTERRUPT_PIN] =3D 0x01; /* interrupt pin A */ s->irq =3D pci_allocate_irq(dev); - pci_register_bar(dev, 0, 0, &s->iomem); + s->dma_as =3D pci_get_address_space(dev); + pci_register_bar(dev, 0, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->iomem); } =20 static void sdhci_pci_exit(PCIDevice *dev) @@ -1381,6 +1380,8 @@ static void sdhci_sysbus_realize(DeviceState *dev, Er= ror ** errp) return; } =20 + s->dma_as =3D &address_space_memory; + sysbus_init_irq(sbd, &s->irq); sysbus_init_mmio(sbd, &s->iomem); } --=20 2.15.1 From nobody Thu May 2 18:42:39 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516041379007338.6593051610582; Mon, 15 Jan 2018 10:36:19 -0800 (PST) Received: from localhost ([::1]:53322 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9cI-0000w0-7n for importer@patchew.org; Mon, 15 Jan 2018 13:36:18 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60332) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eb9Rz-0000Oo-SO for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eb9Rw-0003LS-Mx for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:39 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:33551) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eb9Rw-0003L3-6w for qemu-devel@nongnu.org; Mon, 15 Jan 2018 13:25:36 -0500 Received: by mail-qk0-x241.google.com with SMTP id i141so17926003qke.0 for ; Mon, 15 Jan 2018 10:25:36 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id d20sm154623qtn.23.2018.01.15.10.25.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jan 2018 10:25:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BfvG5wbseKzVE6xzPJ9U30AUGQkNXu75yIFVeXeq0S8=; b=N5+RpHMCDATexu69zKoMjG3NrL1XkJVYrgGjWVs0C0fluhjbedqnPn7pkjGsBoVL4Q FOi1gL7n6OwrFWlsPTIDZbHP/rM6ygTlzdNJloSwWPKe3EsbTfV0kcSHbOdNcZ11Qlev v4M6YAQ8HJiNUWleeUke2z8jP/v57wJmyCMw3kQJbuWSRI4lQDc+iA8dKdJGZHxjqI5h lF/vbhO4MXtkwPl6eCta+Wu5Y2A/axSsgwBaVWjGpM4FL+v2aFgDGsWOsFGHKrsW9ely HMbj5/Tw3i5THIjqxMu4KU37QqwCGgMQPZFiZSFpfB2oouvBoE6fqZDO2zJRbwdAf3Ym CwRg== 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=BfvG5wbseKzVE6xzPJ9U30AUGQkNXu75yIFVeXeq0S8=; b=bBDmNVKat94oCHFIgZwH2nUY4eDCoSpy1LkkUTJvDRqTEM/GgWPLwUT8i4QkfJI6k2 xUqvwZEGJqtZH+cA3U/PPDnskeCla8sUopQPPqoI4PTTyuD66WI9XZ2NIvhQJcnrNCZ6 z7qIpaexVM03fepSg1rzxBD1j74Q4r1qtafJpjqxMAaTuCFsslHZokM9KaQlhI4cIW0E 2oCaIfTXTkPVvogAve+CNxLzZrkkS9Dq/9hKp2vZLHE9cWx+l4B6OZXx7jtTXvIN+dDh O0rbb1efBl3VGWHdm4WuTYzXVEf4Juu7626v9SwF1Q1qdLy7OaBJK2BDSf8rJM2D7A5L 17eA== X-Gm-Message-State: AKGB3mLUOnyam4TvQM7XxmZkdkthvahoFzU1HUV40uEv2GRLx+U/lD8Y uT+iAz3IOOYJQmFR6na/QW4= X-Google-Smtp-Source: ACJfBoty7JRqnYdLcysB41KkNgStYcEntsIo/WJ9GPxr9BUTTQ1by2pSbBtH95hBTIMgnKtUVij4LQ== X-Received: by 10.55.40.16 with SMTP id o16mr52342893qkh.216.1516040735755; Mon, 15 Jan 2018 10:25:35 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Alistair Francis , Peter Maydell Date: Mon, 15 Jan 2018 15:24:36 -0300 Message-Id: <20180115182436.2066-15-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180115182436.2066-1-f4bug@amsat.org> References: <20180115182436.2066-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 v8 14/14] sdhci: add a 'dma' property to the sysbus devices 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, Kevin O'Connor , Marcel Apfelbaum 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 --- include/hw/sd/sdhci.h | 1 + hw/sd/sdhci.c | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 4a102b86ce..cb37182536 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -42,6 +42,7 @@ typedef struct SDHCIState { SDBus sdbus; MemoryRegion iomem; AddressSpace *dma_as; + MemoryRegion *dma_mr; =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 dd400695e4..f9264d3be5 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1354,6 +1354,8 @@ static Property sdhci_sysbus_properties[] =3D { DEFINE_SDHCI_COMMON_PROPERTIES(SDHCIState), 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 @@ -1367,6 +1369,11 @@ static void sdhci_sysbus_init(Object *obj) static void sdhci_sysbus_finalize(Object *obj) { SDHCIState *s =3D SYSBUS_SDHCI(obj); + + if (s->dma_mr) { + object_unparent(OBJECT(s->dma_mr)); + } + sdhci_uninitfn(s); } =20 @@ -1380,7 +1387,12 @@ static void sdhci_sysbus_realize(DeviceState *dev, E= rror ** errp) return; } =20 - s->dma_as =3D &address_space_memory; + if (s->dma_mr) { + address_space_init(s->dma_as, s->dma_mr, "sdhci-dma"); + } else { + /* use system_memory() if property "dma" not set */ + s->dma_as =3D &address_space_memory; + } =20 sysbus_init_irq(sbd, &s->irq); sysbus_init_mmio(sbd, &s->iomem); @@ -1391,6 +1403,10 @@ static void sdhci_sysbus_unrealize(DeviceState *dev,= Error **errp) SDHCIState *s =3D SYSBUS_SDHCI(dev); =20 sdhci_common_unrealize(s, &error_abort); + + if (s->dma_mr) { + address_space_destroy(s->dma_as); + } } =20 static void sdhci_sysbus_class_init(ObjectClass *klass, void *data) --=20 2.15.1