From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031075; cv=none; d=zohomail.com; s=zohoarc; b=WpkbaWt8DOOnUm89aCbNVPSddV20NTgE8kpE3MJ4It1NgVNbc/mY/3/QXEtyirmb0IeXW6emfBSwyJZMT+vZ/X8XQ4yhdQaqFulMf22P2ghZH9MNsncJMlLUxjNCIkn4kc081VgjTBK+/k2hgtXXchfK0hqAIaF8zhyfsohGIHU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031075; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=2+ejMCV40ttJWX503UL/cUbXCRo7C8BOcBLGhpyL8vw=; b=eWX25XiOP/yZMf4kG7o7CrMb9aEa0rD+wfktJ0U4pr1hxAhpnPwmIOKYMuZRFJwU9YeidKZ51sJg1IVbcKCpmN0cnsIMUD7nWodSLqiHLI+XR+5EdJCPvl/Hr+Ucc+54Ut93gBd0eXxRceisU4vPDcfTIV4gk+Q/BMlhJGrVMig= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031075531888.4091657838653; Fri, 21 Aug 2020 10:31:15 -0700 (PDT) Received: from localhost ([::1]:44420 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9Ask-0003TD-6c for importer@patchew.org; Fri, 21 Aug 2020 13:31:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57166) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9Aqz-0000xL-8i; Fri, 21 Aug 2020 13:29:25 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:35410) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9Aqw-00018v-V6; Fri, 21 Aug 2020 13:29:24 -0400 Received: by mail-wm1-x344.google.com with SMTP id o21so2580076wmc.0; Fri, 21 Aug 2020 10:29:21 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:19 -0700 (PDT) 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=2+ejMCV40ttJWX503UL/cUbXCRo7C8BOcBLGhpyL8vw=; b=nLfuPzOVTS6MAnqX5dE/nlZUfw+0gk4QiabS3aL3+XIVtbPiTXsA1+scnZg8e/A1Fm xAyHkZ8q0MPqSA10D/KEU5Fb7WyNIVMN2Panw7mHuyyx7MRTreLXT5xLELPr7eWyLZ5M KLMME7JQuv0agJrQJoup8N5y4bxYxRcZ7aczJ/ek6RXe+Ph6dsxIL5W/5UFS/gMJRq4e Rxw6HaVwI/OnWQAq/U2SJ8QemdNXt1miwm8TEJbFitNVTdnCaH1S/VAedBtt2A6QDMvl SVx7RRxNAu7LqSQfoJ4LlyUCUMehYrFY0Oi0oaiT8cqbogaxioI1cc6HB9OgCQ4c5iy2 WHzQ== 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=2+ejMCV40ttJWX503UL/cUbXCRo7C8BOcBLGhpyL8vw=; b=klpxa/Ygdn6zvV62Jl3YXlEBPHk7aqThAk9sU+bljdi8LWNFbKx6GBe3DHTmYmPVdY BXLCc/TUBbO46+UK8iQddpv+/rQ/8ba26hcersMVFoCjLmUdRjOk4tL73jwB8QQ79dQH 2z/npXZkLbY/eCm4LlT2u1mw7eHVUaSoZktsAdOSlCSG1t5P95s0sTrqvxS+U40upBmS ikBYw6OtUQUrB+0amqnvLNGtDZZg74Zq8d7g87LnXwMunbsOInkG4OqAtBx+KL02Y9Zs HK6zdD6EpSvBZ3iLlXp1nBAFbbmetq/if+LAcvuyLISt85fPWWoDg/nj84hZnDEr+RxY +KUg== X-Gm-Message-State: AOAM533llraQ75q7YrCrcaEMkEtvwXwrRZ2LaqKqhYTizHWJVpYPai6/ ZTNQLjnUrLUvZG28uLLhyUpjhZzzNWQ= X-Google-Smtp-Source: ABdhPJxWQpb614HdVOWBL3s5kTfTOepSi/m2iLbGx1N49gpmUt32rXPQO4cV6IxM1x6fT3F4KjeCjA== X-Received: by 2002:a1c:6243:: with SMTP id w64mr4077941wmb.3.1598030960506; Fri, 21 Aug 2020 10:29:20 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 01/23] hw/sd/pxa2xx_mmci: Do not create SD card within the SD host controller Date: Fri, 21 Aug 2020 19:28:54 +0200 Message-Id: <20200821172916.1260954-2-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::344; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x344.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org, Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) SD/MMC host controllers provide a SD Bus to plug SD cards, but don't come with SD card plugged in :) The machine/board object is where the SD cards are created. Since the PXA2xx is not qdevified, for now create the cards in pxa270_init() which is the SoC model. In the future we will move this to the board model. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Reviewed-by: Peter Maydell Acked-by: Peter Maydell Message-Id: <20200705213350.24725-2-f4bug@amsat.org> --- include/hw/arm/pxa.h | 3 +-- hw/arm/pxa2xx.c | 39 +++++++++++++++++++++++++++++---------- hw/sd/pxa2xx_mmci.c | 11 ++--------- 3 files changed, 32 insertions(+), 21 deletions(-) diff --git a/include/hw/arm/pxa.h b/include/hw/arm/pxa.h index 8843e5f9107..d99b6192daf 100644 --- a/include/hw/arm/pxa.h +++ b/include/hw/arm/pxa.h @@ -89,8 +89,7 @@ void pxa2xx_lcd_vsync_notifier(PXA2xxLCDState *s, qemu_ir= q handler); typedef struct PXA2xxMMCIState PXA2xxMMCIState; PXA2xxMMCIState *pxa2xx_mmci_init(MemoryRegion *sysmem, hwaddr base, - BlockBackend *blk, qemu_irq irq, - qemu_irq rx_dma, qemu_irq tx_dma); + qemu_irq irq, qemu_irq rx_dma, qemu_irq tx_dma); void pxa2xx_mmci_handlers(PXA2xxMMCIState *s, qemu_irq readonly, qemu_irq coverswitch); =20 diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c index 6203c4cfe0b..20fa201dd57 100644 --- a/hw/arm/pxa2xx.c +++ b/hw/arm/pxa2xx.c @@ -22,6 +22,7 @@ #include "hw/irq.h" #include "hw/qdev-properties.h" #include "hw/ssi/ssi.h" +#include "hw/sd/sd.h" #include "chardev/char-fe.h" #include "sysemu/blockdev.h" #include "sysemu/qtest.h" @@ -2136,15 +2137,24 @@ PXA2xxState *pxa270_init(MemoryRegion *address_spac= e, =20 s->gpio =3D pxa2xx_gpio_init(0x40e00000, s->cpu, s->pic, 121); =20 - dinfo =3D drive_get(IF_SD, 0, 0); - if (!dinfo && !qtest_enabled()) { - warn_report("missing SecureDigital device"); - } s->mmc =3D pxa2xx_mmci_init(address_space, 0x41100000, - dinfo ? blk_by_legacy_dinfo(dinfo) : NULL, qdev_get_gpio_in(s->pic, PXA2XX_PIC_MMC), qdev_get_gpio_in(s->dma, PXA2XX_RX_RQ_MMCI), qdev_get_gpio_in(s->dma, PXA2XX_TX_RQ_MMCI)); + dinfo =3D drive_get(IF_SD, 0, 0); + if (dinfo) { + DeviceState *carddev; + + /* Create and plug in the sd card */ + carddev =3D qdev_new(TYPE_SD_CARD); + qdev_prop_set_drive_err(carddev, "drive", + blk_by_legacy_dinfo(dinfo), &error_fatal); + qdev_realize_and_unref(carddev, qdev_get_child_bus(DEVICE(s->mmc), + "sd-bus"), + &error_fatal); + } else if (!qtest_enabled()) { + warn_report("missing SecureDigital device"); + } =20 for (i =3D 0; pxa270_serial[i].io_base; i++) { if (serial_hd(i)) { @@ -2260,15 +2270,24 @@ PXA2xxState *pxa255_init(MemoryRegion *address_spac= e, unsigned int sdram_size) =20 s->gpio =3D pxa2xx_gpio_init(0x40e00000, s->cpu, s->pic, 85); =20 - dinfo =3D drive_get(IF_SD, 0, 0); - if (!dinfo && !qtest_enabled()) { - warn_report("missing SecureDigital device"); - } s->mmc =3D pxa2xx_mmci_init(address_space, 0x41100000, - dinfo ? blk_by_legacy_dinfo(dinfo) : NULL, qdev_get_gpio_in(s->pic, PXA2XX_PIC_MMC), qdev_get_gpio_in(s->dma, PXA2XX_RX_RQ_MMCI), qdev_get_gpio_in(s->dma, PXA2XX_TX_RQ_MMCI)); + dinfo =3D drive_get(IF_SD, 0, 0); + if (dinfo) { + DeviceState *carddev; + + /* Create and plug in the sd card */ + carddev =3D qdev_new(TYPE_SD_CARD); + qdev_prop_set_drive_err(carddev, "drive", + blk_by_legacy_dinfo(dinfo), &error_fatal); + qdev_realize_and_unref(carddev, qdev_get_child_bus(DEVICE(s->mmc), + "sd-bus"), + &error_fatal); + } else if (!qtest_enabled()) { + warn_report("missing SecureDigital device"); + } =20 for (i =3D 0; pxa255_serial[i].io_base; i++) { if (serial_hd(i)) { diff --git a/hw/sd/pxa2xx_mmci.c b/hw/sd/pxa2xx_mmci.c index 68bed24480e..9482b9212dd 100644 --- a/hw/sd/pxa2xx_mmci.c +++ b/hw/sd/pxa2xx_mmci.c @@ -476,10 +476,9 @@ static const MemoryRegionOps pxa2xx_mmci_ops =3D { =20 PXA2xxMMCIState *pxa2xx_mmci_init(MemoryRegion *sysmem, hwaddr base, - BlockBackend *blk, qemu_irq irq, - qemu_irq rx_dma, qemu_irq tx_dma) + qemu_irq irq, qemu_irq rx_dma, qemu_irq tx_dma) { - DeviceState *dev, *carddev; + DeviceState *dev; SysBusDevice *sbd; PXA2xxMMCIState *s; =20 @@ -492,12 +491,6 @@ PXA2xxMMCIState *pxa2xx_mmci_init(MemoryRegion *sysmem, qdev_connect_gpio_out_named(dev, "tx-dma", 0, tx_dma); sysbus_realize_and_unref(sbd, &error_fatal); =20 - /* Create and plug in the sd card */ - carddev =3D qdev_new(TYPE_SD_CARD); - qdev_prop_set_drive_err(carddev, "drive", blk, &error_fatal); - qdev_realize_and_unref(carddev, qdev_get_child_bus(dev, "sd-bus"), - &error_fatal); - return s; } =20 --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031085; cv=none; d=zohomail.com; s=zohoarc; b=lClR7ARf5qkdQuW6guSw5kA4VrOJyR/nYVqNMGGfF4pm1+GNmb7RwMvG306UJydpUzrlA1HhAy6rE1WeQ7LT/y3IJCpewEywDkxC1Cmphsl2EvV6fRotDUu2svTLGDPSRE7Rrn3Bjl6iRYUAyzoJf9cYPuYcO2MhIdU94WcIFk8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031085; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xUpjhtTxpzUTDOloVL0txBsx/e4JrhuPXdmZU+sQCYU=; b=VR+4XibQUCDhvszXX/83kcH4srAmJQNiQNtpwazvjFkGyosvDARWlv6drJPqHVgVCTFaNxz1HfCWRXVrsgaIS+5Bt5ewqU4cH4SFzvxrSNqcLPiUOsFCf8sGTBP/JVEbbXlLfz48NJipuAAo0XOI5dpISdlRBlmJwfXdTQlx7BU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031085131937.859037179497; Fri, 21 Aug 2020 10:31:25 -0700 (PDT) Received: from localhost ([::1]:45390 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9Ast-0003t8-Q4 for importer@patchew.org; Fri, 21 Aug 2020 13:31:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57176) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9Ar0-0000zD-5G; Fri, 21 Aug 2020 13:29:26 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:36655) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9Aqy-00019C-Kx; Fri, 21 Aug 2020 13:29:25 -0400 Received: by mail-wr1-x430.google.com with SMTP id 88so2660981wrh.3; Fri, 21 Aug 2020 10:29:23 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:21 -0700 (PDT) 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=xUpjhtTxpzUTDOloVL0txBsx/e4JrhuPXdmZU+sQCYU=; b=ItaX6zxwiYGbYVQZh+rDu7WGLAUUqU648AnuWIat1pItXko/TB3zJtO45hVTbMqeD8 C36idWBjhnKjLkct9P/sxhdZxPbBPnJCThFY41Q0GeQyvFbtYW1Cy4xG5yjE7csP8NST B73KWwgGWwyL2JwLXTMEoyecCd8o0Qc26QHFdXZ1opJuEMdY2RtSG3V7aYYisXhCPFA5 FuAViNbuEynGO2QTT2AtE844XlHgqLY30t1vl/2KBQzA3jUKrYlKnirx3/JlnATTcCWB JgbSNpGSnMavorjHg9TOeu8a0V5pGqOjFEnWOoVwS9vTRXmMu3Fz1mzUOjTsKX3aaoZ7 SuUQ== 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=xUpjhtTxpzUTDOloVL0txBsx/e4JrhuPXdmZU+sQCYU=; b=r6Q1zvJ0n12hwWiBHu4T2lHwRPKr8LyzN+rMPoJDNuT7y8DBCGOYczYJUup5PvUG+g jdA1RD3qRQIoVnK7LbciRa973Cenp3vWvx6HTGpeWttaRfVnlxKTz5sYXD9sszi7hGsU Vv/w5qwjjeRI5mJg75hi1KxDWfKPocfMJ8Dt03hCs5KSj0JDlDtt2jDZ6JKq8zA2bdBa YdYVNru7jTXMe7CQtEDq7gXSwz6Z7Dgp4ftjdh6ZuPVIeGMVGjNdh/HCCOyQ/3BUjiTv geJU/YQ3nXxBL7mJV9B70T9qgMStnwfJ4OJYw/AUhp1MxYztwuShvzHACVepzwr/NCnx Xp+g== X-Gm-Message-State: AOAM532JRJMN88mwukrHJsbt113PJQtSYlzlleZu0EC/yoxZlwFgqfNw D38sOqM4Kdy2yS4XcNslQrbKJBEIwTg= X-Google-Smtp-Source: ABdhPJzMzy4VWt6szX+Hhwqj5xqFQEB7hSgYPD3BQiIeWy/mPcHKzVZHbU80nfp3sq8gC8doIqezYQ== X-Received: by 2002:adf:90d1:: with SMTP id i75mr3489277wri.278.1598030962138; Fri, 21 Aug 2020 10:29:22 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 02/23] hw/sd/pxa2xx_mmci: Trivial simplification Date: Fri, 21 Aug 2020 19:28:55 +0200 Message-Id: <20200821172916.1260954-3-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x430.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, "open list:Trivial patches" , Michael Tokarev , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Laurent Vivier , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org, Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Avoid declaring PXA2xxMMCIState local variable, return it directly. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Reviewed-by: Laurent Vivier Acked-by: Peter Maydell Message-Id: <20200705213350.24725-3-f4bug@amsat.org> --- hw/sd/pxa2xx_mmci.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hw/sd/pxa2xx_mmci.c b/hw/sd/pxa2xx_mmci.c index 9482b9212dd..2996a2ef177 100644 --- a/hw/sd/pxa2xx_mmci.c +++ b/hw/sd/pxa2xx_mmci.c @@ -480,10 +480,8 @@ PXA2xxMMCIState *pxa2xx_mmci_init(MemoryRegion *sysmem, { DeviceState *dev; SysBusDevice *sbd; - PXA2xxMMCIState *s; =20 dev =3D qdev_new(TYPE_PXA2XX_MMCI); - s =3D PXA2XX_MMCI(dev); sbd =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(sbd, 0, base); sysbus_connect_irq(sbd, 0, irq); @@ -491,7 +489,7 @@ PXA2xxMMCIState *pxa2xx_mmci_init(MemoryRegion *sysmem, qdev_connect_gpio_out_named(dev, "tx-dma", 0, tx_dma); sysbus_realize_and_unref(sbd, &error_fatal); =20 - return s; + return PXA2XX_MMCI(dev); } =20 static void pxa2xx_mmci_set_inserted(DeviceState *dev, bool inserted) --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1598031177; cv=none; d=zohomail.com; s=zohoarc; b=CWuJtTZLPTr3lkRCvVy2OTIgT9x6u7RhkiNmMt+weQxp9xmGxHyenkAbXT5A9Qwk9pLSH1Q7kOtc+hobWkXGA99xtswEIxKR5Tp7nu6vV3mjShREZSU2w8Pn0bA1o+HEeJIXWOeqpmRpikV8WMQu6CnkPIkd/kIkjX+EHqQWIGQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031177; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=MF7ZA/p+idAn4SvK+rkvL+g7qzoSAv8079JD7F/Jx7o=; b=P1t3IIfAdT3ZEv5gnzqtmoYo0Ln6fNqhO2TxhnpEbvzfnfnTHLL6tbYhgcLdOv3YstGt10gMIBmcoDmcypiEDo/q+YVMtSXrQ3j9nwWblnUAAOOcum7Om23EEScBFdkl1iSGv9sMYxBVaX8t5IRRMGQdLIHCzvO/lZb9FJA+5ws= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031177888968.7853831045674; Fri, 21 Aug 2020 10:32:57 -0700 (PDT) Received: from localhost ([::1]:52698 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9AuO-0006qk-HI for importer@patchew.org; Fri, 21 Aug 2020 13:32:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57198) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9Ar1-00013T-Kb; Fri, 21 Aug 2020 13:29:27 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:45583) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9Ar0-00019S-43; Fri, 21 Aug 2020 13:29:27 -0400 Received: by mail-wr1-x442.google.com with SMTP id z18so2625650wrm.12; Fri, 21 Aug 2020 10:29:25 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:22 -0700 (PDT) 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=MF7ZA/p+idAn4SvK+rkvL+g7qzoSAv8079JD7F/Jx7o=; b=XOs8EEQS24hJnGKjsNLLt8hx5jXjk/iGXAXjELZKOc0BR4jj/ndRvgYlgvkOTEv85O lXVeA53QdFaoQKNzDmceb0x/u0Us4qujZZQA2Vzmu9iyn6ONPxMZbesA6VfiM1dvPwjv EEb+sa6FgiPFtlS/yt5dlVSsq+b11eJD60cAGLo0ecgxNzB/MqkRxPkrfOpebNZpIr+u NftgaWQTI0vpoGjiGDj0CqCviyFEprEGByhVQ419p5ZbtnnvnNeysNODm7xoHu6aY5QQ NA6ttHw5Tbq8nZ5ebEbsqsbwEvufXTQj0LRoN0RqPLKSXdHAbkNUxSFUKo+BpUmLjiUI EDpA== 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=MF7ZA/p+idAn4SvK+rkvL+g7qzoSAv8079JD7F/Jx7o=; b=pgDf7/CU/Wz3XS7ZQ3s5DVVnyiqUYAL0llf6DtZ7yOMIit/oApcvqGv5Nfmk+C9EEN 9EegfkwHhXm8EZ5/t9gYlWYSCV3kToNO8F2PssnA/ZkxWwpBAsQ2/RZVNm/IubgOHG2G jZ9xntsMlrDXNP3hNbwWv0wHGVmhu06hQDxQ2sFOJNBiaUfSHwE0NZAvvWQR/bbhFH0M SwZH5JssfuVcUe69qrOWUmQTlqiK8HL9GQDPRrZ/QUddGhiXsEqIaPg5zUJlW6ke2BRU dwtiK/otuX7ni3O/fdrmKJBNbkAUTHzEua+dQ0omfPco/7z8jfDC17vd9ZNIht2OK24g lD+Q== X-Gm-Message-State: AOAM530VNrSPX38oy0gA1/Ag81smVD3GEKO2PCTOc55n1VC1a/HjcWue RLTDRjvfQ3EfAO6HTKtkSgfCrZ1bCXE= X-Google-Smtp-Source: ABdhPJx/I0FfIcQOeH2n2r5e8UHBb21Kr0xxpzEu1Lz4X3Uu7bc57tHiSaO0j2jte138CJSMThnX3w== X-Received: by 2002:adf:c401:: with SMTP id v1mr3481858wrf.379.1598030963449; Fri, 21 Aug 2020 10:29:23 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 03/23] hw/lm32/milkymist: Un-inline milkymist_memcard_create() Date: Fri, 21 Aug 2020 19:28:56 +0200 Message-Id: <20200821172916.1260954-4-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::442; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x442.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org, Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) As we will modify milkymist_memcard_create(), move it first to the source file where it is used. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Message-Id: <20200705211016.15241-2-f4bug@amsat.org> --- hw/lm32/milkymist-hw.h | 11 ----------- hw/lm32/milkymist.c | 11 +++++++++++ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/hw/lm32/milkymist-hw.h b/hw/lm32/milkymist-hw.h index 05e2c2a5a75..5dca5d52f57 100644 --- a/hw/lm32/milkymist-hw.h +++ b/hw/lm32/milkymist-hw.h @@ -31,17 +31,6 @@ static inline DeviceState *milkymist_hpdmc_create(hwaddr= base) return dev; } =20 -static inline DeviceState *milkymist_memcard_create(hwaddr base) -{ - DeviceState *dev; - - dev =3D qdev_new("milkymist-memcard"); - sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); - sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base); - - return dev; -} - static inline DeviceState *milkymist_vgafb_create(hwaddr base, uint32_t fb_offset, uint32_t fb_mask) { diff --git a/hw/lm32/milkymist.c b/hw/lm32/milkymist.c index 85913bb68b6..469e3c43225 100644 --- a/hw/lm32/milkymist.c +++ b/hw/lm32/milkymist.c @@ -80,6 +80,17 @@ static void main_cpu_reset(void *opaque) env->deba =3D reset_info->flash_base; } =20 +static DeviceState *milkymist_memcard_create(hwaddr base) +{ + DeviceState *dev; + + dev =3D qdev_new("milkymist-memcard"); + sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); + sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base); + + return dev; +} + static void milkymist_init(MachineState *machine) { --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031195; cv=none; d=zohomail.com; s=zohoarc; b=PYNbchb3F3s36sFzdIp9iMwS/8ay5lJgChempmgYEStIxUOOWu42RzGUOCEYKILyviCOiA0uXPpPm4BLUPLKz7cdqCcKBNVlx2Q5L/DH+eS0urKEfzINFCXEIokh7rk2CmbvqkV6U+DBnzJoikBI5qIVMXKfFX7TJ3G1Xa5/424= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031195; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=oj9xYFI9YtdfvQ2O+xvr5D4uPJDnz6Js3VTiAoIt79Q=; b=bOGlIIVBRAFuRS2uxNaJA7PD681xaSfT/0Fpg+k5I+8PyFP0FoacmEOP3ZJ/VF9LuU0jmI65ctiJP3tfTl3AgaoLViogTrVtwhSbiOwwxRFZC+SqD0zNDsf/efEbh58f6YA4rbEyNFN2v/GEGvRzsxQf3pjaTl+YIsi46rmuuGs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031195125524.1211603824222; Fri, 21 Aug 2020 10:33:15 -0700 (PDT) Received: from localhost ([::1]:53840 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9Auf-0007Jl-Sx for importer@patchew.org; Fri, 21 Aug 2020 13:33:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57216) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9Ar3-00018V-D3; Fri, 21 Aug 2020 13:29:29 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:45585) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9Ar1-00019q-FH; Fri, 21 Aug 2020 13:29:28 -0400 Received: by mail-wr1-x443.google.com with SMTP id z18so2625739wrm.12; Fri, 21 Aug 2020 10:29:26 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:24 -0700 (PDT) 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=oj9xYFI9YtdfvQ2O+xvr5D4uPJDnz6Js3VTiAoIt79Q=; b=teljjaHoiUGABM8mobeV/fWOijAOVcbj02kYv9u3qTaIqBFpkOczmzAYuHr1SMWN7+ 8R1UuMwv56G6q9OzI3j+f2xaP+VVrME5jb5dxXttO5Z3HxDTtQgB4gpIC9nZuv8EYjj0 UtPW5QVxXVeK62Mhk8agtrdupsfkiR5Mg1bK0ahuWuMS7ULu4F4Abi6/6gKISZVd/FTu ok0PaBPmpG16VJYd0ODBt4RqUmxQNJaXEGrHRDNyhkR1OabrmjXyT5B+eZeBN0uM/qda TZ1Evpha6n58N3Y68oQ3EWm/6ibq/dIm2145Kck4lUigRvY3FFpAbZDBWIfNnXeJzwhq pEtw== 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=oj9xYFI9YtdfvQ2O+xvr5D4uPJDnz6Js3VTiAoIt79Q=; b=TCw1lEewdoTRrD3YpkaO2LdKNIa782pVGY0l/C2ZOVw/6wMEheFhEvSinH+gDXk7Y2 ApWOgOLLhkZ7vF/SKK7n+Wza31z8KFu5PEfKLhJpRJ342wsCFmlukECI2WtzTj1PvbKD kXTxXpsSXAM7Cbdywv/ogv5AE+7qbiEr+PyJGA87HSsiYZvdy+cQqgSrFfgoGoTDLNKl wg5GsNe4IJ5EQXUL9B+aDLmG44S1/uWaJDxtNugFbMpN8k866SMnxd1shXFOZrrZerFI j5psg+JZhptdMIraN46veK1zQvAscMTFA1RLMKCDFrUO9FWsrtxqaHG6ijnrUBrIJ8gV Q1BA== X-Gm-Message-State: AOAM531I4kwnBSEn4Vl+3GK3xK5Yckx8TGHhEl6AqtAO7xg5E9/7Bhbg /I915jGmomApGXI6ScaVUMHEzv0MtxQ= X-Google-Smtp-Source: ABdhPJyCCh2AQ7mcDZPU9mCwJoQ0f616gDKVuRLBXGVDPD1KMiZqwFIYr4Z3aWkE1FKjzyiL//Wq7A== X-Received: by 2002:adf:9e8d:: with SMTP id a13mr3459990wrf.94.1598030964965; Fri, 21 Aug 2020 10:29:24 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 04/23] hw/sd/milkymist: Create the SDBus at init() Date: Fri, 21 Aug 2020 19:28:57 +0200 Message-Id: <20200821172916.1260954-5-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::443; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x443.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org, Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) We don't need to wait until realize() to create the SDBus, create it in init() directly. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Message-Id: <20200705211016.15241-4-f4bug@amsat.org> --- hw/sd/milkymist-memcard.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/sd/milkymist-memcard.c b/hw/sd/milkymist-memcard.c index 11f61294fcf..747c5c6136b 100644 --- a/hw/sd/milkymist-memcard.c +++ b/hw/sd/milkymist-memcard.c @@ -261,6 +261,9 @@ static void milkymist_memcard_init(Object *obj) memory_region_init_io(&s->regs_region, OBJECT(s), &memcard_mmio_ops, s, "milkymist-memcard", R_MAX * 4); sysbus_init_mmio(dev, &s->regs_region); + + qbus_create_inplace(&s->sdbus, sizeof(s->sdbus), TYPE_SD_BUS, + DEVICE(obj), "sd-bus"); } =20 static void milkymist_memcard_realize(DeviceState *dev, Error **errp) @@ -271,9 +274,6 @@ static void milkymist_memcard_realize(DeviceState *dev,= Error **errp) DriveInfo *dinfo; Error *err =3D NULL; =20 - qbus_create_inplace(&s->sdbus, sizeof(s->sdbus), TYPE_SD_BUS, - dev, "sd-bus"); - /* Create and plug in the sd card */ /* FIXME use a qdev drive property instead of drive_get_next() */ dinfo =3D drive_get_next(IF_SD); --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031268; cv=none; d=zohomail.com; s=zohoarc; b=cDzm0o80xDz/T+AJ/c+YwtuZy6pDK1OUwKrqK45hEiHnXpEmF6qL4JHvSL4HLSCBU7RCgMevHtqLN/aTNhIkELxdjM+WBynRXJeRzTqE7CnwI55OcfZ7Y4lwoumggx/0fICTqj2F3OhrNFk4VnqCeCnw9hfcRS/5yKGPagwsXRo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031268; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=C3Tm4+Z7Q6QefXOq9EkMkmgI6/oXsxZYry3NIouzDNA=; b=mDpbuzc8lEl+041jIGLB2IQ2tTkWXHVvogoDxC7p/gaPhXpMWknD/VSlEAQVMb/glFUgOLUJv671J43IVdW6L/TWx9ISiyluOqrgyeLBTDYklN54kO4bNUa1RCG3T6+mDoRuTT+KV/hCdVYvRhh/rrRdywtQ6hynULwfkijNvpc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031268291813.5159658267444; Fri, 21 Aug 2020 10:34:28 -0700 (PDT) Received: from localhost ([::1]:59558 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9Avq-0001D1-0F for importer@patchew.org; Fri, 21 Aug 2020 13:34:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57230) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9Ar4-0001C5-KI; Fri, 21 Aug 2020 13:29:30 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:36102) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9Ar2-0001A6-Ro; Fri, 21 Aug 2020 13:29:30 -0400 Received: by mail-wr1-x443.google.com with SMTP id 88so2661226wrh.3; Fri, 21 Aug 2020 10:29:27 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:25 -0700 (PDT) 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=C3Tm4+Z7Q6QefXOq9EkMkmgI6/oXsxZYry3NIouzDNA=; b=rLO4jrHJsWAFfmg2Z8Errv0TBHcSlFqQUtEQ+SGmWS0RACjrZmLF8co5n0IPMVJ582 6HErzaj5pb9jgvDqc+0e9f9iAUFbX399xrEvEnBJhmp791LxnsQ7YNbz0gADaDPpcIpr QIGmi+7JOjPID0AoIjxoDFYqgRfNbV0Ks8OZel74Y/8etDACe8GmyMAVIlFrpKKkUKui hOHIu5RicTPQkirjNQ6U86btgXHsn1RyQusuTpvNCUbzk1QCxRhPe/RIcb1oTHcH2hFx IwKYXIePsmSmadBtKzo6/WR8kjAilqcnFh9pxS63wYhhBxqeh7HOZd4umtxQeJGH5piJ kl4Q== 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=C3Tm4+Z7Q6QefXOq9EkMkmgI6/oXsxZYry3NIouzDNA=; b=E4AZcf0Kr4EA5byAtUtZiFFJxKgUR2EECtm1Lkc4TjxHdTbE8e5K5xXBozBhG0+Z9m 3KDUq+aHjQRSv0FUICALEhKQSRkFU8DWZ/WEr1ArVFdeLWt4s77IpUk8ZuJoRmfSJBv/ LGcY6YXXO6PA7eGsBLGouHX2SFJAAy0NpG10ij46zL5pyeRoKtpnhoMAYqcJsmdq1+JN FCtA42nRODRQBew2qSiBl8JMLRW3FR3V5fyOe4ORuZ1IHl2brd989aRr4qZgfIOWe5aC ZeusMJi5hB0fKcY1a9Ewv62zFgHd1bKIxNEnS5D1JAInHloO5G+vEKcLlH/TJen+eo2R NKCw== X-Gm-Message-State: AOAM531/RtJrS12QYzyy9tQxy1K1PqWwDaPuAxO/vmwQEFQGz4uM+Kdf E5Y8pIfaBr3Ah0mZtfPtMKl+OAzVams= X-Google-Smtp-Source: ABdhPJx+ieDBKktPaikWNv6XVHWQHhwzt9bfX42KsNUsgaIU8ks0HOo7m3Vj95Umvu4aGeU2wCX2+g== X-Received: by 2002:adf:a1c6:: with SMTP id v6mr3610233wrv.197.1598030966515; Fri, 21 Aug 2020 10:29:26 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 05/23] hw/sd/milkymist: Do not create SD card within the SD host controller Date: Fri, 21 Aug 2020 19:28:58 +0200 Message-Id: <20200821172916.1260954-6-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::443; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x443.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org, Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) SD/MMC host controllers provide a SD Bus to plug SD cards, but don't come with SD card plugged in :) Let the machine/board model create and plug the SD cards when required. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Message-Id: <20200705211016.15241-5-f4bug@amsat.org> --- hw/lm32/milkymist.c | 13 +++++++++ hw/sd/milkymist-memcard.c | 55 +++++++++++++++++++++++---------------- 2 files changed, 45 insertions(+), 23 deletions(-) diff --git a/hw/lm32/milkymist.c b/hw/lm32/milkymist.c index 469e3c43225..9f8fe9fef15 100644 --- a/hw/lm32/milkymist.c +++ b/hw/lm32/milkymist.c @@ -34,6 +34,7 @@ #include "elf.h" #include "milkymist-hw.h" #include "hw/display/milkymist_tmu2.h" +#include "hw/sd/sd.h" #include "lm32.h" #include "exec/address-spaces.h" #include "qemu/cutils.h" @@ -83,11 +84,23 @@ static void main_cpu_reset(void *opaque) static DeviceState *milkymist_memcard_create(hwaddr base) { DeviceState *dev; + DriveInfo *dinfo; =20 dev =3D qdev_new("milkymist-memcard"); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base); =20 + dinfo =3D drive_get_next(IF_SD); + if (dinfo) { + DeviceState *card; + + card =3D qdev_new(TYPE_SD_CARD); + qdev_prop_set_drive_err(card, "drive", blk_by_legacy_dinfo(dinfo), + &error_fatal); + qdev_realize_and_unref(card, qdev_get_child_bus(dev, "sd-bus"), + &error_fatal); + } + return dev; } =20 diff --git a/hw/sd/milkymist-memcard.c b/hw/sd/milkymist-memcard.c index 747c5c6136b..e9f5db5e22d 100644 --- a/hw/sd/milkymist-memcard.c +++ b/hw/sd/milkymist-memcard.c @@ -66,6 +66,8 @@ enum { #define MILKYMIST_MEMCARD(obj) \ OBJECT_CHECK(MilkymistMemcardState, (obj), TYPE_MILKYMIST_MEMCARD) =20 +#define TYPE_MILKYMIST_SDBUS "milkymist-sdbus" + struct MilkymistMemcardState { SysBusDevice parent_obj; =20 @@ -253,6 +255,19 @@ static void milkymist_memcard_reset(DeviceState *d) } } =20 +static void milkymist_memcard_set_readonly(DeviceState *dev, bool level) +{ + qemu_log_mask(LOG_UNIMP, + "milkymist_memcard: read-only mode not supported\n"); +} + +static void milkymist_memcard_set_inserted(DeviceState *dev, bool level) +{ + MilkymistMemcardState *s =3D MILKYMIST_MEMCARD(dev); + + s->enabled =3D !!level; +} + static void milkymist_memcard_init(Object *obj) { MilkymistMemcardState *s =3D MILKYMIST_MEMCARD(obj); @@ -266,27 +281,6 @@ static void milkymist_memcard_init(Object *obj) DEVICE(obj), "sd-bus"); } =20 -static void milkymist_memcard_realize(DeviceState *dev, Error **errp) -{ - MilkymistMemcardState *s =3D MILKYMIST_MEMCARD(dev); - DeviceState *carddev; - BlockBackend *blk; - DriveInfo *dinfo; - Error *err =3D NULL; - - /* Create and plug in the sd card */ - /* FIXME use a qdev drive property instead of drive_get_next() */ - dinfo =3D drive_get_next(IF_SD); - blk =3D dinfo ? blk_by_legacy_dinfo(dinfo) : NULL; - carddev =3D qdev_new(TYPE_SD_CARD); - qdev_prop_set_drive(carddev, "drive", blk); - if (!qdev_realize_and_unref(carddev, BUS(&s->sdbus), &err)) { - error_propagate_prepend(errp, err, "failed to init SD card"); - return; - } - s->enabled =3D blk && blk_is_inserted(blk); -} - static const VMStateDescription vmstate_milkymist_memcard =3D { .name =3D "milkymist-memcard", .version_id =3D 1, @@ -308,10 +302,9 @@ static void milkymist_memcard_class_init(ObjectClass *= klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 - dc->realize =3D milkymist_memcard_realize; dc->reset =3D milkymist_memcard_reset; dc->vmsd =3D &vmstate_milkymist_memcard; - /* Reason: init() method uses drive_get_next() */ + /* Reason: output IRQs should be wired up */ dc->user_creatable =3D false; } =20 @@ -323,9 +316,25 @@ static const TypeInfo milkymist_memcard_info =3D { .class_init =3D milkymist_memcard_class_init, }; =20 +static void milkymist_sdbus_class_init(ObjectClass *klass, void *data) +{ + SDBusClass *sbc =3D SD_BUS_CLASS(klass); + + sbc->set_inserted =3D milkymist_memcard_set_inserted; + sbc->set_readonly =3D milkymist_memcard_set_readonly; +} + +static const TypeInfo milkymist_sdbus_info =3D { + .name =3D TYPE_MILKYMIST_SDBUS, + .parent =3D TYPE_SD_BUS, + .instance_size =3D sizeof(SDBus), + .class_init =3D milkymist_sdbus_class_init, +}; + static void milkymist_memcard_register_types(void) { type_register_static(&milkymist_memcard_info); + type_register_static(&milkymist_sdbus_info); } =20 type_init(milkymist_memcard_register_types) --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1598031286; cv=none; d=zohomail.com; s=zohoarc; b=hEKQpbU/N0cnG6J76kXasgX1LAGCMBcqNnPyu736oXPa5eaqRmeALBTfDNuq5NQVaJvOac0l3jRgPv3S7/jtbJbVyqW9neow6k1KKdz0abgEVaBOmi9gy9KPgIkpGFMofiL085FKC0jvzIN5TJ/7TzO6UcgPOkGOPZxslx5S2g0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031286; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=T3HxLggQDXKqoaLt6TAzlir0cuy+gHIPYF6cAJuIjDs=; b=en7s7CUsqrBlEuyRGbtflUHRkesneCacagWdesvD3cFlLexmE9EpaVEMrUY3WnJAU0stoqaYBGtPHGFCgc/hb/VqWzVrphfVQ2p7MoKPF092NTc2x+XpKGxU3/3j6W+g6NtikEwtkDclaIiJhVwWULTHYnn8liAzqwiJXh6DxD0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031286235592.1313740683893; Fri, 21 Aug 2020 10:34:46 -0700 (PDT) Received: from localhost ([::1]:33016 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9Aw8-0001t0-Ry for importer@patchew.org; Fri, 21 Aug 2020 13:34:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57244) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9Ar6-0001IA-8o; Fri, 21 Aug 2020 13:29:32 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:37789) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9Ar4-0001AU-I5; Fri, 21 Aug 2020 13:29:31 -0400 Received: by mail-wm1-x344.google.com with SMTP id k8so2576007wma.2; Fri, 21 Aug 2020 10:29:29 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:27 -0700 (PDT) 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=T3HxLggQDXKqoaLt6TAzlir0cuy+gHIPYF6cAJuIjDs=; b=PdBV2wvaScYeh72kjjasn+X9vauoXQeDUGSWRXQOa8x8VmbDlTu4yVSaWyKi2U4Aov 9W78o93CNRKvrS64s7/qKjuWJT00VWL1tn3TQyPaHC9qltUC2zYWiA+qw06c3HvdlQZ5 0JLei/B/4Ap9h9AX3fLZSl7sOKXLfNzNzIEHdEU0q51sJ4NR9gAovBXVia2ZfcmUkPTC uE1feC8BvX2zpAzFMFKl/uu91DiQEzTQXrNjkKOS1i4ZJVkUCHzmfhhN0WOGGuF4NjnY omo7eozIODPHSYYYvmL96iEquGBGbtJE1AHkog9RRVfAav0+SjzH0r4WwiVPzLgXK88M VjQA== 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=T3HxLggQDXKqoaLt6TAzlir0cuy+gHIPYF6cAJuIjDs=; b=XX99aslR+IQEwKCJEp13HWgSjLTi6wam4LkBIMbCootz2Wu+a2vZCzy13UGRBpOiqY rGYb8fNhzypX+j7z2O4Jb+uta978viw24SkAqfWJuaGz0oibtrnfpC1rj6M/f7ownkUD cs3kc0krlrPbT45Mkko734ELFxDChn5rXNP7yjNrLCYxNRASOtvubAb24IUYSTHFmH7L QLWcZ7GSbf9KuocCtBCDCm8faZyD9q4RoO5XODlUygCKc0GrrEV8oMK+UHLGniS5XYCq zLF2v7hz2fbWCjlD9r248kMnxEmNkJFXpQVr3pZKqKFg1LckZ3AiSKxAsZKPX/bzOeh1 YvZw== X-Gm-Message-State: AOAM5319Z3fbOMgy7u3XsqRIDAAhTmhxpd1K+E+gr2hKB/ZEeSWjBZfc URq3VtHVxGrTC8rVKM62ua7G1ZGsk/I= X-Google-Smtp-Source: ABdhPJwjnzclAwNYU6gSN/1XclNOHTnwD+kEm/fz5ODyaIe6BKsypblGgmoaPD5B0ZyTAJ6Nb2nOiw== X-Received: by 2002:a1c:80c3:: with SMTP id b186mr4180819wmd.10.1598030968201; Fri, 21 Aug 2020 10:29:28 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 06/23] hw/sd/pl181: Replace fprintf(stderr, "*\n") with error_report() Date: Fri, 21 Aug 2020 19:28:59 +0200 Message-Id: <20200821172916.1260954-7-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::344; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x344.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Alistair Francis , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Alistair Francis Replace a large number of the fprintf(stderr, "*\n" calls with error_report(). The functions were renamed with these commands and then compiler issues where manually fixed. find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_= report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_re= port("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report= ("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("= \1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1= "\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\= 2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2)= ;|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|= Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig= }' \ {} + find ./* -type f -exec sed -i \ 'N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}'= \ {} + find ./* -type f -exec sed -i \ 'N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + Some lines where then manually tweaked to pass checkpatch. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Alistair Francis Message-Id: <488ba8d4c562ea44119de8ea0f385a898bd8fa1e.1513790495.git.alista= ir.francis@xilinx.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Peter Maydell --- hw/sd/pl181.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/sd/pl181.c b/hw/sd/pl181.c index 2b3776a6a0f..649386ec3d1 100644 --- a/hw/sd/pl181.c +++ b/hw/sd/pl181.c @@ -15,6 +15,7 @@ #include "hw/sd/sd.h" #include "qemu/log.h" #include "qemu/module.h" +#include "qemu/error-report.h" #include "qapi/error.h" =20 //#define DEBUG_PL181 1 @@ -148,7 +149,7 @@ static void pl181_fifo_push(PL181State *s, uint32_t val= ue) int n; =20 if (s->fifo_len =3D=3D PL181_FIFO_LEN) { - fprintf(stderr, "pl181: FIFO overflow\n"); + error_report("%s: FIFO overflow", __func__); return; } n =3D (s->fifo_pos + s->fifo_len) & (PL181_FIFO_LEN - 1); @@ -162,7 +163,7 @@ static uint32_t pl181_fifo_pop(PL181State *s) uint32_t value; =20 if (s->fifo_len =3D=3D 0) { - fprintf(stderr, "pl181: FIFO underflow\n"); + error_report("%s: FIFO underflow", __func__); return 0; } value =3D s->fifo[s->fifo_pos]; --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031373; cv=none; d=zohomail.com; s=zohoarc; b=bjthkjVfggVTaPKq+HpgUNfjCCETJOHwoffpTTgQSCHIp/ohG/SgmO5TTMeXNYKi9JrVSKG7XyTe5onIsZnttqLOoqNrOcZTOxdxtDUVVV4i951GE9B/HttqucqAa9wbxLsf7E+kB8UKyuJfBMoSrWJixFe60WPAY+pPZFeBxrU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031373; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=2uqKLIwnsolMGUBAKKhtdES03ym0NQX3Xf3uXXgGuNI=; b=dhVoqq3L7/GhYKNwbi5KRRz2f7hnFRdYDTyyo8RvlZ18tpo324EI0BApz6SAINOJ4R+nUebOc7VbWWSUGQ6Vy6BVPtkuSaa+vQXi00WfHBA9PAsl/6tkn+InGNVLQewlFTMflud5VjJt+LQ8eY3m01+RJp5bAYwpQMS7ImIIEDE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031373319393.6765927575169; Fri, 21 Aug 2020 10:36:13 -0700 (PDT) Received: from localhost ([::1]:40928 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9AxY-0005AS-0r for importer@patchew.org; Fri, 21 Aug 2020 13:36:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57258) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9Ar7-0001MO-Mq; Fri, 21 Aug 2020 13:29:33 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:53007) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9Ar6-0001Ao-02; Fri, 21 Aug 2020 13:29:33 -0400 Received: by mail-wm1-x343.google.com with SMTP id x5so2641302wmi.2; Fri, 21 Aug 2020 10:29:30 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:28 -0700 (PDT) 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=2uqKLIwnsolMGUBAKKhtdES03ym0NQX3Xf3uXXgGuNI=; b=GOFJCEte6vgw1DpRYWrf+Q0HHyQ6jO6cdeleJDLpiiak/0YzCONV0KKBNnURzWG8fQ Noa1jHIdqpTidGIrnVlHoS+AxzTt7HWna4Mp7/bHy27Z0rZ/Wq+3NdFXWUtOMDXIVqay RJ9sMD5FQ1lIdBFC6Vuy4rQVkfx43hWUxnZUMiz0NR9bWYv55JXYYPSoMJujEuu8L0yu eGX+MeJ3dsymOQRTyNySkvi4Iy1FZDZQe+mkRl3OtjtqjteEkZEInHN9XN2eVvDOmELB iu8M7ZsBpLQ3q3lHtnU8Sh9pdKlaVbnl/cPwSTGOK7KyASmv1QWx+zCU6e0QlV/IksAM JfFA== 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=2uqKLIwnsolMGUBAKKhtdES03ym0NQX3Xf3uXXgGuNI=; b=lSJeGsRFVadnf3H2L1ZB0zxcD/w8uu5bVvb03Y5fj1uYtmSEmfuHoPaUrVW/ECCtXQ TqOTdUoYbiGS3orI4aCYO/9NW9FkR2QTc2G9Id8JOijKhzIb9us9ZbD5g7FpJkDWGvNo 4i6isE2qzpprD8RLNftT0ThNS05NXBl/phopiRz5s+hnJFoXERt3HutWpLk6lwmdR4vX JOpnE5bENWHzU+6HHjaG5Fnqfy5gLML2uEr6it/m32vj2hdlLXmrZQ5zN+9co1Nxbbsh E9UDxJ8tv/BWFgE0oza4+KdHeohxgJzB9/+TrlJanLH8fdS9hOisL3NKYzdWcQALqjbr YUUQ== X-Gm-Message-State: AOAM533eKjun2ctbFAEX0gtSDJk8jIySuO6rQw7WS4vB4TYHzUsK9BRH 3vIG+/9IhsNGm7FMjC7FGXxI2BQDc5Q= X-Google-Smtp-Source: ABdhPJw8bSU0cDBYdXqx/w2ehEAFcH9OK9YmzU55s8zc4gGZ4LsyDpqb9+azdLjq7uzK77ZngB1fYA== X-Received: by 2002:a7b:cf22:: with SMTP id m2mr5009939wmg.46.1598030969538; Fri, 21 Aug 2020 10:29:29 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 07/23] hw/sd/pl181: Rename pl181_send_command() as pl181_do_command() Date: Fri, 21 Aug 2020 19:29:00 +0200 Message-Id: <20200821172916.1260954-8-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::343; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x343.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org, Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) pl181_send_command() do a bus transaction (send or receive), rename it as pl181_do_command(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Acked-by: Peter Maydell Message-Id: <20200705204630.4133-3-f4bug@amsat.org> --- hw/sd/pl181.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/sd/pl181.c b/hw/sd/pl181.c index 649386ec3d1..3fc2cdd71a1 100644 --- a/hw/sd/pl181.c +++ b/hw/sd/pl181.c @@ -173,7 +173,7 @@ static uint32_t pl181_fifo_pop(PL181State *s) return value; } =20 -static void pl181_send_command(PL181State *s) +static void pl181_do_command(PL181State *s) { SDRequest request; uint8_t response[16]; @@ -402,7 +402,7 @@ static void pl181_write(void *opaque, hwaddr offset, qemu_log_mask(LOG_UNIMP, "pl181: Pending commands not implemented\n"); } else { - pl181_send_command(s); + pl181_do_command(s); pl181_fifo_run(s); } /* The command has completed one way or the other. */ --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031290; cv=none; d=zohomail.com; s=zohoarc; b=Z5Q1bEhdVO4rtlpka3M7rPfV71V0PA+QPahMPzzFHovbU8hAxgE5ntdGxtanAGbNCIcw0Q0KCnj8idn8GsIxFajC36BxgBkTkHpBKq24btczXcFPCBvHPFkMch6GqEIxbiSWgxWvAUJUwTFLFw+hez7B9HWpJ8HYgGSp7XPXeQQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031290; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FL3RGx9So1PYwbmJZxkxf3xii197YkK6iJeT4N72p9Y=; b=SBxle/ECw2iKZKhg1vNux9Ih8pD6wqQU4dhrA5W+EoxfdBoRL+Qop+U4w0A6I0XlnRm0gYNmb5ZiCf3HUm1TqUz2oZaCQiJ+9sKdu7sPPo5/mLSm0uyNjGhKeBxfVvDmfErJmOYWEe5Cbia01VOcyZKEWh5oVFvmqW0gPtHR+lg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031290520236.99863205588667; Fri, 21 Aug 2020 10:34:50 -0700 (PDT) Received: from localhost ([::1]:33450 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9AwD-00024s-7m for importer@patchew.org; Fri, 21 Aug 2020 13:34:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57276) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9Ar9-0001QU-07; Fri, 21 Aug 2020 13:29:35 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:51367) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9Ar7-0001C7-9Y; Fri, 21 Aug 2020 13:29:34 -0400 Received: by mail-wm1-x344.google.com with SMTP id p14so2654141wmg.1; Fri, 21 Aug 2020 10:29:32 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:30 -0700 (PDT) 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=FL3RGx9So1PYwbmJZxkxf3xii197YkK6iJeT4N72p9Y=; b=oLcG7w90YGFmB9a2Vm9a/Yw5jIUcEzd5Nsng1cl0rlJ3x/iwTDhABGLHLsrbLw7wYu MpOcDbg1xxQWmHcySiGu3B0GENJfa9MK6Rh4lqO6AA+5vFO2ik+yCS1y32hpbl45qcTl bEnT0HM4TTYyG6Nt8Gz2qFipQQ9vRVhgUTHm3d+eggnTBYLmfy+KJmKiK4e+Z3H23jQs TNOx050PCZPcSeXJb3fv1hyjrJb7n1VN/TgahsTbgXlKCiUmyu+sXIiychVco1Axs+Mj BB6gZuZid0ZJtPBJGOqa8SCNaMBdyhDpu460D5v/q2MTE9+5hB74T+dANsMWaFNg6o0q yjUg== 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=FL3RGx9So1PYwbmJZxkxf3xii197YkK6iJeT4N72p9Y=; b=FpJH7eNSDtub4iriUqTt7DYB1dRR+ZK4y0/JxNg3OeIyEt2dmyuSO3wvwrqc0VVyzf DHH+q/36moez6AxXTblta7GKRU/Dd9aSUr5Lb8m83l7umyOEr5ErU4LPSKs9aNkCnFSX 9NaJGPJMJwKgpITf9vUVgRtzUWe9Sti23gjPFxgh0Yo17ZEwfF+qgJ1uBViLbemHpwxi fdUt6eQ6m7ivyPpu/EpETqqKU1Dr2R1MV5A2I993f58ciUjmlOanwc5y+hF2rNfgXVD0 bBG3W53D+RG+vgqi2dvmg6d5VzxXBnKeyM63R5szpQf1NZpk6gSpRkUal+ZXgIj9A8hs FcKA== X-Gm-Message-State: AOAM530NU8c08jtnKs4RbzYYJ+A+2I+Eb4Jt/pDeVOq9/5+eGiQeDkcm RegFyOK16zlBpRPeai44rGocAViSRZ8= X-Google-Smtp-Source: ABdhPJwgXE6ppeAyUl1pmNq/eugkNGT9B3qua0qCyzyAuBLtbiFQ7nMQxTNNpqS9tu+vJKZWf0QXyw== X-Received: by 2002:a7b:c7d6:: with SMTP id z22mr327094wmk.186.1598030970826; Fri, 21 Aug 2020 10:29:30 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 08/23] hw/sd/pl181: Add TODO to use Fifo32 API Date: Fri, 21 Aug 2020 19:29:01 +0200 Message-Id: <20200821172916.1260954-9-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::344; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x344.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Add TODO to use Fifo32 API from "qemu/fifo32.h". Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Peter Maydell Message-Id: <20200705204630.4133-4-f4bug@amsat.org> --- hw/sd/pl181.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/sd/pl181.c b/hw/sd/pl181.c index 3fc2cdd71a1..86219c851d3 100644 --- a/hw/sd/pl181.c +++ b/hw/sd/pl181.c @@ -57,7 +57,7 @@ typedef struct PL181State { http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3D44= 46/1 */ int32_t linux_hack; - uint32_t fifo[PL181_FIFO_LEN]; + uint32_t fifo[PL181_FIFO_LEN]; /* TODO use Fifo32 */ qemu_irq irq[2]; /* GPIO outputs for 'card is readonly' and 'card inserted' */ qemu_irq cardstatus[2]; --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1598031478; cv=none; d=zohomail.com; s=zohoarc; b=NH4Hn0zgoYeuCw/HGP0PhuTTnW0MJFPAcNzaBP4SFnw/CgyvVZ5wVIGbSONIlxJ5g7JZ0t+eFl5WYxsE+DypOYQlZdI7cles9+hkSsQ25Ik3IMFo1p1JJXlL4EWYR+11oGwaKAsnQ3x5788nd9myhqelRJ0EH5nvBGN28hiuXts= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031478; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=lykAkn6UTO3Stw/k4IPgQ27dBq94/1nvpoZuk0CH5Q8=; b=lkx7vFnvHMpJIwqxJg+XFz8E0qesM2bxGOiW+bJ85YzPYNqIctcn0V0TsxfBULpEizgs8MkUedj5MwMSKgKMaMm8jqjZrrGCBTTAk2XgsnZda+cVXLjFDIbyTabj7cxvzz7Po2Ale+J1KStw9L7nInuJrewFLA2ce5PCHIufsIo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031478005467.8457888067843; Fri, 21 Aug 2020 10:37:58 -0700 (PDT) Received: from localhost ([::1]:51178 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9AzE-0000uD-PC for importer@patchew.org; Fri, 21 Aug 2020 13:37:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57302) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArB-0001Wf-Sp; Fri, 21 Aug 2020 13:29:39 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:33894) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9Ar9-0001CT-8k; Fri, 21 Aug 2020 13:29:37 -0400 Received: by mail-wr1-x441.google.com with SMTP id f7so2682047wrw.1; Fri, 21 Aug 2020 10:29:34 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:32 -0700 (PDT) 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=lykAkn6UTO3Stw/k4IPgQ27dBq94/1nvpoZuk0CH5Q8=; b=HNK34CCmqLr0UOvHsPmHh/a2pJfj54ITiFLI7I7czL4hk8JWY9/Ao5qnFnXZp6jRoW qQ7uAWME8GnkpX4Ym9fMkweu9gpESfy5EvEAfzJo+fHFBHpHP3Y7NC4oyNd3KlRRWNDm Lvsgp/YiVc21TSmNeYhYQ3oKKyga4r2/b+QdcU1l35ZM3Tq4abEHRqSr0e+r/IJP72on 9GDK9M9cx/QSmNeHCLS2DuYGS969bdCwl07/q7oxGvLxxTYW+QdjxDo9knZy1gBnY2UO 5wYc3VCI3pvaWC9ilPQBovzIxmhOZCK9nvhhdGJDHE74fVRMHc2F7luvA/+PEBeTxp5M brIQ== 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=lykAkn6UTO3Stw/k4IPgQ27dBq94/1nvpoZuk0CH5Q8=; b=uUhkwfl0cu8yvhqn1IzKKPh7czAwMFU9rzEGnrxRauD8Gc10yfTWTogYuXnPQ6DmmF syp6bBn7hcxVxttkMfvHpAjFaRTB+FHfzmrCAzok8gyV8XagnCFgEMjG2+uTvlHWwVkr uSmixBo17FK3aXl+j4JosI5fDJVufOvraP/1omEirU51fLDMeRnHs3NvKOvC5ils8m0w Rvqa9Xoy1uUtJxDCQGBFdnCCFk3a0iXa8CPjVZsSbkvpr7JRiG84svyQNKv+LkRwe3Aw Igwt14ZMPlkitJMmlOA5d59qiBtlaF2yfCYNHHXCLeGq34a8tLqZph3LnymlF6c1R67s g95w== X-Gm-Message-State: AOAM532TNcewIjrdsHTnymQtc8S5ucoHryxnjaA/y/DTBjlzqXqCxQnn 02nlw9nl9vLhkX/KVPZMP5bULSm/BWc= X-Google-Smtp-Source: ABdhPJxspM9bnlzj01PPJEsgfHmRCauouJrQ1nozrN39+lFkFXjdwZUlmM8uCNUGTvip3cgeWou3Qw== X-Received: by 2002:adf:b34a:: with SMTP id k10mr3626495wrd.402.1598030972917; Fri, 21 Aug 2020 10:29:32 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 09/23] hw/sd/pl181: Use named GPIOs Date: Fri, 21 Aug 2020 19:29:02 +0200 Message-Id: <20200821172916.1260954-10-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::441; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x441.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org, Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) To make the code easier to manage/review/use, rename the cardstatus[0] variable as 'card_readonly' and name the GPIO "card-read-only". Similarly with cardstatus[1], renamed as 'card_inserted' and name its GPIO "card-inserted". Adapt the users accordingly by using the qdev_init_gpio_out_named() function. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Acked-by: Peter Maydell Message-Id: <20200705204630.4133-6-f4bug@amsat.org> --- hw/arm/integratorcp.c | 4 ++-- hw/arm/realview.c | 4 ++-- hw/arm/vexpress.c | 4 ++-- hw/sd/pl181.c | 8 +++++--- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c index f304c2b4f03..16c4d750a4f 100644 --- a/hw/arm/integratorcp.c +++ b/hw/arm/integratorcp.c @@ -645,9 +645,9 @@ static void integratorcp_init(MachineState *machine) sysbus_create_simple(TYPE_INTEGRATOR_DEBUG, 0x1a000000, 0); =20 dev =3D sysbus_create_varargs("pl181", 0x1c000000, pic[23], pic[24], N= ULL); - qdev_connect_gpio_out(dev, 0, + qdev_connect_gpio_out_named(dev, "card-read-only", 0, qdev_get_gpio_in_named(icp, ICP_GPIO_MMC_WPROT, = 0)); - qdev_connect_gpio_out(dev, 1, + qdev_connect_gpio_out_named(dev, "card-inserted", 0, qdev_get_gpio_in_named(icp, ICP_GPIO_MMC_CARDIN,= 0)); sysbus_create_varargs("pl041", 0x1d000000, pic[25], NULL); =20 diff --git a/hw/arm/realview.c b/hw/arm/realview.c index c1ff172b136..3e2360c261f 100644 --- a/hw/arm/realview.c +++ b/hw/arm/realview.c @@ -234,8 +234,8 @@ static void realview_init(MachineState *machine, mmc_irq[1] =3D qemu_irq_split( qdev_get_gpio_in(sysctl, ARM_SYSCTL_GPIO_MMC_CARDIN), qemu_irq_invert(qdev_get_gpio_in(gpio2, 0))); - qdev_connect_gpio_out(dev, 0, mmc_irq[0]); - qdev_connect_gpio_out(dev, 1, mmc_irq[1]); + qdev_connect_gpio_out_named(dev, "card-read-only", 0, mmc_irq[0]); + qdev_connect_gpio_out_named(dev, "card-inserted", 0, mmc_irq[1]); =20 sysbus_create_simple("pl031", 0x10017000, pic[10]); =20 diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c index 1dc971c34f2..049a0ec2c73 100644 --- a/hw/arm/vexpress.c +++ b/hw/arm/vexpress.c @@ -624,9 +624,9 @@ static void vexpress_common_init(MachineState *machine) =20 dev =3D sysbus_create_varargs("pl181", map[VE_MMCI], pic[9], pic[10], = NULL); /* Wire up MMC card detect and read-only signals */ - qdev_connect_gpio_out(dev, 0, + qdev_connect_gpio_out_named(dev, "card-read-only", 0, qdev_get_gpio_in(sysctl, ARM_SYSCTL_GPIO_MMC_WPR= OT)); - qdev_connect_gpio_out(dev, 1, + qdev_connect_gpio_out_named(dev, "card-inserted", 0, qdev_get_gpio_in(sysctl, ARM_SYSCTL_GPIO_MMC_CAR= DIN)); =20 sysbus_create_simple("pl050_keyboard", map[VE_KMI0], pic[12]); diff --git a/hw/sd/pl181.c b/hw/sd/pl181.c index 86219c851d3..ab4cd733a4d 100644 --- a/hw/sd/pl181.c +++ b/hw/sd/pl181.c @@ -60,7 +60,8 @@ typedef struct PL181State { uint32_t fifo[PL181_FIFO_LEN]; /* TODO use Fifo32 */ qemu_irq irq[2]; /* GPIO outputs for 'card is readonly' and 'card inserted' */ - qemu_irq cardstatus[2]; + qemu_irq card_readonly; + qemu_irq card_inserted; } PL181State; =20 static const VMStateDescription vmstate_pl181 =3D { @@ -479,7 +480,7 @@ static void pl181_reset(DeviceState *d) s->mask[1] =3D 0; =20 /* We can assume our GPIO outputs have been wired up now */ - sd_set_cb(s->card, s->cardstatus[0], s->cardstatus[1]); + sd_set_cb(s->card, s->card_readonly, s->card_inserted); /* Since we're still using the legacy SD API the card is not plugged * into any bus, and we must reset it manually. */ @@ -496,7 +497,8 @@ static void pl181_init(Object *obj) sysbus_init_mmio(sbd, &s->iomem); sysbus_init_irq(sbd, &s->irq[0]); sysbus_init_irq(sbd, &s->irq[1]); - qdev_init_gpio_out(dev, s->cardstatus, 2); + qdev_init_gpio_out_named(dev, &s->card_readonly, "card-read-only", 1); + qdev_init_gpio_out_named(dev, &s->card_inserted, "card-inserted", 1); } =20 static void pl181_realize(DeviceState *dev, Error **errp) --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1598031590; cv=none; d=zohomail.com; s=zohoarc; b=IOAAX+iENLIcvH8vkrwy/u+UlyDXXJxsLm5C0OZgMGGLMAHKzQkOSFh9LVmLkJEobU3v+Kudi56aklhb+6FKFdcZJvMmH4R/rjTP2N6wiO3Ezbte9kzv5n7vA2OPu3jECw8/m0covZgkibWjzOMSM90ljziUkne3X7AoR2MKJIE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031590; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=HjYpabU7d+eUaS/b+1zT6nC+x4EvdwW12wRejvczIbU=; b=KVEk0ds6kq+JDJBFATR4xwFXMG6Dwj0ePjR1Xs0V8HTLYy2b4gu7cz6WfE9tv/VAQJnrOFJfmyVCXs1qOZ+RoZu2GiiVL8qs+sAmUQmKDZO4v8agHqblJPaZMg9VAPYRLVE3rDUlayS+u4SqPbhfCmFPtpB2FZ9zXeC5Jq+XXL8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031590089648.4811082922906; Fri, 21 Aug 2020 10:39:50 -0700 (PDT) Received: from localhost ([::1]:58276 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9B12-0003pP-Q5 for importer@patchew.org; Fri, 21 Aug 2020 13:39:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57310) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArC-0001X1-DX; Fri, 21 Aug 2020 13:29:39 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:37787) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9ArA-0001Cf-PA; Fri, 21 Aug 2020 13:29:38 -0400 Received: by mail-wm1-x341.google.com with SMTP id k8so2576280wma.2; Fri, 21 Aug 2020 10:29:35 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:33 -0700 (PDT) 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=HjYpabU7d+eUaS/b+1zT6nC+x4EvdwW12wRejvczIbU=; b=cdAinoxpKymGp/WJ0ozWJNAH9qPvdge1XISbNBZihq9DHRLQ9xyQyK2/VD3eS00FpF uN8awfVs53cegD7VP43MpIvLbr/3YrA7IsZ6dUN68lx2AtCzpT2NK5xbJr2iwjJ17Jh1 2914cUuJDzmufnUaYKiaWYqum78ANMqQxx5ZUsoBSCknSXxBFHVTyS83Lknj6o0hNF6w DFlsBito2CHlC6pobI04mFjYUXgXSIHXyU3h394sHKuP/bIIYfdQfU63Nxz8oSQ3yRxD kmghVPGhNYyiZujGgP6p0rToAsjuoMYLcRv4uNARHhSynFDrXDcH7eISP1gA9TXHk/0B 6DnA== 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=HjYpabU7d+eUaS/b+1zT6nC+x4EvdwW12wRejvczIbU=; b=PdBlKLNI/LnGwYyO6tDfY/X/vcluNjjPUo4J0PX5R88u5ifQsufgC+nklR6jGvmodA VfMaJU1SOivn75UvQOmuNZoLFtrsWpYiFqEKME06nwRPMjEznjfs0ywjISaB99I2ujgk RM9rYuWPlOY9MF/i8h33spGPbDgNT9VHhzfadsit9FdAOimRR81CftVNVHUvEiWhm/LM wguXE6p3aqhC+uXHudu7ZhPKzNdHH8jvcsBF5666G0k9KL6UntiH9LvBB2EZsKhGpIdX MUfZg+SiJLwSYNWu+gysbXISUpMZj5WVlWpF7piHZuqOiTeBs21eyEx37a0ZPDu2430n +jvA== X-Gm-Message-State: AOAM531U0J8zG3rDmuR1cGqo8b2HNpGYwUQa5cQDpjPcZMuWWMhgkItD pPpJd+0v/FCSfYgApHlcHcFd8d7bvwU= X-Google-Smtp-Source: ABdhPJyae2LeKbZ2VgZLehoqgNbk+rNHH7d47WW37eP8Xlz04Ua/Px+iIvlAKLJ0LRUP3UmwFwMHdA== X-Received: by 2002:a7b:c0cb:: with SMTP id s11mr4136917wmh.89.1598030974335; Fri, 21 Aug 2020 10:29:34 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 10/23] hw/sd/pl181: Expose a SDBus and connect the SDCard to it Date: Fri, 21 Aug 2020 19:29:03 +0200 Message-Id: <20200821172916.1260954-11-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::341; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x341.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org, Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Convert the controller to the SDBus API: - add the a TYPE_PL181_BUS object of type TYPE_SD_BUS, - adapt the SDBusClass set_inserted/set_readonly handlers - create the bus in the PL181 controller - switch legacy sd_*() API to the sdbus_*() API. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Acked-by: Peter Maydell Message-Id: <20200705204630.4133-7-f4bug@amsat.org> --- hw/sd/pl181.c | 67 +++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 51 insertions(+), 16 deletions(-) diff --git a/hw/sd/pl181.c b/hw/sd/pl181.c index ab4cd733a4d..f6de06ece82 100644 --- a/hw/sd/pl181.c +++ b/hw/sd/pl181.c @@ -17,6 +17,7 @@ #include "qemu/module.h" #include "qemu/error-report.h" #include "qapi/error.h" +#include "hw/qdev-properties.h" =20 //#define DEBUG_PL181 1 =20 @@ -32,11 +33,13 @@ do { printf("pl181: " fmt , ## __VA_ARGS__); } while (0) #define TYPE_PL181 "pl181" #define PL181(obj) OBJECT_CHECK(PL181State, (obj), TYPE_PL181) =20 +#define TYPE_PL181_BUS "pl181-bus" + typedef struct PL181State { SysBusDevice parent_obj; =20 MemoryRegion iomem; - SDState *card; + SDBus sdbus; uint32_t clock; uint32_t power; uint32_t cmdarg; @@ -183,7 +186,7 @@ static void pl181_do_command(PL181State *s) request.cmd =3D s->cmd & PL181_CMD_INDEX; request.arg =3D s->cmdarg; DPRINTF("Command %d %08x\n", request.cmd, request.arg); - rlen =3D sd_do_command(s->card, &request, response); + rlen =3D sdbus_do_command(&s->sdbus, &request, response); if (rlen < 0) goto error; if (s->cmd & PL181_CMD_RESPONSE) { @@ -224,12 +227,12 @@ static void pl181_fifo_run(PL181State *s) int is_read; =20 is_read =3D (s->datactrl & PL181_DATA_DIRECTION) !=3D 0; - if (s->datacnt !=3D 0 && (!is_read || sd_data_ready(s->card)) + if (s->datacnt !=3D 0 && (!is_read || sdbus_data_ready(&s->sdbus)) && !s->linux_hack) { if (is_read) { n =3D 0; while (s->datacnt && s->fifo_len < PL181_FIFO_LEN) { - value |=3D (uint32_t)sd_read_data(s->card) << (n * 8); + value |=3D (uint32_t)sdbus_read_data(&s->sdbus) << (n * 8); s->datacnt--; n++; if (n =3D=3D 4) { @@ -250,7 +253,7 @@ static void pl181_fifo_run(PL181State *s) } n--; s->datacnt--; - sd_write_data(s->card, value & 0xff); + sdbus_write_data(&s->sdbus, value & 0xff); value >>=3D 8; } } @@ -456,6 +459,20 @@ static const MemoryRegionOps pl181_ops =3D { .endianness =3D DEVICE_NATIVE_ENDIAN, }; =20 +static void pl181_set_readonly(DeviceState *dev, bool level) +{ + PL181State *s =3D (PL181State *)dev; + + qemu_set_irq(s->card_readonly, level); +} + +static void pl181_set_inserted(DeviceState *dev, bool level) +{ + PL181State *s =3D (PL181State *)dev; + + qemu_set_irq(s->card_inserted, level); +} + static void pl181_reset(DeviceState *d) { PL181State *s =3D PL181(d); @@ -479,12 +496,9 @@ static void pl181_reset(DeviceState *d) s->mask[0] =3D 0; s->mask[1] =3D 0; =20 - /* We can assume our GPIO outputs have been wired up now */ - sd_set_cb(s->card, s->card_readonly, s->card_inserted); - /* Since we're still using the legacy SD API the card is not plugged - * into any bus, and we must reset it manually. - */ - device_legacy_reset(DEVICE(s->card)); + /* Reset other state based on current card insertion/readonly status */ + pl181_set_inserted(DEVICE(s), sdbus_get_inserted(&s->sdbus)); + pl181_set_readonly(DEVICE(s), sdbus_get_readonly(&s->sdbus)); } =20 static void pl181_init(Object *obj) @@ -499,19 +513,24 @@ static void pl181_init(Object *obj) sysbus_init_irq(sbd, &s->irq[1]); qdev_init_gpio_out_named(dev, &s->card_readonly, "card-read-only", 1); qdev_init_gpio_out_named(dev, &s->card_inserted, "card-inserted", 1); + + qbus_create_inplace(&s->sdbus, sizeof(s->sdbus), + TYPE_PL181_BUS, dev, "sd-bus"); } =20 static void pl181_realize(DeviceState *dev, Error **errp) { - PL181State *s =3D PL181(dev); + DeviceState *card; DriveInfo *dinfo; =20 /* FIXME use a qdev drive property instead of drive_get_next() */ + card =3D qdev_new(TYPE_SD_CARD); dinfo =3D drive_get_next(IF_SD); - s->card =3D sd_init(dinfo ? blk_by_legacy_dinfo(dinfo) : NULL, false); - if (s->card =3D=3D NULL) { - error_setg(errp, "sd_init failed"); - } + qdev_prop_set_drive_err(card, "drive", blk_by_legacy_dinfo(dinfo), + &error_fatal); + qdev_realize_and_unref(card, + qdev_get_child_bus(dev, "sd-bus"), + &error_fatal); } =20 static void pl181_class_init(ObjectClass *klass, void *data) @@ -533,9 +552,25 @@ static const TypeInfo pl181_info =3D { .class_init =3D pl181_class_init, }; =20 +static void pl181_bus_class_init(ObjectClass *klass, void *data) +{ + SDBusClass *sbc =3D SD_BUS_CLASS(klass); + + sbc->set_inserted =3D pl181_set_inserted; + sbc->set_readonly =3D pl181_set_readonly; +} + +static const TypeInfo pl181_bus_info =3D { + .name =3D TYPE_PL181_BUS, + .parent =3D TYPE_SD_BUS, + .instance_size =3D sizeof(SDBus), + .class_init =3D pl181_bus_class_init, +}; + static void pl181_register_types(void) { type_register_static(&pl181_info); + type_register_static(&pl181_bus_info); } =20 type_init(pl181_register_types) --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1598031379; cv=none; d=zohomail.com; s=zohoarc; b=eOtlSbl18L7ZnUYVnVNLcJKjQ9aDKiCREY/jlmV/RcE0Kgun4mdrssB0NwztRrWece1z+rBJiDfNzj4WiSql00U0ZP1lqKyLjSkDbQZ4SK8CO3mA5OSxhADqrlvFtTy1XAv73ZEUNACBkXlSuSsbgffkTJfLD7Lx+SMp0J8PnxQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031379; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=0Dd44R7OJJJDfs5YP/o1IXlGifzo41VurSE267jt/Qo=; b=WltRDEyERZ1CyHDIXB6AGV0IeJ+RlqCcjlEbflbvqA96Tvur1gicEdAshNWZN/uff/H9OpM/gAu9Nr/Bgxy3WjQ8bJQsWbxBkOMLRvWY3ucigsm5b81syM7wgoB3jj6JjB1qshrCibcuJtb+FyRCsGebFCUrsmtRY+IAfm+FXHA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031379493901.9039790100244; Fri, 21 Aug 2020 10:36:19 -0700 (PDT) Received: from localhost ([::1]:41506 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9Axd-0005OU-Vn for importer@patchew.org; Fri, 21 Aug 2020 13:36:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57328) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArD-0001Xe-SD; Fri, 21 Aug 2020 13:29:40 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:33897) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9ArC-0001Cq-6l; Fri, 21 Aug 2020 13:29:39 -0400 Received: by mail-wr1-x444.google.com with SMTP id f7so2682176wrw.1; Fri, 21 Aug 2020 10:29:37 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:35 -0700 (PDT) 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=0Dd44R7OJJJDfs5YP/o1IXlGifzo41VurSE267jt/Qo=; b=uixN0IGA9f5HhwbE+r28ZLzMQM119tsozjO7Rrom6I9Sg6S64ypFoEIlp6W9lCBR9M pxbU8bv8A3AyUOHq4+4Fzg0axw3BLuWE2NgSWRQE5y7P6XDX165EXlShFhbdW87LLgs1 Fk/G2Y26V5iMix7ig8oTrdiDuCXxnpcQ0yaAQ869gLtWAUAu511oHTs1uUNRIOs5JW0W 7UIJvAgk8K0dgzliBTWZDl/IVY1V1u6o5fINQojuyFyJa7W2RJ1+MUhC+/NFB42XNB0T THKE5fCSGU1CSjSUFqfHvrSlgyBcM0Vx3uIz2fjbBvUSpuOf0022Wa3yuAND9NxpRiAf /d6g== 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=0Dd44R7OJJJDfs5YP/o1IXlGifzo41VurSE267jt/Qo=; b=UswyQHKHKRqlqrQWHOUpLBDnTAGZKFebpnRAf2nfUmu6H555fE2cXD2B9phEyPhqEE gaKG+ifaMgIq2xJRHewzOdeyc+1MgHQrvGsz6dgutFUR4KATOxB3QGY0d0kQ/dz/VgPl Hl7UXwSMccqnjDj7as3rcMHTEi3rmpHCZpfmsOHXirdo37/Utmy/TUpWZJxRQyw+gjbu 3sf7QEtRpZDy/kEejyu3gwP88osJ5iRCxsnX16DdaUTOw1AOAIwECDVvcDIUptwEVTza 1HDdfTnKnOgksxJS8Sy83X2dKA5ew+xu/9lsdzgOA5Oi/jt/oY1+wzWhZcVybyuL5C1k wjAQ== X-Gm-Message-State: AOAM530/0B1iUpmrr/Mw81wD4VyQTZongB0/Bv/G4elgfNGSw5zAna7m v/yh4Ad5SE1KwoeqxRvOi2MlsNGeJYI= X-Google-Smtp-Source: ABdhPJxT3XyIVRf9ma2mA0aLGLaGPNCGAa9b7Uyw77r1ZFQAqJR/bYlqhnnBGRIJMdvt1r9vcsVpGA== X-Received: by 2002:a5d:480b:: with SMTP id l11mr3479004wrq.85.1598030975685; Fri, 21 Aug 2020 10:29:35 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 11/23] hw/sd/pl181: Do not create SD card within the SD host controller Date: Fri, 21 Aug 2020 19:29:04 +0200 Message-Id: <20200821172916.1260954-12-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::444; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x444.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org, Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) SD/MMC host controllers provide a SD Bus to plug SD cards, but don't come with SD card plugged in :) Let the machine/board model create and plug the SD cards when required. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Reviewed-by: Peter Maydell Acked-by: Peter Maydell Message-Id: <20200705204630.4133-8-f4bug@amsat.org> --- hw/arm/integratorcp.c | 13 +++++++++++++ hw/arm/realview.c | 12 ++++++++++++ hw/arm/versatilepb.c | 26 ++++++++++++++++++++++++-- hw/arm/vexpress.c | 11 +++++++++++ hw/sd/pl181.c | 19 +------------------ 5 files changed, 61 insertions(+), 20 deletions(-) diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c index 16c4d750a4f..fe7c2b9d4b1 100644 --- a/hw/arm/integratorcp.c +++ b/hw/arm/integratorcp.c @@ -25,6 +25,7 @@ #include "hw/char/pl011.h" #include "hw/hw.h" #include "hw/irq.h" +#include "hw/sd/sd.h" =20 #define TYPE_INTEGRATOR_CM "integrator_core" #define INTEGRATOR_CM(obj) \ @@ -595,6 +596,7 @@ static void integratorcp_init(MachineState *machine) MemoryRegion *ram_alias =3D g_new(MemoryRegion, 1); qemu_irq pic[32]; DeviceState *dev, *sic, *icp; + DriveInfo *dinfo; int i; =20 cpuobj =3D object_new(machine->cpu_type); @@ -649,6 +651,17 @@ static void integratorcp_init(MachineState *machine) qdev_get_gpio_in_named(icp, ICP_GPIO_MMC_WPROT, = 0)); qdev_connect_gpio_out_named(dev, "card-inserted", 0, qdev_get_gpio_in_named(icp, ICP_GPIO_MMC_CARDIN,= 0)); + dinfo =3D drive_get_next(IF_SD); + if (dinfo) { + DeviceState *card; + + card =3D qdev_new(TYPE_SD_CARD); + qdev_prop_set_drive_err(card, "drive", blk_by_legacy_dinfo(dinfo), + &error_fatal); + qdev_realize_and_unref(card, qdev_get_child_bus(dev, "sd-bus"), + &error_fatal); + } + sysbus_create_varargs("pl041", 0x1d000000, pic[25], NULL); =20 if (nd_table[0].used) diff --git a/hw/arm/realview.c b/hw/arm/realview.c index 3e2360c261f..5f1f36b15cd 100644 --- a/hw/arm/realview.c +++ b/hw/arm/realview.c @@ -27,6 +27,7 @@ #include "hw/intc/realview_gic.h" #include "hw/irq.h" #include "hw/i2c/arm_sbcon_i2c.h" +#include "hw/sd/sd.h" =20 #define SMP_BOOT_ADDR 0xe0000000 #define SMP_BOOTREG_ADDR 0x10000030 @@ -69,6 +70,7 @@ static void realview_init(MachineState *machine, qemu_irq mmc_irq[2]; PCIBus *pci_bus =3D NULL; NICInfo *nd; + DriveInfo *dinfo; I2CBus *i2c; int n; unsigned int smp_cpus =3D machine->smp.cpus; @@ -236,6 +238,16 @@ static void realview_init(MachineState *machine, qemu_irq_invert(qdev_get_gpio_in(gpio2, 0))); qdev_connect_gpio_out_named(dev, "card-read-only", 0, mmc_irq[0]); qdev_connect_gpio_out_named(dev, "card-inserted", 0, mmc_irq[1]); + dinfo =3D drive_get_next(IF_SD); + if (dinfo) { + DeviceState *card; + + card =3D qdev_new(TYPE_SD_CARD); + qdev_prop_set_drive_err(card, "drive", blk_by_legacy_dinfo(dinfo), + &error_fatal); + qdev_realize_and_unref(card, qdev_get_child_bus(dev, "sd-bus"), + &error_fatal); + } =20 sysbus_create_simple("pl031", 0x10017000, pic[10]); =20 diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c index 9dc93182b6b..9127579984f 100644 --- a/hw/arm/versatilepb.c +++ b/hw/arm/versatilepb.c @@ -25,6 +25,7 @@ #include "hw/block/flash.h" #include "qemu/error-report.h" #include "hw/char/pl011.h" +#include "hw/sd/sd.h" =20 #define VERSATILE_FLASH_ADDR 0x34000000 #define VERSATILE_FLASH_SIZE (64 * 1024 * 1024) @@ -309,8 +310,29 @@ static void versatile_init(MachineState *machine, int = board_id) /* Wire up the mux control signals from the SYS_CLCD register */ qdev_connect_gpio_out(sysctl, 0, qdev_get_gpio_in(dev, 0)); =20 - sysbus_create_varargs("pl181", 0x10005000, sic[22], sic[1], NULL); - sysbus_create_varargs("pl181", 0x1000b000, sic[23], sic[2], NULL); + dev =3D sysbus_create_varargs("pl181", 0x10005000, sic[22], sic[1], NU= LL); + dinfo =3D drive_get_next(IF_SD); + if (dinfo) { + DeviceState *card; + + card =3D qdev_new(TYPE_SD_CARD); + qdev_prop_set_drive_err(card, "drive", blk_by_legacy_dinfo(dinfo), + &error_fatal); + qdev_realize_and_unref(card, qdev_get_child_bus(dev, "sd-bus"), + &error_fatal); + } + + dev =3D sysbus_create_varargs("pl181", 0x1000b000, sic[23], sic[2], NU= LL); + dinfo =3D drive_get_next(IF_SD); + if (dinfo) { + DeviceState *card; + + card =3D qdev_new(TYPE_SD_CARD); + qdev_prop_set_drive_err(card, "drive", blk_by_legacy_dinfo(dinfo), + &error_fatal); + qdev_realize_and_unref(card, qdev_get_child_bus(dev, "sd-bus"), + &error_fatal); + } =20 /* Add PL031 Real Time Clock. */ sysbus_create_simple("pl031", 0x101e8000, pic[10]); diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c index 049a0ec2c73..95405f59408 100644 --- a/hw/arm/vexpress.c +++ b/hw/arm/vexpress.c @@ -43,6 +43,7 @@ #include "hw/cpu/a9mpcore.h" #include "hw/cpu/a15mpcore.h" #include "hw/i2c/arm_sbcon_i2c.h" +#include "hw/sd/sd.h" =20 #define VEXPRESS_BOARD_ID 0x8e0 #define VEXPRESS_FLASH_SIZE (64 * 1024 * 1024) @@ -628,6 +629,16 @@ static void vexpress_common_init(MachineState *machine) qdev_get_gpio_in(sysctl, ARM_SYSCTL_GPIO_MMC_WPR= OT)); qdev_connect_gpio_out_named(dev, "card-inserted", 0, qdev_get_gpio_in(sysctl, ARM_SYSCTL_GPIO_MMC_CAR= DIN)); + dinfo =3D drive_get_next(IF_SD); + if (dinfo) { + DeviceState *card; + + card =3D qdev_new(TYPE_SD_CARD); + qdev_prop_set_drive_err(card, "drive", blk_by_legacy_dinfo(dinfo), + &error_fatal); + qdev_realize_and_unref(card, qdev_get_child_bus(dev, "sd-bus"), + &error_fatal); + } =20 sysbus_create_simple("pl050_keyboard", map[VE_KMI0], pic[12]); sysbus_create_simple("pl050_mouse", map[VE_KMI1], pic[13]); diff --git a/hw/sd/pl181.c b/hw/sd/pl181.c index f6de06ece82..f69488ebac3 100644 --- a/hw/sd/pl181.c +++ b/hw/sd/pl181.c @@ -17,7 +17,6 @@ #include "qemu/module.h" #include "qemu/error-report.h" #include "qapi/error.h" -#include "hw/qdev-properties.h" =20 //#define DEBUG_PL181 1 =20 @@ -518,30 +517,14 @@ static void pl181_init(Object *obj) TYPE_PL181_BUS, dev, "sd-bus"); } =20 -static void pl181_realize(DeviceState *dev, Error **errp) -{ - DeviceState *card; - DriveInfo *dinfo; - - /* FIXME use a qdev drive property instead of drive_get_next() */ - card =3D qdev_new(TYPE_SD_CARD); - dinfo =3D drive_get_next(IF_SD); - qdev_prop_set_drive_err(card, "drive", blk_by_legacy_dinfo(dinfo), - &error_fatal); - qdev_realize_and_unref(card, - qdev_get_child_bus(dev, "sd-bus"), - &error_fatal); -} - static void pl181_class_init(ObjectClass *klass, void *data) { DeviceClass *k =3D DEVICE_CLASS(klass); =20 k->vmsd =3D &vmstate_pl181; k->reset =3D pl181_reset; - /* Reason: init() method uses drive_get_next() */ + /* Reason: output IRQs should be wired up */ k->user_creatable =3D false; - k->realize =3D pl181_realize; } =20 static const TypeInfo pl181_info =3D { --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031758; cv=none; d=zohomail.com; s=zohoarc; b=Bi9hzRDi8t8CO22v/J2etwp7syGVfFup2DHVmS1vACGYYOodly0fe8DAQXGV53jpd0Uo4lfge1QwRWcOETt2OVU8RihU4c43vZvW3fM+LpHzKdocom0z9pZ5XPyhygyCFZpUlLOe96WhXb1MUN4kvl/ckng6veMI9TiS+HfnNYo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031758; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=t2AXewhSqJh0kBZThS6xJGNW5Vas7WuOoZOyr5gsCOA=; b=mfF+EeM7ZaWg0uNytwDifCBFUkwg+5ZCBVjPhxKxwdJ7mOVK1w8kXQwVRviCY36X2ZlG0xdgP4WRg57axho0eBGiMR9Bhb5j/qyoGmW2HL266T864xzzUJ0pGlsKd6ZMHzxiFiuaNi7VCzi/SPGmktoOE1Q8cOYbOVS9+h5SF7E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 159803175869867.225781326429; Fri, 21 Aug 2020 10:42:38 -0700 (PDT) Received: from localhost ([::1]:38814 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9B3l-0007Ya-De for importer@patchew.org; Fri, 21 Aug 2020 13:42:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57342) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArF-0001Yz-9t; Fri, 21 Aug 2020 13:29:41 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]:53850) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9ArD-0001DC-MZ; Fri, 21 Aug 2020 13:29:40 -0400 Received: by mail-wm1-x336.google.com with SMTP id u18so2637013wmc.3; Fri, 21 Aug 2020 10:29:38 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:36 -0700 (PDT) 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=t2AXewhSqJh0kBZThS6xJGNW5Vas7WuOoZOyr5gsCOA=; b=rb3jWaYbqU5x2TEg+8pRIeXF7iFkU/pWYrnxC1Rqn+Y9K+t0VJiNjO+wg2M+bm9jri i+O1f9ANL/aiNVv+4LXoKl6M/IkDwaXoD0lC6OwFuKpVpxCae7t3337DiX7KHj5j3j3Y uQJcAS+K6t/cW6OhfCiprUR18+9zxxKMkpk1R0uIQ+xGWERSge3nKGf9vQAuqfP8s4iV 1IyWYLzCXn8M8pk+kC+wXchjQcAYRc7+IRYEs24rcr1lQ7DQoLiBR7jApxWifx1B6iqR kCUYeN4OrrBald7pj90JXCGHObN86BIP39G+27cgAFk78W8ptCcnqzQAD3ILIgz+tV3z D0hQ== 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=t2AXewhSqJh0kBZThS6xJGNW5Vas7WuOoZOyr5gsCOA=; b=jxN3NOnNOYJP+xT3MehoggxwmamOYrd+J0YISrqdDrxZSalf/MeEvxY3BjcoAAVKMF hbGNOur2v52mY0P4QRJWGazJbxSJios9JsbEYaez/xFZ9QImJT/vIskI6hcJedvpti1Z jyybzMH5vQOX7hr7HcpAAyYsduJPcjgSNjT22k3sIne7vVTnmiR9FReQwlyb1327jikF EMV9oJjInhdoMlHj9Zn0dxRacE8MAtAePAbN0BSMTw4MHDXVz3oeBFVO8uQk0aLyn/+I fnwCe8s8FoVhLQYQfMchxEw8hUE0C1yvtEGsnxuWRBydiO7uUVzpupgPXpBof3ibI15M LSjg== X-Gm-Message-State: AOAM530J5ZHzi2QIUFkuuODRcpzJEd+geQMKlBOAFdhRDEcGH1VMlCrb 3VLYOXcdbAUjdZUftPxumOC8rd8JCrM= X-Google-Smtp-Source: ABdhPJwk5l/PemqQCGVeDNc80kLtrrN3zqvVc9OVi7Fzv56o9/FDWT4GkyVlWwVHyo5u0KNcDMUlaQ== X-Received: by 2002:a1c:7203:: with SMTP id n3mr4348800wmc.149.1598030977295; Fri, 21 Aug 2020 10:29:37 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 12/23] hw/sd/pl181: Replace disabled fprintf()s by trace events Date: Fri, 21 Aug 2020 19:29:05 +0200 Message-Id: <20200821172916.1260954-13-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x336.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org, Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Convert disabled DPRINTF() to trace events and remove ifdef'ry. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Acked-by: Peter Maydell Message-Id: <20200705204630.4133-9-f4bug@amsat.org> --- hw/sd/pl181.c | 26 +++++++++----------------- hw/sd/trace-events | 10 ++++++++++ 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/hw/sd/pl181.c b/hw/sd/pl181.c index f69488ebac3..574500ce600 100644 --- a/hw/sd/pl181.c +++ b/hw/sd/pl181.c @@ -17,15 +17,7 @@ #include "qemu/module.h" #include "qemu/error-report.h" #include "qapi/error.h" - -//#define DEBUG_PL181 1 - -#ifdef DEBUG_PL181 -#define DPRINTF(fmt, ...) \ -do { printf("pl181: " fmt , ## __VA_ARGS__); } while (0) -#else -#define DPRINTF(fmt, ...) do {} while(0) -#endif +#include "trace.h" =20 #define PL181_FIFO_LEN 16 =20 @@ -158,7 +150,7 @@ static void pl181_fifo_push(PL181State *s, uint32_t val= ue) n =3D (s->fifo_pos + s->fifo_len) & (PL181_FIFO_LEN - 1); s->fifo_len++; s->fifo[n] =3D value; - DPRINTF("FIFO push %08x\n", (int)value); + trace_pl181_fifo_push(value); } =20 static uint32_t pl181_fifo_pop(PL181State *s) @@ -172,7 +164,7 @@ static uint32_t pl181_fifo_pop(PL181State *s) value =3D s->fifo[s->fifo_pos]; s->fifo_len--; s->fifo_pos =3D (s->fifo_pos + 1) & (PL181_FIFO_LEN - 1); - DPRINTF("FIFO pop %08x\n", (int)value); + trace_pl181_fifo_pop(value); return value; } =20 @@ -184,7 +176,7 @@ static void pl181_do_command(PL181State *s) =20 request.cmd =3D s->cmd & PL181_CMD_INDEX; request.arg =3D s->cmdarg; - DPRINTF("Command %d %08x\n", request.cmd, request.arg); + trace_pl181_command_send(request.cmd, request.arg); rlen =3D sdbus_do_command(&s->sdbus, &request, response); if (rlen < 0) goto error; @@ -201,16 +193,16 @@ static void pl181_do_command(PL181State *s) s->response[2] =3D ldl_be_p(&response[8]); s->response[3] =3D ldl_be_p(&response[12]) & ~1; } - DPRINTF("Response received\n"); + trace_pl181_command_response_pending(); s->status |=3D PL181_STATUS_CMDRESPEND; } else { - DPRINTF("Command sent\n"); + trace_pl181_command_sent(); s->status |=3D PL181_STATUS_CMDSENT; } return; =20 error: - DPRINTF("Timeout\n"); + trace_pl181_command_timeout(); s->status |=3D PL181_STATUS_CMDTIMEOUT; } =20 @@ -262,11 +254,11 @@ static void pl181_fifo_run(PL181State *s) s->status |=3D PL181_STATUS_DATAEND; /* HACK: */ s->status |=3D PL181_STATUS_DATABLOCKEND; - DPRINTF("Transfer Complete\n"); + trace_pl181_fifo_transfer_complete(); } if (s->datacnt =3D=3D 0 && s->fifo_len =3D=3D 0) { s->datactrl &=3D ~PL181_DATA_ENABLE; - DPRINTF("Data engine idle\n"); + trace_pl181_data_engine_idle(); } else { /* Update FIFO bits. */ bits =3D PL181_STATUS_TXACTIVE | PL181_STATUS_RXACTIVE; diff --git a/hw/sd/trace-events b/hw/sd/trace-events index 5f09d32eb2c..a87d7355fb8 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -62,3 +62,13 @@ milkymist_memcard_memory_write(uint32_t addr, uint32_t v= alue) "addr 0x%08x value # pxa2xx_mmci.c pxa2xx_mmci_read(uint8_t size, uint32_t addr, uint32_t value) "size %d add= r 0x%02x value 0x%08x" pxa2xx_mmci_write(uint8_t size, uint32_t addr, uint32_t value) "size %d ad= dr 0x%02x value 0x%08x" + +# pl181.c +pl181_command_send(uint8_t cmd, uint32_t arg) "sending CMD%02d arg 0x%08" = PRIx32 +pl181_command_sent(void) "command sent" +pl181_command_response_pending(void) "response received" +pl181_command_timeout(void) "command timeouted" +pl181_fifo_push(uint32_t data) "FIFO push 0x%08" PRIx32 +pl181_fifo_pop(uint32_t data) "FIFO pop 0x%08" PRIx32 +pl181_fifo_transfer_complete(void) "FIFO transfer complete" +pl181_data_engine_idle(void) "data engine idle" --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031405; cv=none; d=zohomail.com; s=zohoarc; b=KDdqtu72r4OfOqjsSuQGUpq9bNLaLfFb9zdy140T8IZVmID6s+B82kNB7e3QpRsYLujdUAWdPgxCQ+0A20bA48Z0x3lntGKdrblVr4knlxNwi8u6Qx1y6+MI/VoSjvd76lTa7elGQdUkVM4qonKC2M0SBi+few6js2Sx9JaCv08= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031405; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ArJcEdqJX+vmqubLA63riTsSiUZwEENuCNY6yovraRY=; b=MeT8xbB7pRx3ZRj8rv3QYji8cxyWSNaOZ/UJQTKj3/hxVx0UwOd4fwV0dgfFQrMEfs+d5dD4tTh/fRbd1wmxoMtOL7+494oAx9T2MYfhXKEntXNUUKjbsjYwEtxJbHkIYxZF7zb3Dh+wS1ee17uJxokT9x99maeIppgdBoZlhWo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031405490960.5697934669469; Fri, 21 Aug 2020 10:36:45 -0700 (PDT) Received: from localhost ([::1]:44380 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9Ay4-0006ZO-2r for importer@patchew.org; Fri, 21 Aug 2020 13:36:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57354) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArG-0001aj-PL; Fri, 21 Aug 2020 13:29:42 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:37745) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9ArF-0001DO-9A; Fri, 21 Aug 2020 13:29:42 -0400 Received: by mail-wm1-x331.google.com with SMTP id k8so2576481wma.2; Fri, 21 Aug 2020 10:29:39 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:38 -0700 (PDT) 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=ArJcEdqJX+vmqubLA63riTsSiUZwEENuCNY6yovraRY=; b=Htm26PR3I+xSImMZ+2D5dPBeSWaQvQgzPuKkTiSIZuaeUTlV0FGpc6j7sYDmOPv1GP B/O2qWhIKbPgoE9K3QCnpzE75gJj9R7w1Sr9Fd45b62nFDwKhJz18Vw88Jt8CJuArmGe zpOtCVmm6pqRZlhVD9MwaAC3nQdhrTJN9HENpfIguK8uVtOYUVo9zsZ7yNQERhhyrOlD TAzucIqmUK25X57KlzLIxLw1w2XH3pyl2l6qoDJr9hP6vszpiq8TyMKTNt1dT5gUevzA y9jSmkQ663R06kVc2Czw7HSsUVOYpG+hvilQ7VSjo6C0qeTLQoa3rqpNeJoYG4PisUeA ydZQ== 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=ArJcEdqJX+vmqubLA63riTsSiUZwEENuCNY6yovraRY=; b=G0pSXNqLmQ2PAb1t62I8DeDJBLdwwWEommUiEsUE/cZRtl7JjvlxsMzHIP9I2+ZC0+ n5HMyGVMAkyO3SY/m1wEMYj/f+UAC8qaTgq+r3yKAM6WGSj2csII7lBILns/XgkFX9B4 X57ya9spSNmDFpGyjoQ+DCXoqhv8iK98+K+0DpdQFoxX4fq00w0IHC+BKpuKbqdPO/YR +yeJNcJPI+WASSYEZomv2thTWBDPE6nkLjNyt+qWs999RL1oILttT9Q3b09XtLNqFaG9 Uf0XTdf1/7/tpzQpPPMnPZ+ybhdrBQccJn/zdPpd33BSzFNz8redxfnVp8nCvFmjwgtX TXjA== X-Gm-Message-State: AOAM532E6LlTH32vhmSM3LpsyBPTAj/vZ9VSPXtK+XfJO5CwBpnIGtmU ee2LqhajcQh2DaVZfKSpIgQlorz4euM= X-Google-Smtp-Source: ABdhPJyljEwfRG8mMFpdG2S9PmkHKqJ6NS2f3dmboL4emFFyg7z2Fj469HX9DY6Eh/+bJ18+xDZEvQ== X-Received: by 2002:a1c:1d92:: with SMTP id d140mr3993892wmd.157.1598030978727; Fri, 21 Aug 2020 10:29:38 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 13/23] hw/sd/sdcard: Make sd_data_ready() static Date: Fri, 21 Aug 2020 19:29:06 +0200 Message-Id: <20200821172916.1260954-14-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x331.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Alistair Francis , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) sd_data_ready() belongs to the legacy API. As its last user has been converted to the SDBus API, make it static. Reviewed-by: Alistair Francis Message-Id: <20180216022933.10945-7-f4bug@amsat.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Peter Maydell --- include/hw/sd/sd.h | 1 - hw/sd/sd.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h index a84b8e274a3..ace350e0e83 100644 --- a/include/hw/sd/sd.h +++ b/include/hw/sd/sd.h @@ -143,7 +143,6 @@ int sd_do_command(SDState *sd, SDRequest *req, void sd_write_data(SDState *sd, uint8_t value); uint8_t sd_read_data(SDState *sd); void sd_set_cb(SDState *sd, qemu_irq readonly, qemu_irq insert); -bool sd_data_ready(SDState *sd); /* sd_enable should not be used -- it is only used on the nseries boards, * where it is part of a broken implementation of the MMC card slot switch * (there should be two card slots which are multiplexed to a single MMC diff --git a/hw/sd/sd.c b/hw/sd/sd.c index fad9cf1ee7a..a5ae5dccbe5 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -2082,7 +2082,7 @@ uint8_t sd_read_data(SDState *sd) return ret; } =20 -bool sd_data_ready(SDState *sd) +static bool sd_data_ready(SDState *sd) { return sd->state =3D=3D sd_sendingdata_state; } --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031494; cv=none; d=zohomail.com; s=zohoarc; b=EMoqtvrmUeGTSmzIwPDfiXMAm/N5xB/+wVouUtD13yVLJvgLl+WngZRH1dqjaTpyGNBabxEJOqCpeS0tg9VblzCYkT5OD2FNiUA2TXrqal25R5g6r2857iEDx9zpf5V0BgRK/XrWIvHCEzTWj0ysWYnOvXGoaWA3rz1uLQjwXtU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031494; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=KQ/YEfF3Ypebl8yU3qCopOrUVOQmWJtB56JKVnwwg3E=; b=LyKtZ1xlBA7wo8U9GPkJXAqP8o0cCvoKGt2mrqJUL1wfmevG3kONwdhkg38zqIrTUHXoU9dF6g4wJo7f8AEaViicBOQAlszEpQoP6VUpKL0Mt+PHTJAPgh7UoTe4nBatJcq6zQTQf1WvBdX90rpCi2odow4KxHmyzkfkPvpy3iA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031494014200.16451760834366; Fri, 21 Aug 2020 10:38:14 -0700 (PDT) Received: from localhost ([::1]:52954 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9AzU-0001c0-Pd for importer@patchew.org; Fri, 21 Aug 2020 13:38:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57374) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArI-0001dX-Ic; Fri, 21 Aug 2020 13:29:44 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]:37750) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9ArG-0001Dl-Kx; Fri, 21 Aug 2020 13:29:44 -0400 Received: by mail-wm1-x336.google.com with SMTP id k8so2576569wma.2; Fri, 21 Aug 2020 10:29:41 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:39 -0700 (PDT) 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=KQ/YEfF3Ypebl8yU3qCopOrUVOQmWJtB56JKVnwwg3E=; b=t/umYr00SyZcPvvEfQ9/PS4lw/KPvOAaaDQkO6c4VVF4ah7sFI+HK5KuFC4tJV/Y/+ bFuGPdFmu2rt63cYiKprjOkfWMwxA+dSV/8mLI2R73S97z2EfxS9Aa09VTDf9cfIMeBg jwNHJPysyvNGz7wLOZakFnzF/W5NqsOUzeSAk2zJTf9EeXMq7MdS/thvgTBqCHXAxqUk j2H2xO0aLmmoYYvy+7N7nsg/pRwQSmWmrsZl58rccz/feMYS/DRXbOgYrr5suu61FLl7 5P9iJ7dhxFuBaD6bV1N2o6LfuXJCaNSz4XJMHV6jDQV/7zmsY1TxUzYtuD/LBd0EK4oz /fUg== 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=KQ/YEfF3Ypebl8yU3qCopOrUVOQmWJtB56JKVnwwg3E=; b=KESNqKOc92oEZ0Qc7uSPTOgdRagPLI3XmK2dGl2gwUbQV2qVjTQ4OBvR3rH2vkJWXc c41iH8aAVwdKDVY7LYm4jowtgdXF5E8pSTXIW6GpUHh9XekdRryGW84ReJMXW9SpGXT/ RE2EPPB0XQO0p3B5AdaL383Keh1QfNjeA+HUt7BuLIN6Sm+Pp+e40bcpBatywhxp+zXE KkilafB1at1URSF+Bis6rcYkwqor2FeuNx2L3XCwd9yDDeBjoOPt5jyFqF9tVog7dWmd 8YKMHuNc4EiGU/fdG84RYiBsLNQHq54qrBV88L2j6wuGb9vhh3LWkcrfsDc/KhiNeq/c NeWw== X-Gm-Message-State: AOAM530RsNPEwhgmscYkMdyP1n29Oaevx+FfbSEmi2eNEsoeXEw/9Lzr KB4ptQBt0INpRyWUoUbbvrVuEIHZZHI= X-Google-Smtp-Source: ABdhPJzi0jFhRFlC6uo5DLtMd3+yqg+wk7XMBhJR0LLSpD4gBoL3rMmdzM8zAI6vhoOoEEwMjBBX6A== X-Received: by 2002:a05:600c:21d6:: with SMTP id x22mr3995114wmj.112.1598030980285; Fri, 21 Aug 2020 10:29:40 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 14/23] hw/sd: Move sdcard legacy API to 'hw/sd/sdcard_legacy.h' Date: Fri, 21 Aug 2020 19:29:07 +0200 Message-Id: <20200821172916.1260954-15-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x336.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Alistair Francis , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) omap_mmc.c is the last device left using the legacy sdcard API. Move the prototype declarations into a separate header, to make it clear this is a legacy API. Reviewed-by: Alistair Francis Message-Id: <20180216022933.10945-8-f4bug@amsat.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Peter Maydell --- include/hw/sd/sd.h | 16 ----------- include/hw/sd/sdcard_legacy.h | 50 +++++++++++++++++++++++++++++++++++ hw/sd/omap_mmc.c | 2 +- hw/sd/sd.c | 1 + 4 files changed, 52 insertions(+), 17 deletions(-) create mode 100644 include/hw/sd/sdcard_legacy.h diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h index ace350e0e83..8767ab817c1 100644 --- a/include/hw/sd/sd.h +++ b/include/hw/sd/sd.h @@ -136,22 +136,6 @@ typedef struct { void (*set_readonly)(DeviceState *dev, bool readonly); } SDBusClass; =20 -/* Legacy functions to be used only by non-qdevified callers */ -SDState *sd_init(BlockBackend *bs, bool is_spi); -int sd_do_command(SDState *sd, SDRequest *req, - uint8_t *response); -void sd_write_data(SDState *sd, uint8_t value); -uint8_t sd_read_data(SDState *sd); -void sd_set_cb(SDState *sd, qemu_irq readonly, qemu_irq insert); -/* sd_enable should not be used -- it is only used on the nseries boards, - * where it is part of a broken implementation of the MMC card slot switch - * (there should be two card slots which are multiplexed to a single MMC - * controller, but instead we model it with one card and controller and - * disable the card when the second slot is selected, so it looks like the - * second slot is always empty). - */ -void sd_enable(SDState *sd, bool enable); - /* Functions to be used by qdevified callers (working via * an SDBus rather than directly with SDState) */ diff --git a/include/hw/sd/sdcard_legacy.h b/include/hw/sd/sdcard_legacy.h new file mode 100644 index 00000000000..8681f8089ba --- /dev/null +++ b/include/hw/sd/sdcard_legacy.h @@ -0,0 +1,50 @@ +/* + * SD Memory Card emulation (deprecated legacy API) + * + * Copyright (c) 2006 Andrzej Zaborowski + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef HW_SDCARD_LEGACY_H +#define HW_SDCARD_LEGACY_H + +#include "hw/sd/sd.h" + +/* Legacy functions to be used only by non-qdevified callers */ +SDState *sd_init(BlockBackend *blk, bool is_spi); +int sd_do_command(SDState *card, SDRequest *request, uint8_t *response); +void sd_write_data(SDState *card, uint8_t value); +uint8_t sd_read_data(SDState *card); +void sd_set_cb(SDState *card, qemu_irq readonly, qemu_irq insert); + +/* sd_enable should not be used -- it is only used on the nseries boards, + * where it is part of a broken implementation of the MMC card slot switch + * (there should be two card slots which are multiplexed to a single MMC + * controller, but instead we model it with one card and controller and + * disable the card when the second slot is selected, so it looks like the + * second slot is always empty). + */ +void sd_enable(SDState *card, bool enable); + +#endif /* HW_SDCARD_LEGACY_H */ diff --git a/hw/sd/omap_mmc.c b/hw/sd/omap_mmc.c index 4088a8a80bc..7d33c59226a 100644 --- a/hw/sd/omap_mmc.c +++ b/hw/sd/omap_mmc.c @@ -23,7 +23,7 @@ #include "qemu/log.h" #include "hw/irq.h" #include "hw/arm/omap.h" -#include "hw/sd/sd.h" +#include "hw/sd/sdcard_legacy.h" =20 struct omap_mmc_s { qemu_irq irq; diff --git a/hw/sd/sd.c b/hw/sd/sd.c index a5ae5dccbe5..5c6f5c94f3d 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -37,6 +37,7 @@ #include "hw/registerfields.h" #include "sysemu/block-backend.h" #include "hw/sd/sd.h" +#include "hw/sd/sdcard_legacy.h" #include "migration/vmstate.h" #include "qapi/error.h" #include "qemu/bitmap.h" --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031909; cv=none; d=zohomail.com; s=zohoarc; b=B3mQ/ywhWDYpI5mVml4DSYrzK7xe7XnV+gt/A2uQByftbOxcKuFbeRf76QfCxs4kiMP/f3Q2YLgxwx8qzZbqZMcKRaWEFH0LWcsKGi8zXUvAUOgYieuq6Rxkmhd0g4spzKm5UkNWh1hjuWYYQ0LZ3ZhsAGehnjqIRXw3DoLaBeI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031909; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=slnS/GfxccZ/mD5eYQpI17Cum8OBadJc/KQdBJcV6Z4=; b=ZwFf7Vq1NIAzZZ4o/OS2ZtFt4eBYi7TBGYybImmlce0XVkPuf+yy7oKs+DKaU9y19bHDCw2MFGJ0aU+ludV+b/W7zYOIQv3hcz0TzLLlKI0JUq/4FliVCMYEFnxWKRwiYyWwlgGU96GMuELV1gk/bP6tBUAQExGG4bZHsQOqJDo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031909323225.78391717538375; Fri, 21 Aug 2020 10:45:09 -0700 (PDT) Received: from localhost ([::1]:47250 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9B6C-0002ea-1T for importer@patchew.org; Fri, 21 Aug 2020 13:45:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57430) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArL-0001h1-GD; Fri, 21 Aug 2020 13:29:47 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:44716) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9ArI-0001E4-Py; Fri, 21 Aug 2020 13:29:47 -0400 Received: by mail-wr1-x42a.google.com with SMTP id c15so2627108wrs.11; Fri, 21 Aug 2020 10:29:43 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:41 -0700 (PDT) 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=slnS/GfxccZ/mD5eYQpI17Cum8OBadJc/KQdBJcV6Z4=; b=SdhJIdyZbJfQAuEFNAWAe5NO/u6ToD7rXzZJsmCfiNKZ8/+kki6Gz2GVLGcUh7CwPz vByRGycfCJTK6t6u96KgnZ+89fqcgzR/i/HvF7EHWzpboNvwh+zMF0E2Eb9BXL6b6kce gTbe9NtaCSj3yPzXPOwh5SH72VVUAvqD+Vgd7LGXeDh9j/u+6l3/3D9JnviQK9zXHJpq ywNOgdiHECIhIPyJna1P5zMID3M+qsPFk3O9nQqLM3c7bAVfBljsm3Ljiiguplk7Z09q NpXr2VDPJHcAOHmCkBeQFGPIWQyteuVvErahIbaAtThyjM4jWgR6Zo8b01ABtrmxFHVT 9Cnw== 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=slnS/GfxccZ/mD5eYQpI17Cum8OBadJc/KQdBJcV6Z4=; b=FwBtgwWTjQ5tqjD1kO85xpTsXi0l8U5NxQLzaqAKT+MqpLyxnZwCqVyi73WYZMmCLU oD1etMOJD7K2p6Lj1/Wr2fI05cToN24i1D+BZ2oV7H9G9djm3AxalBBs/y8DjYMaVYT6 EGsnhS3YUfXDaquu1ijf4JsXY9KW0xjPkOrcdscclN3iEST/Vjob5EEMd8X0+1ah5fET NIWhl4xPPnkSE7vqKn4HqZCq2pDvS2H1EMCmGN7w9nbMZ2K8JHPujjKs2M5+2PsJcIy2 aj5xyhjWeaoD1ZibnJF+pXRInGnkgMn/gCOLPyvzCY5IzNGKxg6a338p0B6aiPqakvtS ZaCA== X-Gm-Message-State: AOAM530mO2a+LYXSXppMP2D8amRec5GKIIvoRv7kydx9lSAN3pt4xMjy DEfCQUbR9UEWhIUOr4UrS99Z+M8j9bM= X-Google-Smtp-Source: ABdhPJwky+N09B5oo+mbFer6eatQ6NZCW51d0NhgPjQEE65pvr9P1d0NsSqptDO6+mXKj5emPsg09w== X-Received: by 2002:a5d:4e02:: with SMTP id p2mr3687252wrt.399.1598030982364; Fri, 21 Aug 2020 10:29:42 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 15/23] hw/sd: Rename read/write_data() as read/write_byte() Date: Fri, 21 Aug 2020 19:29:08 +0200 Message-Id: <20200821172916.1260954-16-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x42a.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) The read/write_data() methods write do a single byte access on the data line of a SD card. Rename them as read/write_byte(). Add some documentation (not in "hw/sd/sdcard_legacy.h" which we are going to remove soon). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20200814092346.21825-2-f4bug@amsat.org> --- include/hw/sd/sd.h | 19 +++++++++++++++++-- include/hw/sd/sdcard_legacy.h | 4 ++-- hw/sd/core.c | 4 ++-- hw/sd/omap_mmc.c | 8 ++++---- hw/sd/sd.c | 16 ++++++++-------- 5 files changed, 33 insertions(+), 18 deletions(-) diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h index 8767ab817c1..b58b5a19afe 100644 --- a/include/hw/sd/sd.h +++ b/include/hw/sd/sd.h @@ -104,8 +104,23 @@ typedef struct { /*< public >*/ =20 int (*do_command)(SDState *sd, SDRequest *req, uint8_t *response); - void (*write_data)(SDState *sd, uint8_t value); - uint8_t (*read_data)(SDState *sd); + /** + * Write a byte to a SD card. + * @sd: card + * @value: byte to write + * + * Write a byte on the data lines of a SD card. + */ + void (*write_byte)(SDState *sd, uint8_t value); + /** + * Read a byte from a SD card. + * @sd: card + * + * Read a byte from the data lines of a SD card. + * + * Return: byte value read + */ + uint8_t (*read_byte)(SDState *sd); bool (*data_ready)(SDState *sd); void (*set_voltage)(SDState *sd, uint16_t millivolts); uint8_t (*get_dat_lines)(SDState *sd); diff --git a/include/hw/sd/sdcard_legacy.h b/include/hw/sd/sdcard_legacy.h index 8681f8089ba..0dc38895551 100644 --- a/include/hw/sd/sdcard_legacy.h +++ b/include/hw/sd/sdcard_legacy.h @@ -34,8 +34,8 @@ /* Legacy functions to be used only by non-qdevified callers */ SDState *sd_init(BlockBackend *blk, bool is_spi); int sd_do_command(SDState *card, SDRequest *request, uint8_t *response); -void sd_write_data(SDState *card, uint8_t value); -uint8_t sd_read_data(SDState *card); +void sd_write_byte(SDState *card, uint8_t value); +uint8_t sd_read_byte(SDState *card); void sd_set_cb(SDState *card, qemu_irq readonly, qemu_irq insert); =20 /* sd_enable should not be used -- it is only used on the nseries boards, diff --git a/hw/sd/core.c b/hw/sd/core.c index abec48bccb8..79d96576ead 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -110,7 +110,7 @@ void sdbus_write_data(SDBus *sdbus, uint8_t value) if (card) { SDCardClass *sc =3D SD_CARD_GET_CLASS(card); =20 - sc->write_data(card, value); + sc->write_byte(card, value); } } =20 @@ -122,7 +122,7 @@ uint8_t sdbus_read_data(SDBus *sdbus) if (card) { SDCardClass *sc =3D SD_CARD_GET_CLASS(card); =20 - value =3D sc->read_data(card); + value =3D sc->read_byte(card); } trace_sdbus_read(sdbus_name(sdbus), value); =20 diff --git a/hw/sd/omap_mmc.c b/hw/sd/omap_mmc.c index 7d33c59226a..1f946908fe1 100644 --- a/hw/sd/omap_mmc.c +++ b/hw/sd/omap_mmc.c @@ -232,10 +232,10 @@ static void omap_mmc_transfer(struct omap_mmc_s *host) if (host->fifo_len > host->af_level) break; =20 - value =3D sd_read_data(host->card); + value =3D sd_read_byte(host->card); host->fifo[(host->fifo_start + host->fifo_len) & 31] =3D value; if (-- host->blen_counter) { - value =3D sd_read_data(host->card); + value =3D sd_read_byte(host->card); host->fifo[(host->fifo_start + host->fifo_len) & 31] |=3D value << 8; host->blen_counter --; @@ -247,10 +247,10 @@ static void omap_mmc_transfer(struct omap_mmc_s *host) break; =20 value =3D host->fifo[host->fifo_start] & 0xff; - sd_write_data(host->card, value); + sd_write_byte(host->card, value); if (-- host->blen_counter) { value =3D host->fifo[host->fifo_start] >> 8; - sd_write_data(host->card, value); + sd_write_byte(host->card, value); host->blen_counter --; } =20 diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 5c6f5c94f3d..7c9d956f113 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1809,7 +1809,7 @@ static void sd_blk_write(SDState *sd, uint64_t addr, = uint32_t len) #define APP_READ_BLOCK(a, len) memset(sd->data, 0xec, len) #define APP_WRITE_BLOCK(a, len) =20 -void sd_write_data(SDState *sd, uint8_t value) +void sd_write_byte(SDState *sd, uint8_t value) { int i; =20 @@ -1818,7 +1818,7 @@ void sd_write_data(SDState *sd, uint8_t value) =20 if (sd->state !=3D sd_receivingdata_state) { qemu_log_mask(LOG_GUEST_ERROR, - "sd_write_data: not in Receiving-Data state\n"); + "%s: not in Receiving-Data state\n", __func__); return; } =20 @@ -1940,7 +1940,7 @@ void sd_write_data(SDState *sd, uint8_t value) break; =20 default: - qemu_log_mask(LOG_GUEST_ERROR, "sd_write_data: unknown command\n"); + qemu_log_mask(LOG_GUEST_ERROR, "%s: unknown command\n", __func__); break; } } @@ -1959,7 +1959,7 @@ static const uint8_t sd_tuning_block_pattern[SD_TUNIN= G_BLOCK_SIZE] =3D { 0xbb, 0xff, 0xf7, 0xff, 0xf7, 0x7f, 0x7b, 0xde, }; =20 -uint8_t sd_read_data(SDState *sd) +uint8_t sd_read_byte(SDState *sd) { /* TODO: Append CRCs */ uint8_t ret; @@ -1970,7 +1970,7 @@ uint8_t sd_read_data(SDState *sd) =20 if (sd->state !=3D sd_sendingdata_state) { qemu_log_mask(LOG_GUEST_ERROR, - "sd_read_data: not in Sending-Data state\n"); + "%s: not in Sending-Data state\n", __func__); return 0x00; } =20 @@ -2076,7 +2076,7 @@ uint8_t sd_read_data(SDState *sd) break; =20 default: - qemu_log_mask(LOG_GUEST_ERROR, "sd_read_data: unknown command\n"); + qemu_log_mask(LOG_GUEST_ERROR, "%s: unknown command\n", __func__); return 0x00; } =20 @@ -2192,8 +2192,8 @@ static void sd_class_init(ObjectClass *klass, void *d= ata) sc->get_dat_lines =3D sd_get_dat_lines; sc->get_cmd_line =3D sd_get_cmd_line; sc->do_command =3D sd_do_command; - sc->write_data =3D sd_write_data; - sc->read_data =3D sd_read_data; + sc->write_byte =3D sd_write_byte; + sc->read_byte =3D sd_read_byte; sc->data_ready =3D sd_data_ready; sc->enable =3D sd_enable; sc->get_inserted =3D sd_get_inserted; --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1598031787; cv=none; d=zohomail.com; s=zohoarc; b=R2rXGIWxUwtL0i+6qsUDV5YkhMF2Q3ZPTGhMU7MWIVLzSK/+ZNMCAKKRgguC2FASLuUs7pfBWc0B/AplkEnFPS65aJv+P0xjN5UDRvApbNoryVre86LhOFRguPuApOMw2gMjN4lyOhAHrkzo95pU5p1Aav/i4EtaHZj+Q8K2/LY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031787; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=HEwX79oo8D7n/oZUencYO6rP85LqJ2NQ5PmlyfVwwIE=; b=YzAvnPQmvEMuLr2nUX5LtNzP0rSGqQhZDSzrL3P07EBxTaQ/xgQo6jUCy8vNdZlMhAMBPOu/eI2aqqC5W5US/KM+UnWV/0MyagEuXkQ6qJL/QnM2YKU/qirNthZmGKOkAxzH8N8aYqdhac67kgskfM/5UfikTaKEUkkIGFDBQ3U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031787629775.9473674889425; Fri, 21 Aug 2020 10:43:07 -0700 (PDT) Received: from localhost ([::1]:40160 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9B4E-00086v-AI for importer@patchew.org; Fri, 21 Aug 2020 13:43:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57490) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArN-0001ij-EO; Fri, 21 Aug 2020 13:29:49 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:39451) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9ArL-0001EQ-8s; Fri, 21 Aug 2020 13:29:49 -0400 Received: by mail-wr1-x430.google.com with SMTP id a5so2656454wrm.6; Fri, 21 Aug 2020 10:29:45 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:43 -0700 (PDT) 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=HEwX79oo8D7n/oZUencYO6rP85LqJ2NQ5PmlyfVwwIE=; b=OcTQNH9S1Lompx5HoQZj6DQH1bKC6QNN30kM2SLDoF3vL0MLI9KrjvBmla1PIv/gqu gYPM4hL78cUXKtqea0i69sLFg252dmfu1TDbvRrJmUU5CcurUPYGV4VYH0Zd5/L1T8MS d0/jpTQiZ/0dLZkao3O0LzEmBpMLQKEVNh2eaH0HCxXOz83onV+zpEibgrU6fVof6edk mCsf29RjRHFpQggm/ssxva9P92yKiOYpu+rwDg/syqo7rYZ4OMApl7sYfJhQ/tpBKQZp RU1MrNZ0BFEFORLXT5nZ3lR+p3I9w/3XU1iGPkQwr4DFDSn23VIATPQGaR55Ll55tcA8 bwUw== 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=HEwX79oo8D7n/oZUencYO6rP85LqJ2NQ5PmlyfVwwIE=; b=LQDLcErY1z/ODYyZqFlY0hpm81W/Jrkf1JdZvc3ORviFpVq880njI3JyQIDQqr/fBp vDXiIAgvL35BvenwVy7BrbN8iHaneSrb6KnF1pJlZKsnqD5lWHyVTXQeEvkZdVyclnN0 HBCyRrHns22mhtZYl1C371ROX0qhlo/suWmUIy3rSanFx2/otwEbkWWpbZ6nVYCE+1EH RgKnw3qn+CsfKKvzyC9CxyYZpeUlEshlxFJT8gL1uY8hdKRZP4xqZlwSpovNn8wrMgrI L2HI2KcHRjKKncSiQba3c/1sB+wOCDbJwqa9W1WSyJaDcjewvxpEhJZEye77p9WHqO67 Scvw== X-Gm-Message-State: AOAM530cAG3pq6q0lIYFBvwxc5RZa7oZPw9z7Dp674rQLC6CSTGcY9uf IprvDQymuEDBiAiBSlusfLsFDNo0jMs= X-Google-Smtp-Source: ABdhPJxkJL+KUn1JgAXaH10ibQ8TDhJ1vAVUUlQGnWsEQ+TviIwXo6Usfsr4zY/sWAmXbAigCBatxA== X-Received: by 2002:adf:ed49:: with SMTP id u9mr3604205wro.408.1598030983806; Fri, 21 Aug 2020 10:29:43 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 16/23] hw/sd: Rename sdbus_write_data() as sdbus_write_byte() Date: Fri, 21 Aug 2020 19:29:09 +0200 Message-Id: <20200821172916.1260954-17-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x430.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) The sdbus_write_data() method do a single byte access on the data line of a SD bus. Rename it as sdbus_write_byte() and document it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20200814092346.21825-3-f4bug@amsat.org> --- include/hw/sd/sd.h | 9 ++++++++- hw/sd/allwinner-sdhost.c | 10 +++++----- hw/sd/bcm2835_sdhost.c | 2 +- hw/sd/core.c | 2 +- hw/sd/milkymist-memcard.c | 8 ++++---- hw/sd/pl181.c | 2 +- hw/sd/pxa2xx_mmci.c | 2 +- hw/sd/sdhci.c | 8 ++++---- 8 files changed, 25 insertions(+), 18 deletions(-) diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h index b58b5a19afe..1e5ac955d05 100644 --- a/include/hw/sd/sd.h +++ b/include/hw/sd/sd.h @@ -158,7 +158,14 @@ void sdbus_set_voltage(SDBus *sdbus, uint16_t millivol= ts); uint8_t sdbus_get_dat_lines(SDBus *sdbus); bool sdbus_get_cmd_line(SDBus *sdbus); int sdbus_do_command(SDBus *sd, SDRequest *req, uint8_t *response); -void sdbus_write_data(SDBus *sd, uint8_t value); +/** + * Write a byte to a SD bus. + * @sd: bus + * @value: byte to write + * + * Write a byte on the data lines of a SD bus. + */ +void sdbus_write_byte(SDBus *sd, uint8_t value); uint8_t sdbus_read_data(SDBus *sd); bool sdbus_data_ready(SDBus *sd); bool sdbus_get_inserted(SDBus *sd); diff --git a/hw/sd/allwinner-sdhost.c b/hw/sd/allwinner-sdhost.c index f404e1fdb45..e05e8a3864c 100644 --- a/hw/sd/allwinner-sdhost.c +++ b/hw/sd/allwinner-sdhost.c @@ -335,7 +335,7 @@ static uint32_t allwinner_sdhost_process_desc(AwSdHostS= tate *s, buf, buf_bytes); =20 for (uint32_t i =3D 0; i < buf_bytes; i++) { - sdbus_write_data(&s->sdbus, buf[i]); + sdbus_write_byte(&s->sdbus, buf[i]); } =20 /* Read from SD bus */ @@ -654,10 +654,10 @@ static void allwinner_sdhost_write(void *opaque, hwad= dr offset, s->startbit_detect =3D value; break; case REG_SD_FIFO: /* Read/Write FIFO */ - sdbus_write_data(&s->sdbus, value & 0xff); - sdbus_write_data(&s->sdbus, (value >> 8) & 0xff); - sdbus_write_data(&s->sdbus, (value >> 16) & 0xff); - sdbus_write_data(&s->sdbus, (value >> 24) & 0xff); + sdbus_write_byte(&s->sdbus, value & 0xff); + sdbus_write_byte(&s->sdbus, (value >> 8) & 0xff); + sdbus_write_byte(&s->sdbus, (value >> 16) & 0xff); + sdbus_write_byte(&s->sdbus, (value >> 24) & 0xff); allwinner_sdhost_update_transfer_cnt(s, sizeof(uint32_t)); allwinner_sdhost_auto_stop(s); allwinner_sdhost_update_irq(s); diff --git a/hw/sd/bcm2835_sdhost.c b/hw/sd/bcm2835_sdhost.c index 4a80fbcc861..16aba7cc92b 100644 --- a/hw/sd/bcm2835_sdhost.c +++ b/hw/sd/bcm2835_sdhost.c @@ -223,7 +223,7 @@ static void bcm2835_sdhost_fifo_run(BCM2835SDHostState = *s) } n--; s->datacnt--; - sdbus_write_data(&s->sdbus, value & 0xff); + sdbus_write_byte(&s->sdbus, value & 0xff); value >>=3D 8; } } diff --git a/hw/sd/core.c b/hw/sd/core.c index 79d96576ead..13b5ca03169 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -102,7 +102,7 @@ int sdbus_do_command(SDBus *sdbus, SDRequest *req, uint= 8_t *response) return 0; } =20 -void sdbus_write_data(SDBus *sdbus, uint8_t value) +void sdbus_write_byte(SDBus *sdbus, uint8_t value) { SDState *card =3D get_card(sdbus); =20 diff --git a/hw/sd/milkymist-memcard.c b/hw/sd/milkymist-memcard.c index e9f5db5e22d..4128109c047 100644 --- a/hw/sd/milkymist-memcard.c +++ b/hw/sd/milkymist-memcard.c @@ -209,10 +209,10 @@ static void memcard_write(void *opaque, hwaddr addr, = uint64_t value, if (!s->enabled) { break; } - sdbus_write_data(&s->sdbus, (value >> 24) & 0xff); - sdbus_write_data(&s->sdbus, (value >> 16) & 0xff); - sdbus_write_data(&s->sdbus, (value >> 8) & 0xff); - sdbus_write_data(&s->sdbus, value & 0xff); + sdbus_write_byte(&s->sdbus, (value >> 24) & 0xff); + sdbus_write_byte(&s->sdbus, (value >> 16) & 0xff); + sdbus_write_byte(&s->sdbus, (value >> 8) & 0xff); + sdbus_write_byte(&s->sdbus, value & 0xff); break; case R_ENABLE: s->regs[addr] =3D value; diff --git a/hw/sd/pl181.c b/hw/sd/pl181.c index 574500ce600..771bae193f5 100644 --- a/hw/sd/pl181.c +++ b/hw/sd/pl181.c @@ -244,7 +244,7 @@ static void pl181_fifo_run(PL181State *s) } n--; s->datacnt--; - sdbus_write_data(&s->sdbus, value & 0xff); + sdbus_write_byte(&s->sdbus, value & 0xff); value >>=3D 8; } } diff --git a/hw/sd/pxa2xx_mmci.c b/hw/sd/pxa2xx_mmci.c index 2996a2ef177..07ddc2eba3e 100644 --- a/hw/sd/pxa2xx_mmci.c +++ b/hw/sd/pxa2xx_mmci.c @@ -184,7 +184,7 @@ static void pxa2xx_mmci_fifo_update(PXA2xxMMCIState *s) =20 if (s->cmdat & CMDAT_WR_RD) { while (s->bytesleft && s->tx_len) { - sdbus_write_data(&s->sdbus, s->tx_fifo[s->tx_start++]); + sdbus_write_byte(&s->sdbus, s->tx_fifo[s->tx_start++]); s->tx_start &=3D 0x1f; s->tx_len --; s->bytesleft --; diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index deac1818650..4bf1ee88b2a 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -515,7 +515,7 @@ static void sdhci_write_block_to_card(SDHCIState *s) } =20 for (index =3D 0; index < (s->blksize & BLOCK_SIZE_MASK); index++) { - sdbus_write_data(&s->sdbus, s->fifo_buffer[index]); + sdbus_write_byte(&s->sdbus, s->fifo_buffer[index]); } =20 /* Next data can be written through BUFFER DATORT register */ @@ -642,7 +642,7 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState= *s) s->sdmasysad +=3D s->data_count - begin; if (s->data_count =3D=3D block_size) { for (n =3D 0; n < block_size; n++) { - sdbus_write_data(&s->sdbus, s->fifo_buffer[n]); + sdbus_write_byte(&s->sdbus, s->fifo_buffer[n]); } s->data_count =3D 0; if (s->trnmod & SDHC_TRNS_BLK_CNT_EN) { @@ -679,7 +679,7 @@ static void sdhci_sdma_transfer_single_block(SDHCIState= *s) } else { 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]); + sdbus_write_byte(&s->sdbus, s->fifo_buffer[n]); } } s->blkcnt--; @@ -815,7 +815,7 @@ static void sdhci_do_adma(SDHCIState *s) dscr.addr +=3D s->data_count - begin; if (s->data_count =3D=3D block_size) { for (n =3D 0; n < block_size; n++) { - sdbus_write_data(&s->sdbus, s->fifo_buffer[n]); + sdbus_write_byte(&s->sdbus, s->fifo_buffer[n]); } s->data_count =3D 0; if (s->trnmod & SDHC_TRNS_BLK_CNT_EN) { --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031899; cv=none; d=zohomail.com; s=zohoarc; b=PDBvvofYD12Pk7AegP839KdUlFvaeT2g1+4Lnb3wcmb3iQxHy7tvrXKo83JPzJK9ZycuKHaFCs97/643vOJDxP2NQC97opdvCn9FvnyjSeyO6dL+quJYT5AQdC+jBVoaSi+cKOm8a1qzoxgVMRJO+m0hmFdBNCwktVqt3QME3mY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031899; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=adI/YavBgi2qoodwO44IjMe4dKZqce82IasdICJ8F9M=; b=T+ZjEe8GI8sOPjDBDLHaNUx7F6ITx0ieZdSighakoIIN7crUXLB6AZ+j+hIXitYpALgTXJZ59ha5ly1g/jCzb4WgSbD5KWrH2sMuDZY9G7z0kLwtdLoQFSdjJWtsZQ3Av8dGRYkVSX7In9GDkYXiAu5Z2A5KQ2rc0z01mPQVqBY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031898972396.83518708362; Fri, 21 Aug 2020 10:44:58 -0700 (PDT) Received: from localhost ([::1]:46542 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9B61-0002Ms-LT for importer@patchew.org; Fri, 21 Aug 2020 13:44:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57494) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArN-0001j6-Qm; Fri, 21 Aug 2020 13:29:50 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:40829) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9ArL-0001Eo-VG; Fri, 21 Aug 2020 13:29:49 -0400 Received: by mail-wm1-x343.google.com with SMTP id k20so2552630wmi.5; Fri, 21 Aug 2020 10:29:46 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:44 -0700 (PDT) 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=adI/YavBgi2qoodwO44IjMe4dKZqce82IasdICJ8F9M=; b=KIQUhZk9+qo960TP9tPKu4RDi5n6B2i7iWqBTvFLR+x3oav3oOd/fAr9mbp3YJROdd r4IwCAXIRPJUWrG6Nc8YLo2AnzxiWCIS/NWc+3rhU9fz5OFc40NaesLpjq+zxIIkLjAb guTjks7sXET5cfv7lb3MWvkWqa3X9RYDBsM12Zw9v98757pl4l2R94PlqV06FoXy8pwH J+YrXC2SvxpKT0pJrlsLQiJTMhpmgK4C7WngkM50msuIRsZgjBH3fvs5cXJKndoPS1MT PmVLU8vTN9YB56agqyTis/XwABGgj9ruMGJttm1cLWX9JAS/4vphN/vIoSkgcTF/L0C5 kRAg== 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=adI/YavBgi2qoodwO44IjMe4dKZqce82IasdICJ8F9M=; b=ObgQ2RdVszJU/wgUdUGZZsc9GU2H84mZ9yK+DDIWBjag6niQkHGTuSEtKnTuj8wef4 KciYWaX1aqDBCG5uysS5rKk2hPs0kZpKpDHNJ674aNLN0HaHdCrIcnVfetOdUllhn8ux MVsn8af+kGASsZ+StPvrQHkP2hxAgyePyknYmm1hb7Hz3Q3YNxgNo3/YubDNp0oHpi+m XPFcBLZIdkVDMC1tRf299FMb/KeXsury67+yi4P4JTzfGh3IpTf64ecOwdYnFvoO3SvW x1z1d3nH5MxETNiHA9k2bGJDuh8/jtrtzJYWRyiVnJip8qDKDk4w4/wozzqtrtcNRXa3 n9Sw== X-Gm-Message-State: AOAM530Tn+krv3FnVpnKtJHsN1EW5ibV2rpHhBVQPOrUcARdbdCmKAws xo8HOrsKRVWXdJyJmIPY1CaAFABNBW4= X-Google-Smtp-Source: ABdhPJznC659IiREBjZWjQ71nrYI/b7RKqXsDNkbqxt3OsaimmJ5Hd1Cm+Z6UYUX9Q8BununvL5nVg== X-Received: by 2002:a7b:c4d9:: with SMTP id g25mr4679961wmk.135.1598030985441; Fri, 21 Aug 2020 10:29:45 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 17/23] hw/sd: Rename sdbus_read_data() as sdbus_read_byte() Date: Fri, 21 Aug 2020 19:29:10 +0200 Message-Id: <20200821172916.1260954-18-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::343; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x343.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) The sdbus_read_data() method do a single byte access on the data line of a SD bus. Rename it as sdbus_read_byte() and document it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20200814092346.21825-4-f4bug@amsat.org> --- include/hw/sd/sd.h | 10 +++++++++- hw/sd/allwinner-sdhost.c | 10 +++++----- hw/sd/bcm2835_sdhost.c | 2 +- hw/sd/core.c | 2 +- hw/sd/milkymist-memcard.c | 8 ++++---- hw/sd/pl181.c | 2 +- hw/sd/pxa2xx_mmci.c | 2 +- hw/sd/sdhci.c | 8 ++++---- hw/sd/ssi-sd.c | 2 +- 9 files changed, 27 insertions(+), 19 deletions(-) diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h index 1e5ac955d05..14ffc7f4758 100644 --- a/include/hw/sd/sd.h +++ b/include/hw/sd/sd.h @@ -166,7 +166,15 @@ int sdbus_do_command(SDBus *sd, SDRequest *req, uint8_= t *response); * Write a byte on the data lines of a SD bus. */ void sdbus_write_byte(SDBus *sd, uint8_t value); -uint8_t sdbus_read_data(SDBus *sd); +/** + * Read a byte from a SD bus. + * @sd: bus + * + * Read a byte from the data lines of a SD bus. + * + * Return: byte value read + */ +uint8_t sdbus_read_byte(SDBus *sd); bool sdbus_data_ready(SDBus *sd); bool sdbus_get_inserted(SDBus *sd); bool sdbus_get_readonly(SDBus *sd); diff --git a/hw/sd/allwinner-sdhost.c b/hw/sd/allwinner-sdhost.c index e05e8a3864c..c004aa39da6 100644 --- a/hw/sd/allwinner-sdhost.c +++ b/hw/sd/allwinner-sdhost.c @@ -341,7 +341,7 @@ static uint32_t allwinner_sdhost_process_desc(AwSdHostS= tate *s, /* Read from SD bus */ } else { for (uint32_t i =3D 0; i < buf_bytes; i++) { - buf[i] =3D sdbus_read_data(&s->sdbus); + buf[i] =3D sdbus_read_byte(&s->sdbus); } cpu_physical_memory_write((desc->addr & DESC_SIZE_MASK) + num_= done, buf, buf_bytes); @@ -521,10 +521,10 @@ static uint64_t allwinner_sdhost_read(void *opaque, h= waddr offset, break; case REG_SD_FIFO: /* Read/Write FIFO */ if (sdbus_data_ready(&s->sdbus)) { - res =3D sdbus_read_data(&s->sdbus); - res |=3D sdbus_read_data(&s->sdbus) << 8; - res |=3D sdbus_read_data(&s->sdbus) << 16; - res |=3D sdbus_read_data(&s->sdbus) << 24; + res =3D sdbus_read_byte(&s->sdbus); + res |=3D sdbus_read_byte(&s->sdbus) << 8; + res |=3D sdbus_read_byte(&s->sdbus) << 16; + res |=3D sdbus_read_byte(&s->sdbus) << 24; allwinner_sdhost_update_transfer_cnt(s, sizeof(uint32_t)); allwinner_sdhost_auto_stop(s); allwinner_sdhost_update_irq(s); diff --git a/hw/sd/bcm2835_sdhost.c b/hw/sd/bcm2835_sdhost.c index 16aba7cc92b..2c7a675a2d8 100644 --- a/hw/sd/bcm2835_sdhost.c +++ b/hw/sd/bcm2835_sdhost.c @@ -190,7 +190,7 @@ static void bcm2835_sdhost_fifo_run(BCM2835SDHostState = *s) if (is_read) { n =3D 0; while (s->datacnt && s->fifo_len < BCM2835_SDHOST_FIFO_LEN) { - value |=3D (uint32_t)sdbus_read_data(&s->sdbus) << (n * 8); + value |=3D (uint32_t)sdbus_read_byte(&s->sdbus) << (n * 8); s->datacnt--; n++; if (n =3D=3D 4) { diff --git a/hw/sd/core.c b/hw/sd/core.c index 13b5ca03169..a3b620b802b 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -114,7 +114,7 @@ void sdbus_write_byte(SDBus *sdbus, uint8_t value) } } =20 -uint8_t sdbus_read_data(SDBus *sdbus) +uint8_t sdbus_read_byte(SDBus *sdbus) { SDState *card =3D get_card(sdbus); uint8_t value =3D 0; diff --git a/hw/sd/milkymist-memcard.c b/hw/sd/milkymist-memcard.c index 4128109c047..e8d055bb895 100644 --- a/hw/sd/milkymist-memcard.c +++ b/hw/sd/milkymist-memcard.c @@ -152,10 +152,10 @@ static uint64_t memcard_read(void *opaque, hwaddr add= r, r =3D 0xffffffff; } else { r =3D 0; - r |=3D sdbus_read_data(&s->sdbus) << 24; - r |=3D sdbus_read_data(&s->sdbus) << 16; - r |=3D sdbus_read_data(&s->sdbus) << 8; - r |=3D sdbus_read_data(&s->sdbus); + r |=3D sdbus_read_byte(&s->sdbus) << 24; + r |=3D sdbus_read_byte(&s->sdbus) << 16; + r |=3D sdbus_read_byte(&s->sdbus) << 8; + r |=3D sdbus_read_byte(&s->sdbus); } break; case R_CLK2XDIV: diff --git a/hw/sd/pl181.c b/hw/sd/pl181.c index 771bae193f5..579d68ad83e 100644 --- a/hw/sd/pl181.c +++ b/hw/sd/pl181.c @@ -223,7 +223,7 @@ static void pl181_fifo_run(PL181State *s) if (is_read) { n =3D 0; while (s->datacnt && s->fifo_len < PL181_FIFO_LEN) { - value |=3D (uint32_t)sdbus_read_data(&s->sdbus) << (n * 8); + value |=3D (uint32_t)sdbus_read_byte(&s->sdbus) << (n * 8); s->datacnt--; n++; if (n =3D=3D 4) { diff --git a/hw/sd/pxa2xx_mmci.c b/hw/sd/pxa2xx_mmci.c index 07ddc2eba3e..04f0a98f813 100644 --- a/hw/sd/pxa2xx_mmci.c +++ b/hw/sd/pxa2xx_mmci.c @@ -194,7 +194,7 @@ static void pxa2xx_mmci_fifo_update(PXA2xxMMCIState *s) } else while (s->bytesleft && s->rx_len < 32) { s->rx_fifo[(s->rx_start + (s->rx_len ++)) & 0x1f] =3D - sdbus_read_data(&s->sdbus); + sdbus_read_byte(&s->sdbus); s->bytesleft --; s->intreq |=3D INT_RXFIFO_REQ; } diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 4bf1ee88b2a..b897b1121b8 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -409,7 +409,7 @@ static void sdhci_read_block_from_card(SDHCIState *s) } =20 for (index =3D 0; index < blk_size; index++) { - data =3D sdbus_read_data(&s->sdbus); + data =3D sdbus_read_byte(&s->sdbus); if (!FIELD_EX32(s->hostctl2, SDHC_HOSTCTL2, EXECUTE_TUNING)) { /* Device is not in tuning */ s->fifo_buffer[index] =3D data; @@ -601,7 +601,7 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState= *s) while (s->blkcnt) { if (s->data_count =3D=3D 0) { for (n =3D 0; n < block_size; n++) { - s->fifo_buffer[n] =3D sdbus_read_data(&s->sdbus); + s->fifo_buffer[n] =3D sdbus_read_byte(&s->sdbus); } } begin =3D s->data_count; @@ -673,7 +673,7 @@ static void sdhci_sdma_transfer_single_block(SDHCIState= *s) =20 if (s->trnmod & SDHC_TRNS_READ) { for (n =3D 0; n < datacnt; n++) { - s->fifo_buffer[n] =3D sdbus_read_data(&s->sdbus); + s->fifo_buffer[n] =3D sdbus_read_byte(&s->sdbus); } dma_memory_write(s->dma_as, s->sdmasysad, s->fifo_buffer, datacnt); } else { @@ -774,7 +774,7 @@ static void sdhci_do_adma(SDHCIState *s) while (length) { if (s->data_count =3D=3D 0) { for (n =3D 0; n < block_size; n++) { - s->fifo_buffer[n] =3D sdbus_read_data(&s->sdbu= s); + s->fifo_buffer[n] =3D sdbus_read_byte(&s->sdbu= s); } } begin =3D s->data_count; diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c index 9210ef567f1..a7ef9cb9225 100644 --- a/hw/sd/ssi-sd.c +++ b/hw/sd/ssi-sd.c @@ -190,7 +190,7 @@ static uint32_t ssi_sd_transfer(SSISlave *dev, uint32_t= val) s->mode =3D SSI_SD_DATA_READ; return 0xfe; case SSI_SD_DATA_READ: - val =3D sdbus_read_data(&s->sdbus); + val =3D sdbus_read_byte(&s->sdbus); if (!sdbus_data_ready(&s->sdbus)) { DPRINTF("Data read end\n"); s->mode =3D SSI_SD_CMD; --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031495; cv=none; d=zohomail.com; s=zohoarc; b=BpdBb1APmbHIE37gQaR+LOrrNXenlCHdZ3iXGeDPsTTOgN/jdlem2jz+jW2OOby44SNZYhzO7CSEmR+SaJZ1NJYQSmYeizfIaW9M5pjFuBRs6MIn2aujT2QZ6CHKGXPGO0RZm/xYyaDQGs0DTVXthfaXieihZPCBUOmzyNlZMcU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031495; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=o8w6wmSgnQZxUMQrLBvgypybp2LPlBahTHmviCZweW0=; b=FJT5l5qm1aLg4Q3ZXyMQr1J/FXltr5sPucoQCcouClA+wFk0bcKEzEn5i583WDA43lMzHrI8LDLjKygxh3uYvajknAVLjrVy//+p2WTaqmQfIaA989UeLAATFn4xp6BOVx/vodgT0HWhw9mGqr6CRlpygVp1HI5X+Jsw3hNVh0Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031495085650.8961582199299; Fri, 21 Aug 2020 10:38:15 -0700 (PDT) Received: from localhost ([::1]:53056 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9AzV-0001eT-M3 for importer@patchew.org; Fri, 21 Aug 2020 13:38:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57506) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArP-0001la-AZ; Fri, 21 Aug 2020 13:29:51 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:39457) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9ArN-0001FA-Hm; Fri, 21 Aug 2020 13:29:50 -0400 Received: by mail-wr1-x436.google.com with SMTP id a5so2656579wrm.6; Fri, 21 Aug 2020 10:29:48 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:46 -0700 (PDT) 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=o8w6wmSgnQZxUMQrLBvgypybp2LPlBahTHmviCZweW0=; b=EIL+UrZNlIKBqKhjGZf6MOhXspOgCc3ooxC7sMWJRkDmEePPAr1jS/QHXyxaIu2lRk gyuVT023ZRD4zBBJTYoi7dQwj3gtMijgaMYxHUW/d7+yd/nKkEhFAY2lEjkuAHpwQsH4 TNLLdGTC/rK09EvsPW/+YMC1fuccCPVahAFcSOeAcvu/+6Rvp1w8gSFLE33XS+sG5F5Y dO+/aFMHeu2WtB9pawKr5oAqTs4EQ/tI99ur4bf08Yy/Lc0h3XYJzGy4oGokAACeTGmb evz5k8rebbUBhf/+9v9PJXKtHDTKfOD/rdkQT8OQJqDZpeuaHh8809Dj/U7otC+BQkYF 6png== 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=o8w6wmSgnQZxUMQrLBvgypybp2LPlBahTHmviCZweW0=; b=ZlvbPZVhBlnsaMftkbJYmJ3AMTYgzrHbcyk4W59cqZKZyeWczVptQ7FKbIQDaaaIEC 4OCQDnLt8FpzZ4nmB+Nm0UEaL7yvilUzChy3sS9ekbWUtp0vZUGiwhOVeL6wUyZhg564 f/Xi9/z7WvBAguVdCjFNTeYktb5cHEwI3wAA9EW9cyuVKFhmI1JtfhOVtfLHIFct7dG6 Zvwz+pYoxKa2uBIeebkebKeuw8kn4p2hJTP1hkjpI8AqqhvMvb8q+hQYK2Glzgv4F2cx w8HSQdGtD8V97Nh/5r6ny/rc4/+rdy6Jk3s+5PNKqdcVDUEfUb/4UpVeOfmp0SrJfhma 3FLA== X-Gm-Message-State: AOAM531RqHeuHF0DFiepW8cK/65G99p96x3lFUG+QOADK2IVdX0/QxaQ dBpxj9b9kVw5y6lJ8Q1OTLi9u4inJlg= X-Google-Smtp-Source: ABdhPJzv0mSHHRzhMj/j6X1Avbud4ktNPifKB+JNw77BFbmxxJmyW4EI7rkJOXUDGnndfyRa5MqD8Q== X-Received: by 2002:a5d:6a8d:: with SMTP id s13mr3899434wru.201.1598030986974; Fri, 21 Aug 2020 10:29:46 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 18/23] hw/sd: Add sdbus_write_data() to write multiples bytes on the data line Date: Fri, 21 Aug 2020 19:29:11 +0200 Message-Id: <20200821172916.1260954-19-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x436.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Add a sdbus_write_data() method to write multiple bytes on the data line of a SD bus. We might improve the tracing later, for now keep logging each byte individually. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20200814092346.21825-5-f4bug@amsat.org> --- include/hw/sd/sd.h | 9 +++++++++ hw/sd/core.c | 15 +++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h index 14ffc7f4758..3ae3e8939b3 100644 --- a/include/hw/sd/sd.h +++ b/include/hw/sd/sd.h @@ -175,6 +175,15 @@ void sdbus_write_byte(SDBus *sd, uint8_t value); * Return: byte value read */ uint8_t sdbus_read_byte(SDBus *sd); +/** + * Write data to a SD bus. + * @sdbus: bus + * @buf: data to write + * @length: number of bytes to write + * + * Write multiple bytes of data on the data lines of a SD bus. + */ +void sdbus_write_data(SDBus *sdbus, const void *buf, size_t length); bool sdbus_data_ready(SDBus *sd); bool sdbus_get_inserted(SDBus *sd); bool sdbus_get_readonly(SDBus *sd); diff --git a/hw/sd/core.c b/hw/sd/core.c index a3b620b802b..9c2781ebf96 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -114,6 +114,21 @@ void sdbus_write_byte(SDBus *sdbus, uint8_t value) } } =20 +void sdbus_write_data(SDBus *sdbus, const void *buf, size_t length) +{ + SDState *card =3D get_card(sdbus); + const uint8_t *data =3D buf; + + if (card) { + SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + + for (size_t i =3D 0; i < length; i++) { + trace_sdbus_write(sdbus_name(sdbus), data[i]); + sc->write_byte(card, data[i]); + } + } +} + uint8_t sdbus_read_byte(SDBus *sdbus) { SDState *card =3D get_card(sdbus); --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031664; cv=none; d=zohomail.com; s=zohoarc; b=XJCQvboQC9BxjLCH4LcNbfPLixHp/Wf+dZ+cSfQWl9euNpq8qMHxun1zIvtjBqHJlimryOA2ZUfLhQGCpx4huRti4HDPDgyqTmRLM47dGm1IBN8O0wd2dqkDh3p38Z7xFTe5H/y6dL/SoSLJV4cFz+qV7GjX2kDFx5bRhIxXXEU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031664; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=TqTIxuRtm4sptcwb0q3ps8yrfFdshkuOQSKdgdGLCbE=; b=EaY3KwWdKXEO7DxackMUn0RqVprSA/lQpfGSc7s/B2ceot2UR4a0cFRDib2lyneNnwqticxMcDlQzB79c4hFRx1ox+/XNOJlehrREtNxwaIl+2H4IA/4SnA/QdsCfTN92DOSGraWf0x+yNkNSI8Q/NIRRcdLTZYWSqN5HKRLXys= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 159803166410892.35025531954614; Fri, 21 Aug 2020 10:41:04 -0700 (PDT) Received: from localhost ([::1]:60898 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9B2E-0004v8-Kr for importer@patchew.org; Fri, 21 Aug 2020 13:41:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57524) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArQ-0001n2-PD; Fri, 21 Aug 2020 13:29:52 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:40828) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9ArO-0001Fq-ST; Fri, 21 Aug 2020 13:29:52 -0400 Received: by mail-wm1-x341.google.com with SMTP id k20so2552757wmi.5; Fri, 21 Aug 2020 10:29:49 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:47 -0700 (PDT) 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=TqTIxuRtm4sptcwb0q3ps8yrfFdshkuOQSKdgdGLCbE=; b=LVskKQevTLlpTWc7mgvJK1215ZYdYB1on62r85IKOsI0Arw31EzKNY4TOTuUYLgxJv dSam/nb8D4gFULetlU0LpNhG8PtdZ5y+vjGE3XuHfzyCQX7W7L9TKrApM0HErh0ft4jJ oaKuqx8a4C5FlgUyqDfSfKIFQNcrqTMCze4HvqACdYvMlQ4dOU7z/e1TwPWBlqMXCrk5 +b8dlBReEQKV62xCnMN6U6jjCwcIvs3YcFtuwhvVInrzMs6uLBiGtozdCCIyeoX+q4Dy N69k6F8StgTXRgsfsjfpby02Am7sYa2c0t+V7G0I3uO0RGUyq24ojuhF8FY6dQ+NscE4 T3Jw== 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=TqTIxuRtm4sptcwb0q3ps8yrfFdshkuOQSKdgdGLCbE=; b=ccwmipoP3J6wiXSjrMof3sVRxzA+bU5Bl++jk1fzTIQmgrOQF4j8/MObhj87qik7jR DI2+rCNr2FHX2SgQeP7RqvhqUueUKnZ2br8WAQrKuBXmki5VG3FmFc9c537o79ecs6bi u/lli3vz3BUlpd2nIvPTj7wh456Ess0Yvu23nTfVPbzv6+p4s5tzDZHclDp90Kufd2Jv 5wSdC2pn+L2tnndhlRmJSzF1yF/VcKiwN8LQgoKoVywLbBsKkarLl0PTdJFCE5evKdbN aKsyRUkTzhUojtgAG+4v/UUDBg8YBYyVrmnWEXe/CHomnAj/89wrmapTCwy7w0dqjDNh sdRw== X-Gm-Message-State: AOAM533Jdk9w1XiuYbMpcdFBZ9RmT76USDtzya0wW6YFCEQKYG/Fgfo8 2J7IvwsVOoq9+AKbs5O13FpqIoFd6uQ= X-Google-Smtp-Source: ABdhPJzylqp+5TD4ux4jfJqoHS7QooRigClosyRuRqdsn2UTsJYDImY8h0I56EAkbzPFvLKSP0Tkrw== X-Received: by 2002:a1c:2041:: with SMTP id g62mr4156856wmg.172.1598030988637; Fri, 21 Aug 2020 10:29:48 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 19/23] hw/sd: Use sdbus_write_data() instead of sdbus_write_byte when possible Date: Fri, 21 Aug 2020 19:29:12 +0200 Message-Id: <20200821172916.1260954-20-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::341; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x341.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Use the recently added sdbus_write_data() to write multiple bytes at once, instead of looping calling sdbus_write_byte(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20200814092346.21825-6-f4bug@amsat.org> --- hw/sd/allwinner-sdhost.c | 14 +++++--------- hw/sd/milkymist-memcard.c | 7 +++---- hw/sd/sdhci.c | 18 ++++-------------- 3 files changed, 12 insertions(+), 27 deletions(-) diff --git a/hw/sd/allwinner-sdhost.c b/hw/sd/allwinner-sdhost.c index c004aa39da6..eea5659c5f1 100644 --- a/hw/sd/allwinner-sdhost.c +++ b/hw/sd/allwinner-sdhost.c @@ -333,10 +333,7 @@ static uint32_t allwinner_sdhost_process_desc(AwSdHost= State *s, if (is_write) { cpu_physical_memory_read((desc->addr & DESC_SIZE_MASK) + num_d= one, buf, buf_bytes); - - for (uint32_t i =3D 0; i < buf_bytes; i++) { - sdbus_write_byte(&s->sdbus, buf[i]); - } + sdbus_write_data(&s->sdbus, buf, buf_bytes); =20 /* Read from SD bus */ } else { @@ -548,6 +545,7 @@ static void allwinner_sdhost_write(void *opaque, hwaddr= offset, uint64_t value, unsigned size) { AwSdHostState *s =3D AW_SDHOST(opaque); + uint32_t u32; =20 trace_allwinner_sdhost_write(offset, value, size); =20 @@ -654,11 +652,9 @@ static void allwinner_sdhost_write(void *opaque, hwadd= r offset, s->startbit_detect =3D value; break; case REG_SD_FIFO: /* Read/Write FIFO */ - sdbus_write_byte(&s->sdbus, value & 0xff); - sdbus_write_byte(&s->sdbus, (value >> 8) & 0xff); - sdbus_write_byte(&s->sdbus, (value >> 16) & 0xff); - sdbus_write_byte(&s->sdbus, (value >> 24) & 0xff); - allwinner_sdhost_update_transfer_cnt(s, sizeof(uint32_t)); + u32 =3D cpu_to_le32(value); + sdbus_write_data(&s->sdbus, &u32, sizeof(u32)); + allwinner_sdhost_update_transfer_cnt(s, sizeof(u32)); allwinner_sdhost_auto_stop(s); allwinner_sdhost_update_irq(s); break; diff --git a/hw/sd/milkymist-memcard.c b/hw/sd/milkymist-memcard.c index e8d055bb895..12e091a46e7 100644 --- a/hw/sd/milkymist-memcard.c +++ b/hw/sd/milkymist-memcard.c @@ -181,6 +181,7 @@ static void memcard_write(void *opaque, hwaddr addr, ui= nt64_t value, unsigned size) { MilkymistMemcardState *s =3D opaque; + uint32_t val32; =20 trace_milkymist_memcard_memory_write(addr, value); =20 @@ -209,10 +210,8 @@ static void memcard_write(void *opaque, hwaddr addr, u= int64_t value, if (!s->enabled) { break; } - sdbus_write_byte(&s->sdbus, (value >> 24) & 0xff); - sdbus_write_byte(&s->sdbus, (value >> 16) & 0xff); - sdbus_write_byte(&s->sdbus, (value >> 8) & 0xff); - sdbus_write_byte(&s->sdbus, value & 0xff); + val32 =3D cpu_to_be32(value); + sdbus_write_data(&s->sdbus, &val32, sizeof(val32)); break; case R_ENABLE: s->regs[addr] =3D value; diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index b897b1121b8..ddf36915619 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -496,8 +496,6 @@ static uint32_t sdhci_read_dataport(SDHCIState *s, unsi= gned size) /* Write data from host controller FIFO to card */ static void sdhci_write_block_to_card(SDHCIState *s) { - int index =3D 0; - if (s->prnsts & SDHC_SPACE_AVAILABLE) { if (s->norintstsen & SDHC_NISEN_WBUFRDY) { s->norintsts |=3D SDHC_NIS_WBUFRDY; @@ -514,9 +512,7 @@ static void sdhci_write_block_to_card(SDHCIState *s) } } =20 - for (index =3D 0; index < (s->blksize & BLOCK_SIZE_MASK); index++) { - sdbus_write_byte(&s->sdbus, s->fifo_buffer[index]); - } + sdbus_write_data(&s->sdbus, s->fifo_buffer, s->blksize & BLOCK_SIZE_MA= SK); =20 /* Next data can be written through BUFFER DATORT register */ s->prnsts |=3D SDHC_SPACE_AVAILABLE; @@ -641,9 +637,7 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState= *s) &s->fifo_buffer[begin], s->data_count - begin); s->sdmasysad +=3D s->data_count - begin; if (s->data_count =3D=3D block_size) { - for (n =3D 0; n < block_size; n++) { - sdbus_write_byte(&s->sdbus, s->fifo_buffer[n]); - } + sdbus_write_data(&s->sdbus, s->fifo_buffer, block_size); s->data_count =3D 0; if (s->trnmod & SDHC_TRNS_BLK_CNT_EN) { s->blkcnt--; @@ -678,9 +672,7 @@ static void sdhci_sdma_transfer_single_block(SDHCIState= *s) dma_memory_write(s->dma_as, s->sdmasysad, s->fifo_buffer, datacnt); } else { dma_memory_read(s->dma_as, s->sdmasysad, s->fifo_buffer, datacnt); - for (n =3D 0; n < datacnt; n++) { - sdbus_write_byte(&s->sdbus, s->fifo_buffer[n]); - } + sdbus_write_data(&s->sdbus, s->fifo_buffer, datacnt); } s->blkcnt--; =20 @@ -814,9 +806,7 @@ static void sdhci_do_adma(SDHCIState *s) s->data_count - begin); dscr.addr +=3D s->data_count - begin; if (s->data_count =3D=3D block_size) { - for (n =3D 0; n < block_size; n++) { - sdbus_write_byte(&s->sdbus, s->fifo_buffer[n]); - } + sdbus_write_data(&s->sdbus, s->fifo_buffer, block_= size); s->data_count =3D 0; if (s->trnmod & SDHC_TRNS_BLK_CNT_EN) { s->blkcnt--; --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598032037; cv=none; d=zohomail.com; s=zohoarc; b=CPgMPpUK2sYJkeAV9NYTfnWgmRcViM2feQkOhVe+BnR0i/n7PYo2VoLQg6Oney9SWjaHzndmMnBGEwa2/eWWB3kI1DSmjH6oNo7zbrZJvkwsByAtsRNqjmIWULXrG/CnAIwqpmxxajsXdEmiQFcd6MrXgte4xiB5anl+XCRoYLc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598032037; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=IZ0mmUXtbJnn9Ui7y/DaJV/VanYdeWJm2wImQIUXZuc=; b=UsOEzbLwllJbOyzEduP2+ks3Lh9hbKkMPCh6sESeMxhPwU3XAo2Hk7ziFZk3X4r7L5J/X+BnpSt3wf1QHQnJeDzmKsxJyW85WtlZEk1JezlLpOmCs/DWEwlB47rBjDSmAxtr8MMI9KUdkxbYgIwT7VuWOgr7ah0Rk9XgOnGd9i0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598032037019686.4601597833027; Fri, 21 Aug 2020 10:47:17 -0700 (PDT) Received: from localhost ([::1]:53860 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9B8F-0005RU-Nm for importer@patchew.org; Fri, 21 Aug 2020 13:47:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57548) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArS-0001og-5h; Fri, 21 Aug 2020 13:29:55 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:50812) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9ArQ-0001G5-Gy; Fri, 21 Aug 2020 13:29:53 -0400 Received: by mail-wm1-x342.google.com with SMTP id t2so2399504wma.0; Fri, 21 Aug 2020 10:29:51 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:49 -0700 (PDT) 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=IZ0mmUXtbJnn9Ui7y/DaJV/VanYdeWJm2wImQIUXZuc=; b=aS5vlcL8qehB+U2J50NH4eZyAOfZ+PhXUR22+pGkmktPjbaysW9ylCWg03AEvurp8v kYwbN9TDynqtBc4Zpg+9K6l55Hl5oldB/jP/4JqN7zRn2unptpoBaUAni7ucYd7KsN29 qmqSj/ykYwBOUdeahnwj4Y9QPta4jCWiTewboU5tGtsDxlXKCSTZfhZWWvx3vTjFnIGP LACFlNhVRnPyJlUX3jqMZ3W9m9AeFUIpuWgHWPdNRv1sRLfTI510aX2oxsFk5aqv1R/p v60C0i7HdsRRr4pLYOJl638AO4TRZ0ONhhgKfsKc6eZsprz07fKWRAZI5PK4cxNFtvV7 kMLw== 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=IZ0mmUXtbJnn9Ui7y/DaJV/VanYdeWJm2wImQIUXZuc=; b=Wj6Uk75awjAKBxNF/UpVLhgx4bdxvic/o7ivsAAaFVa9YuDuKY+K9NS/11GK0K+aj0 oUtO3eQjoUQJ4LbET4okEIuDHZHsU0hw80KGS/ce5Umada1wobauq2pPn5Pmy+WDB6A2 4tinVSL0A3M2nxnmrwUQmRt9rssiqQbIVax1fkD5tO1L8gje8LK0rWorvdiL9CW16Fpi H7mzXCefOXoR7NvmxF9WHFwMuk2r3K92yhq6M+F3sPK3SBkLbCt2E/8RKeljfHZH63YU MWcEBxsf3KW+BKLzSl+VHBlHcNfUO3fKBtNJO7rKb3qSpRcUSLA25Ppcf+Z8FVSpdRfg ZSug== X-Gm-Message-State: AOAM532t89XjvOGMdElHj/uarYCXNskXPcG2g1QwNL49NoB19XjH+/aT JAXfx/G9W5kYy0Pa1Cxaw3y+jFxjcEc= X-Google-Smtp-Source: ABdhPJyGmxM9LZBu923ZkZzMHsKZ5DdRdF3tc7MiDvx257PgTryKKwfLUPu2PaIkVQU0h723M/eH7A== X-Received: by 2002:a1c:6243:: with SMTP id w64mr4079410wmb.3.1598030990045; Fri, 21 Aug 2020 10:29:50 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 20/23] hw/sd: Add sdbus_read_data() to read multiples bytes on the data line Date: Fri, 21 Aug 2020 19:29:13 +0200 Message-Id: <20200821172916.1260954-21-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::342; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x342.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Add a sdbus_read_data() method to read multiple bytes on the data line of a SD bus. We might improve the tracing later, for now keep logging each byte individually. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20200814092346.21825-7-f4bug@amsat.org> --- include/hw/sd/sd.h | 9 +++++++++ hw/sd/core.c | 15 +++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h index 3ae3e8939b3..ac02d61a7a0 100644 --- a/include/hw/sd/sd.h +++ b/include/hw/sd/sd.h @@ -184,6 +184,15 @@ uint8_t sdbus_read_byte(SDBus *sd); * Write multiple bytes of data on the data lines of a SD bus. */ void sdbus_write_data(SDBus *sdbus, const void *buf, size_t length); +/** + * Read data from a SD bus. + * @sdbus: bus + * @buf: buffer to read data into + * @length: number of bytes to read + * + * Read multiple bytes of data on the data lines of a SD bus. + */ +void sdbus_read_data(SDBus *sdbus, void *buf, size_t length); bool sdbus_data_ready(SDBus *sd); bool sdbus_get_inserted(SDBus *sd); bool sdbus_get_readonly(SDBus *sd); diff --git a/hw/sd/core.c b/hw/sd/core.c index 9c2781ebf96..957d116f1a7 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -144,6 +144,21 @@ uint8_t sdbus_read_byte(SDBus *sdbus) return value; } =20 +void sdbus_read_data(SDBus *sdbus, void *buf, size_t length) +{ + SDState *card =3D get_card(sdbus); + uint8_t *data =3D buf; + + if (card) { + SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + + for (size_t i =3D 0; i < length; i++) { + data[i] =3D sc->read_byte(card); + trace_sdbus_read(sdbus_name(sdbus), data[i]); + } + } +} + bool sdbus_data_ready(SDBus *sdbus) { SDState *card =3D get_card(sdbus); --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031819; cv=none; d=zohomail.com; s=zohoarc; b=PWxeNRNRbIrnM/M1dXE9H7l6vk5FTDdan7mDZDEzDPjG9CgncvxpU8NIvoDV4Tm3/xmtO7CZ2DwTzQzo9sGpTMbhDKEpbNxxmsTiPbnC2e27tVDWCmQPPllwpNetB3GIGlHxZmOVAxqXP5d9An2VRBtvYhF40xs1MllJ+LULww4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031819; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=6RaWSIQ7O/kyP/fOVD7Nn9+SCTDuG1HapMmgzJ7Bipo=; b=f4+tOkCyMIDpITejFHpHQ4UXTSEj3wUzBcG5ptNZR+kn78N+L5fr2VkZW7w0xLsRId/9xDc4pVawDtn+WZ/GchuO+S0MUU9HEiJNSCnJAOQmbc22sBPzENgTVf/3juFX+lFnXV0OtkT7haySkRyjukLN3kI4tpiB6y8C7nFHqJ4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031819723101.62338652507799; Fri, 21 Aug 2020 10:43:39 -0700 (PDT) Received: from localhost ([::1]:42326 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9B4k-0000ZO-9o for importer@patchew.org; Fri, 21 Aug 2020 13:43:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57574) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArU-0001pl-1y; Fri, 21 Aug 2020 13:29:57 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:54394) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9ArR-0001GS-VA; Fri, 21 Aug 2020 13:29:55 -0400 Received: by mail-wm1-x344.google.com with SMTP id 83so2627896wme.4; Fri, 21 Aug 2020 10:29:52 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:51 -0700 (PDT) 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=6RaWSIQ7O/kyP/fOVD7Nn9+SCTDuG1HapMmgzJ7Bipo=; b=i8OYIYYC7csM7gn/RNMoizJuGOYwwf20rOa6BZk9AOfR99ekwncKC0BNxfMW5vhPSp J0zoHRZq7o7ysSblI4lg7uwvbpuw2/TQ8kkkHK+pJxsF1bdxRzQxBVYKE13gEt5fBTla 2cJ7ahIN6lQ7wIyiv5px3uonXfFcclKTN7vdKaHGAxz1npBuP2RFrlHTcxTsJOJ1y7jX K+KXt06UrYR7hDrTPznKwoGCB4nuC53z7BBd79PJ2HO6n432/7Zgw/rAgxrzVY0TZC+q 5M2euS7G42cY5DvO3nHAFX04Ud47yH7+QQ9AtGZ+bYcKh/Mp4ugSm4SuLFzz5AjS13ug hJfg== 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=6RaWSIQ7O/kyP/fOVD7Nn9+SCTDuG1HapMmgzJ7Bipo=; b=S6aU3/3wzftnpSAKvZB1Kkrs6H7cTZTRtR8dJ5h/toP6a+doRHjbpCsWJM/+IvlLrW L6wsT3Felmixo0iJdIacHt2IPi22tnojFvhn0+XlVjZ3AarW0m+cgtlE0Zzp59MDqfLE 9MHg9eWuYaeNeLrv/rXWQHOuBK8l3bze0NdQQpb6+qTAWv+sPxGt1HdXkI0ieNzy25/n aUDURrT7Zqg0/TNGPDrohh3O4xbg5Ex6NSQEDJU9qYaZNN7piT0ANdPnHsATXSDO01BT 06qW4Vu3lWN2A7RITd0q4+gx21VQAKrzkq7boyAgS7y/3Ym+qooHvw7FVPCSNLmBaiUR Z+mQ== X-Gm-Message-State: AOAM532DcSiYfmpHGjHNTwsiAQUrOI0fOD+9wsYlkDCl1dFWOoGrg/ZE Rq3l8Q8rqfVh3Z7p4X94Y9VTh8g1FoU= X-Google-Smtp-Source: ABdhPJx3jHbDSkrQ0GIo/BZ2/qIs2Bu11RRA7xBt01e2zx3nGsmkK+CYPHRAvBeFngDWEwVh494iTA== X-Received: by 2002:a1c:41c5:: with SMTP id o188mr4303845wma.187.1598030991628; Fri, 21 Aug 2020 10:29:51 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 21/23] hw/sd: Use sdbus_read_data() instead of sdbus_read_byte() when possible Date: Fri, 21 Aug 2020 19:29:14 +0200 Message-Id: <20200821172916.1260954-22-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::344; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x344.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Use the recently added sdbus_read_data() to read multiple bytes at once, instead of looping calling sdbus_read_byte(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20200814092346.21825-8-f4bug@amsat.org> --- hw/sd/allwinner-sdhost.c | 10 +++------- hw/sd/milkymist-memcard.c | 7 ++----- hw/sd/sdhci.c | 28 ++++++++-------------------- 3 files changed, 13 insertions(+), 32 deletions(-) diff --git a/hw/sd/allwinner-sdhost.c b/hw/sd/allwinner-sdhost.c index eea5659c5f1..f9eb92c09ed 100644 --- a/hw/sd/allwinner-sdhost.c +++ b/hw/sd/allwinner-sdhost.c @@ -337,9 +337,7 @@ static uint32_t allwinner_sdhost_process_desc(AwSdHostS= tate *s, =20 /* Read from SD bus */ } else { - for (uint32_t i =3D 0; i < buf_bytes; i++) { - buf[i] =3D sdbus_read_byte(&s->sdbus); - } + sdbus_read_data(&s->sdbus, buf, buf_bytes); cpu_physical_memory_write((desc->addr & DESC_SIZE_MASK) + num_= done, buf, buf_bytes); } @@ -518,10 +516,8 @@ static uint64_t allwinner_sdhost_read(void *opaque, hw= addr offset, break; case REG_SD_FIFO: /* Read/Write FIFO */ if (sdbus_data_ready(&s->sdbus)) { - res =3D sdbus_read_byte(&s->sdbus); - res |=3D sdbus_read_byte(&s->sdbus) << 8; - res |=3D sdbus_read_byte(&s->sdbus) << 16; - res |=3D sdbus_read_byte(&s->sdbus) << 24; + sdbus_read_data(&s->sdbus, &res, sizeof(uint32_t)); + le32_to_cpus(&res); allwinner_sdhost_update_transfer_cnt(s, sizeof(uint32_t)); allwinner_sdhost_auto_stop(s); allwinner_sdhost_update_irq(s); diff --git a/hw/sd/milkymist-memcard.c b/hw/sd/milkymist-memcard.c index 12e091a46e7..be89a938763 100644 --- a/hw/sd/milkymist-memcard.c +++ b/hw/sd/milkymist-memcard.c @@ -151,11 +151,8 @@ static uint64_t memcard_read(void *opaque, hwaddr addr, if (!s->enabled) { r =3D 0xffffffff; } else { - r =3D 0; - r |=3D sdbus_read_byte(&s->sdbus) << 24; - r |=3D sdbus_read_byte(&s->sdbus) << 16; - r |=3D sdbus_read_byte(&s->sdbus) << 8; - r |=3D sdbus_read_byte(&s->sdbus); + sdbus_read_data(&s->sdbus, &r, sizeof(r)); + be32_to_cpus(&r); } break; case R_CLK2XDIV: diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index ddf36915619..1785d7e1f79 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -399,8 +399,6 @@ static void sdhci_end_transfer(SDHCIState *s) /* Fill host controller's read buffer with BLKSIZE bytes of data from card= */ static void sdhci_read_block_from_card(SDHCIState *s) { - int index =3D 0; - uint8_t data; const uint16_t blk_size =3D s->blksize & BLOCK_SIZE_MASK; =20 if ((s->trnmod & SDHC_TRNS_MULTI) && @@ -408,12 +406,9 @@ static void sdhci_read_block_from_card(SDHCIState *s) return; } =20 - for (index =3D 0; index < blk_size; index++) { - data =3D sdbus_read_byte(&s->sdbus); - if (!FIELD_EX32(s->hostctl2, SDHC_HOSTCTL2, EXECUTE_TUNING)) { - /* Device is not in tuning */ - s->fifo_buffer[index] =3D data; - } + if (!FIELD_EX32(s->hostctl2, SDHC_HOSTCTL2, EXECUTE_TUNING)) { + /* Device is not in tuning */ + sdbus_read_data(&s->sdbus, s->fifo_buffer, blk_size); } =20 if (FIELD_EX32(s->hostctl2, SDHC_HOSTCTL2, EXECUTE_TUNING)) { @@ -574,7 +569,7 @@ static void sdhci_write_dataport(SDHCIState *s, uint32_= t value, unsigned size) static void sdhci_sdma_transfer_multi_blocks(SDHCIState *s) { bool page_aligned =3D false; - unsigned int n, begin; + unsigned int begin; const uint16_t block_size =3D s->blksize & BLOCK_SIZE_MASK; uint32_t boundary_chk =3D 1 << (((s->blksize & ~BLOCK_SIZE_MASK) >> 12= ) + 12); uint32_t boundary_count =3D boundary_chk - (s->sdmasysad % boundary_ch= k); @@ -596,9 +591,7 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState= *s) SDHC_DAT_LINE_ACTIVE; while (s->blkcnt) { if (s->data_count =3D=3D 0) { - for (n =3D 0; n < block_size; n++) { - s->fifo_buffer[n] =3D sdbus_read_byte(&s->sdbus); - } + sdbus_read_data(&s->sdbus, s->fifo_buffer, block_size); } begin =3D s->data_count; if (((boundary_count + begin) < block_size) && page_aligned) { @@ -662,13 +655,10 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCISta= te *s) /* single block SDMA transfer */ static void sdhci_sdma_transfer_single_block(SDHCIState *s) { - int n; uint32_t datacnt =3D s->blksize & BLOCK_SIZE_MASK; =20 if (s->trnmod & SDHC_TRNS_READ) { - for (n =3D 0; n < datacnt; n++) { - s->fifo_buffer[n] =3D sdbus_read_byte(&s->sdbus); - } + sdbus_read_data(&s->sdbus, s->fifo_buffer, datacnt); dma_memory_write(s->dma_as, s->sdmasysad, s->fifo_buffer, datacnt); } else { dma_memory_read(s->dma_as, s->sdmasysad, s->fifo_buffer, datacnt); @@ -731,7 +721,7 @@ static void get_adma_description(SDHCIState *s, ADMADes= cr *dscr) =20 static void sdhci_do_adma(SDHCIState *s) { - unsigned int n, begin, length; + unsigned int begin, length; const uint16_t block_size =3D s->blksize & BLOCK_SIZE_MASK; ADMADescr dscr =3D {}; int i; @@ -765,9 +755,7 @@ static void sdhci_do_adma(SDHCIState *s) if (s->trnmod & SDHC_TRNS_READ) { while (length) { if (s->data_count =3D=3D 0) { - for (n =3D 0; n < block_size; n++) { - s->fifo_buffer[n] =3D sdbus_read_byte(&s->sdbu= s); - } + sdbus_read_data(&s->sdbus, s->fifo_buffer, block_s= ize); } begin =3D s->data_count; if ((length + begin) < block_size) { --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598031937; cv=none; d=zohomail.com; s=zohoarc; b=nB/NxG64g9/WpausaWqrR0Om66n2igQzkaZE2yFnGrRiUW98kQtKr6AwNHy85m9yMtltvpoy+Lq3/V5WFNsf+oa3P0giZR9BHPsu3Y2WLsOKdKzh6YTYYgCNKBrQapDzX9uz0eG9LLvYhkriMLGTcuG6qASeVuSmbrrzUUdCHBI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598031937; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7MDjqCYoGN9RsgmgtLGjf6jZggXntu+eUZw2U4ch4n0=; b=c966oDnfFbg0+nigu/zmPKmpGjUyC9MfsgLPwUX7V1pm2/nmPsJbb+6IEo6AnBw2uGHDc5/S7Tj/nvEIN/tXxBd7JaEiexhcK2H9dg160Gt1l8eyspGKKHQIIV9aDRe84tGNG3VL+jOkbg1gstP5eogHqUFERLem+FaP/k2aNSc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1598031937941149.6323054449233; Fri, 21 Aug 2020 10:45:37 -0700 (PDT) Received: from localhost ([::1]:48670 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9B6e-0003Dg-Hy for importer@patchew.org; Fri, 21 Aug 2020 13:45:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57602) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArX-0001uO-6e; Fri, 21 Aug 2020 13:29:59 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:38062) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9ArU-0001Gw-CF; Fri, 21 Aug 2020 13:29:58 -0400 Received: by mail-wr1-x431.google.com with SMTP id w13so2335082wrk.5; Fri, 21 Aug 2020 10:29:54 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:52 -0700 (PDT) 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=7MDjqCYoGN9RsgmgtLGjf6jZggXntu+eUZw2U4ch4n0=; b=MW7F0ENTmRAsnb35u56Sy4I7+q5C1nGvAV68vJlxQAT2lLQcSrTDTLzTCMcDgxs84p wcd2WW24QQpd6254CONOUocMG3gt0ymPzcvfhGOwpIOBZpx9cxmBShRBrblh1ltCLFSv PhVTJxWDQyqja2yuhfN04Z3/7xwFve2UsI9NgFqluRF5TCTZ3EjBXLj+HOraG4Ezeswj QBjXkf3DWSnhIwIgkVYCzur/0f+eNMGthxmNpMj/n7Dl+KhY09WrCG9YBApxqDlkrMTu RaOL+Nje3k+k8ilR1kfSAnghsH7x+oajKFOdVhuvIVBWNs8xTCwu0NRrjhF666fhHIt+ peHg== 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=7MDjqCYoGN9RsgmgtLGjf6jZggXntu+eUZw2U4ch4n0=; b=ddSX3nzSU97/CB3QmVRGJcAEoGu99z1qjcb73jMFk/TIy4mZipm9Uq8mebMB/1UDHx dj9J7y6Iqf1yqLcF/Qpydm62XJcBk7UTqs66cTa3ScL8YiteXMccpFxXxdZqJ4jnlh2o VBW0o/ToHhF+3pUYLNRaxmV/3CSB5cLddAjnqAwVS3oBlsMdMyZQUjwCTzh030hnClXs NvzIcrr533rnjBU3s3Yexx52VKCQ5qIXcWu24OuaeqMkIIDeFRT0LxmVYM10qsM3nylO SnEBppTbuVDyLh2XRiM6VsCWmcaxKdb/JVdT4AZzPtVip/iJhucXpy8f2O/VFzY/caFe Cslw== X-Gm-Message-State: AOAM530UGvsYVZWKUwpA9gNXeN1uO9d9Kx+TjD9vHqJOdRQ+UsUBCXuP GLU3O2DtpCdI7CIOW2N8ifXXUtIg8CQ= X-Google-Smtp-Source: ABdhPJxBX/2wYha+rIGx/AQJx4hoy7a3lGS+JtbJLmoGscR0j9TxuodKjYsi+xtTrHwS2zRQ0kNT0A== X-Received: by 2002:adf:ab57:: with SMTP id r23mr1834762wrc.386.1598030993404; Fri, 21 Aug 2020 10:29:53 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 22/23] hw/sd: Fix incorrect populated function switch status data structure Date: Fri, 21 Aug 2020 19:29:15 +0200 Message-Id: <20200821172916.1260954-23-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x431.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, Sai Pavan Boddu , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Bin Meng , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Bin Meng At present the function switch status data structure bit [399:376] are wrongly pupulated. These 3 bytes encode function switch status for the 6 function groups, with 4 bits per group, starting from function group 6 at bit 399, then followed by function group 5 at bit 395, and so on. However the codes mistakenly fills in the function group 1 status at bit 399. This fixes the code logic. Fixes: a1bb27b1e9 ("SD card emulation (initial implementation)") Signed-off-by: Bin Meng Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Sai Pavan Boddu Message-Id: <1598021136-49525-1-git-send-email-bmeng.cn@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 7c9d956f113..805e21fc883 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -807,11 +807,12 @@ static void sd_function_switch(SDState *sd, uint32_t = arg) sd->data[11] =3D 0x43; sd->data[12] =3D 0x80; /* Supported group 1 functions */ sd->data[13] =3D 0x03; + for (i =3D 0; i < 6; i ++) { new_func =3D (arg >> (i * 4)) & 0x0f; if (mode && new_func !=3D 0x0f) sd->function_group[i] =3D new_func; - sd->data[14 + (i >> 1)] =3D new_func << ((i * 4) & 4); + sd->data[16 - (i >> 1)] |=3D new_func << ((i % 2) * 4); } memset(&sd->data[17], 0, 47); stw_be_p(sd->data + 64, sd_crc16(sd->data, 64)); --=20 2.26.2 From nobody Fri May 17 06:54:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1598032148; cv=none; d=zohomail.com; s=zohoarc; b=aPlJteH1vGSpda/cD515od3URJoxMZKePqxH6zsYLlYSlMkdfbT41jOuZRQe/PBfV9iL54ubpnN+kHCZilfwtjPxkkASRtHLs2s6reBq5KvvnbPIeuSE/0JuMw9g0Ald11bR4XGkqp9HfpMRR77Ed04UurN09H2MTOaIwWbL0kM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598032148; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=l6Svpz1zFgu3rW3hNJEs7xxdWfxftjayMdaBJY3QTHs=; b=LvWGKY1W/3PC0SlIc+gCQKFxL/PJvN72mx+2QovKzrvdsGuypgySFQt31APayvFHL1Ozi+8aIXbbq56wJUl7H0SQ4O5sa3DoLY/1lzeQsRM/b3y1aVBu0O1AFCy8nxLPZ7Em5ETQ5ZnvCmb+Ky18DdP/s0bSzLBJI9zUeSGFSNQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 159803214805288.49224386966273; Fri, 21 Aug 2020 10:49:08 -0700 (PDT) Received: from localhost ([::1]:59918 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k9BA2-00081C-IN for importer@patchew.org; Fri, 21 Aug 2020 13:49:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57606) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k9ArX-0001vT-Bx; Fri, 21 Aug 2020 13:29:59 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:40002) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k9ArV-0001H4-14; Fri, 21 Aug 2020 13:29:58 -0400 Received: by mail-wm1-x32d.google.com with SMTP id k20so2553034wmi.5; Fri, 21 Aug 2020 10:29:56 -0700 (PDT) Received: from localhost.localdomain (121.red-81-40-121.staticip.rima-tde.net. [81.40.121.121]) by smtp.gmail.com with ESMTPSA id 32sm5315471wrn.86.2020.08.21.10.29.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 10:29:54 -0700 (PDT) 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=l6Svpz1zFgu3rW3hNJEs7xxdWfxftjayMdaBJY3QTHs=; b=b/bdVI6BmoT9zR6l2THzuwd6jo381NwqczDg7GfTuRvYrwWr4j5s6PDlgurFxwAKu1 h4KX5KuoOe6CCGkTryy4UDrKPAQPvWCtYmHw9IYCFNJRzfornJce1HMfnjus9us2YM+q KBAHWqZVwQ98C5bzfLk+sGlTyXg0T0nNB6czmQV2ygH08Y/07D+bp0KezGBpnXNHDIwS nFvaCRwKoio/AFFyMbBltmLC4BiKkUQzNMfFY+tS9xlIXP1NfF6oOVb1/VYNaYdV2X1/ rVyZzxTUobirV1SStB+YoaJg48PfQfYbJSoU7FNW7YdbG4TwLeM5J0Da2WhisOQu0Btr Avtg== 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=l6Svpz1zFgu3rW3hNJEs7xxdWfxftjayMdaBJY3QTHs=; b=SQXxrk6dYAdejlIMRFYrSY+4au400bb9GG7Dh7whOVmE4xaNFoFyjKjtKMPY/x+Zbw /TuozJYjc1aFkkULwAktAc6Ir/49Kb6cBdoNJsqKPPBSglIJ+xEYUVx6/oIMijFyzziM d1AtTnFqPLvlG4cWtRd078Ty6UWn8FNJt21r/VRef1LpBW1dp24IlQgXT1ukEtYSrzkr nvFmDv7BPTXEzFr20/BKn53YDz9ydGd5lGHiEjOaTsaaa3oVL6yuhw/vEmAXMX5ebWxl BpYIQu2dcjdtvif2Hf/uGhGQw9eDlEJD+nGmA0+XbCqRCx9vYxOEcJn4NaA7hBvb67LI ykxg== X-Gm-Message-State: AOAM532V0f466mDNUikHfUUxQx3viHn0VsMXVX67q0y9HXDad7grJhrA cBXmyCNo963Cw0al+U+EAwAOEvv8DXU= X-Google-Smtp-Source: ABdhPJwQpHIg1LMSejO2yqn/omEVev3KClz0r5g/zOycenPE+TllxFDPy9t4oYUgBGuX7Uz7TELGmg== X-Received: by 2002:a7b:c40b:: with SMTP id k11mr4208451wmi.19.1598030994911; Fri, 21 Aug 2020 10:29:54 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 23/23] hw/sd: Correct the maximum size of a Standard Capacity SD Memory Card Date: Fri, 21 Aug 2020 19:29:16 +0200 Message-Id: <20200821172916.1260954-24-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821172916.1260954-1-f4bug@amsat.org> References: <20200821172916.1260954-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x32d.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-block@nongnu.org, Sai Pavan Boddu , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Bin Meng , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , Beniamino Galvani , Michael Walle , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Bin Meng Per the SD spec, Standard Capacity SD Memory Card (SDSC) supports capacity up to and including 2 GiB. Fixes: 2d7adea4fe ("hw/sd: Support SDHC size cards") Signed-off-by: Bin Meng Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Sai Pavan Boddu Message-Id: <1598021136-49525-2-git-send-email-bmeng.cn@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 805e21fc883..483c4f17204 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -51,6 +51,8 @@ =20 //#define DEBUG_SD 1 =20 +#define SDSC_MAX_CAPACITY (2 * GiB) + typedef enum { sd_r0 =3D 0, /* no response */ sd_r1, /* normal response command */ @@ -314,7 +316,7 @@ static void sd_ocr_powerup(void *opaque) /* card power-up OK */ sd->ocr =3D FIELD_DP32(sd->ocr, OCR, CARD_POWER_UP, 1); =20 - if (sd->size > 1 * GiB) { + if (sd->size > SDSC_MAX_CAPACITY) { sd->ocr =3D FIELD_DP32(sd->ocr, OCR, CARD_CAPACITY, 1); } } @@ -386,7 +388,7 @@ static void sd_set_csd(SDState *sd, uint64_t size) uint32_t sectsize =3D (1 << (SECTOR_SHIFT + 1)) - 1; uint32_t wpsize =3D (1 << (WPGROUP_SHIFT + 1)) - 1; =20 - if (size <=3D 1 * GiB) { /* Standard Capacity SD */ + if (size <=3D SDSC_MAX_CAPACITY) { /* Standard Capacity SD */ sd->csd[0] =3D 0x00; /* CSD structure */ sd->csd[1] =3D 0x26; /* Data read access-time-1 */ sd->csd[2] =3D 0x00; /* Data read access-time-2 */ --=20 2.26.2