From nobody Mon Feb 9 09:18:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1741460665; cv=none; d=zohomail.com; s=zohoarc; b=S8WnBK2XQ43/l3hyfcKbH5yeg9alfp69yRHcrTKpWmkYd1TaLlHcMrZd8jT/F1/sDG7MGgt4ZWMpIo3ADfj1gsQRjqFsRU3aWbx8Ctb1BPUdAJh93mCwKP34nRiICBbARwwgBR19m4FrVnp2uDdiFMaSkXdHSr/oz/HosSW0DDk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1741460665; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=F+yC7kcIFYBDlEb5elpDYxZqmpjHBPCkNQfWZnM7SA0=; b=OwY8efPjq+YR4+P4nJCn/MX9zXlg2qYasvztr8A/jHf0O0Wamu6BOV1Dd6T1MxVPszshjmVEYwP9qWanLAz8NhTIkeu0osU9iACkUr+gyxLZ5HLsN9B8H95W6Ezf/JlEWHpEdFXnROWLKrZMIpjEHpRq3GgpgZ4XfKna0yBqNVA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1741460665215390.84023252184306; Sat, 8 Mar 2025 11:04:25 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tqzS1-00077r-SP; Sat, 08 Mar 2025 14:03:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tqzRj-0006m2-59 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:02:52 -0500 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tqzRY-0003UK-Ei for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:02:45 -0500 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-43bc30adad5so17561765e9.1 for ; Sat, 08 Mar 2025 11:02:38 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c1037b4sm9653479f8f.92.2025.03.08.11.02.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 11:02:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741460557; x=1742065357; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=F+yC7kcIFYBDlEb5elpDYxZqmpjHBPCkNQfWZnM7SA0=; b=C1mePILG8sVuHo/ueoqNt0XxoEcLFKwynu4L+UOvlWM4bTOyGzc2fHuWrzUJraQPOo sJQxQqhragwb13HwZ1sfzvXHqJqqIBanEz437szcfhBJL0C74bcTesquwkAjtxrzQJOi x9y1YvIZLvhSFTvG3C5TeNvHjTVdoPczQJqz3fKr/WLLuGa1332lvkiYkUTVchG8uBNz PwexHTZLi7YP5UA3J0JK48WODwyl6F3HcFk2xhsUYAMVph4YFJNet7uyrnPf9zYnPA/3 Q7jK3G8QOoOJ8fF4HbhuSaVNvHnG2So9SlZvD1hmZwQ6pTDdGLDuboo8BYpvbjM3m9W+ yy7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741460557; x=1742065357; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=F+yC7kcIFYBDlEb5elpDYxZqmpjHBPCkNQfWZnM7SA0=; b=G1MdVZ/XozrB/OzW6H6NbDwPDpjNYBh/0W/+u2TvLAUJ+ML7JLGGHImhIgdxeBZXek PZ1l0IrbIw7uufEpDM6VgaAxYBk9ZuokheB6G1tR2M5loG3HD43oXb+s4I2Qg5RSss7G hTCldELWzQoZFMe7ARSEnHkWmHNGaAuLtlgGHF3TMupSsA140853gXQC7l8/D7wqclt0 Pn6W379fBgKqEUE4ZC7qlploI4O0v8GeAahVg4+6+tb07q55kdXIMnPQwwzLjdA43FEN VBKlhxAl+nf8if64p6EQ+BwXjRZwk0xfJy3SZQ8htETjjFw6YdY/sgHdwNi6diD76TEp +26A== X-Forwarded-Encrypted: i=1; AJvYcCUX+4uK5+i0MK4Ielniz/UbFlyfUJRgJzi3nLSO2sau/RSo8xKlj+u00mzGnpGRV4eGnkDvLoHvM+Hv@nongnu.org X-Gm-Message-State: AOJu0YwZzZzEiG5ECpifachEKYQcwV9q9VGLdZW9amgh0nFBNLrsGynV Gg+yB31T+NWJEiELdZzbUyKNVRjpT+vkkONtzO3l7jWcwJSQF+Eg20tCsfP58iA= X-Gm-Gg: ASbGnctDB9KzAsaQH2ZHN0+wx6lKjOZRxdmpTk2qfyIsnMSHgdFo7b7XRrnHKy/WMYe AOkMa9kEXniWVv9Te+i5HhE9lVOmpl9CItFgUbZFC3yZtYlbFN4W21t25nHEBq0+AAJFs9YsmgJ Vwvcl92jvIHv+2VxQicCd71D5eBdoI7jB3K1exxU7bfJhJPGFIcOPE4IoWnb3PsZ6aJRU5MlfZJ 0Cf5QU91j+hksTMk8bcXbz36QazmFwge06wDOzIqNB9xDQqebj2IUPZyWiYHzyu7bEHRfRFHkpB ia2335h6c0LJEcP+HZl+O0cW9R5m5DAlDPmIUtwQBjboyIjP0mBK2Jt2J9WnZj4riA6vzWNLZpw bQcfvw29hPxgIHvVUOjQ= X-Google-Smtp-Source: AGHT+IGniKA8/c/uxha9Wn7jUZoM0s1d7hgNI9FzH2sJU2nsL6cMlXOPVKVy5Qqmv6DMmK/sB4183A== X-Received: by 2002:a5d:6d05:0:b0:391:13d6:c9ec with SMTP id ffacd0b85a97d-39132d88ee1mr5624207f8f.20.1741460557363; Sat, 08 Mar 2025 11:02:37 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: BALATON Zoltan , qemu-devel@nongnu.org Cc: Bernhard Beschow , Peter Maydell , qemu-ppc@nongnu.org, Andrey Smirnov , Jean-Christophe Dubois , Bin Meng , qemu-arm@nongnu.org, qemu-block@nongnu.org, Guenter Roeck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 01/12] hw/sd/sdhci: Remove need for SDHCIState::vendor field Date: Sat, 8 Mar 2025 20:02:19 +0100 Message-ID: <20250308190230.7508-2-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308190230.7508-1-philmd@linaro.org> References: <20250308190230.7508-1-philmd@linaro.org> MIME-Version: 1.0 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::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1741460667949019000 All instances of TYPE_IMX_USDHC set vendor=3DSDHCI_VENDOR_IMX. No need to special-case it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sdhci-internal.h | 1 - include/hw/sd/sdhci.h | 4 ---- hw/arm/fsl-imx25.c | 2 -- hw/arm/fsl-imx6.c | 2 -- hw/arm/fsl-imx6ul.c | 2 -- hw/arm/fsl-imx7.c | 2 -- hw/arm/fsl-imx8mp.c | 2 -- hw/sd/sdhci.c | 14 ++++---------- 8 files changed, 4 insertions(+), 25 deletions(-) diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h index 9f768c418e0..9072b06bdde 100644 --- a/hw/sd/sdhci-internal.h +++ b/hw/sd/sdhci-internal.h @@ -311,7 +311,6 @@ extern const VMStateDescription sdhci_vmstate; DEFINE_PROP_UINT8("endianness", _state, endianness, DEVICE_LITTLE_ENDI= AN), \ DEFINE_PROP_UINT8("sd-spec-version", _state, sd_spec_version, 2), \ DEFINE_PROP_UINT8("uhs", _state, uhs_mode, UHS_NOT_SUPPORTED), \ - DEFINE_PROP_UINT8("vendor", _state, vendor, SDHCI_VENDOR_NONE), \ \ /* Capabilities registers provide information on supported * features of this specific host controller implementation */ \ diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 38c08e28598..48247e9a20f 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -99,7 +99,6 @@ struct SDHCIState { uint8_t endianness; uint8_t sd_spec_version; uint8_t uhs_mode; - uint8_t vendor; /* For vendor specific functionality */ /* * Write Protect pin default active low for detecting SD card * to be protected. Set wp_inverted to invert the signal. @@ -108,9 +107,6 @@ struct SDHCIState { }; typedef struct SDHCIState SDHCIState; =20 -#define SDHCI_VENDOR_NONE 0 -#define SDHCI_VENDOR_IMX 1 - /* * Controller does not provide transfer-complete interrupt when not * busy. diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c index 5359a6d8d3b..02214ca1a1c 100644 --- a/hw/arm/fsl-imx25.c +++ b/hw/arm/fsl-imx25.c @@ -243,8 +243,6 @@ static void fsl_imx25_realize(DeviceState *dev, Error *= *errp) &error_abort); object_property_set_uint(OBJECT(&s->esdhc[i]), "capareg", IMX25_ESDHC_CAPABILITIES, &error_abort); - object_property_set_uint(OBJECT(&s->esdhc[i]), "vendor", - SDHCI_VENDOR_IMX, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), errp)) { return; } diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c index dc86338b3a5..a114dc0d63d 100644 --- a/hw/arm/fsl-imx6.c +++ b/hw/arm/fsl-imx6.c @@ -327,8 +327,6 @@ static void fsl_imx6_realize(DeviceState *dev, Error **= errp) &error_abort); object_property_set_uint(OBJECT(&s->esdhc[i]), "capareg", IMX6_ESDHC_CAPABILITIES, &error_abort); - object_property_set_uint(OBJECT(&s->esdhc[i]), "vendor", - SDHCI_VENDOR_IMX, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), errp)) { return; } diff --git a/hw/arm/fsl-imx6ul.c b/hw/arm/fsl-imx6ul.c index 34c4aa15cd0..ce8d3ef535f 100644 --- a/hw/arm/fsl-imx6ul.c +++ b/hw/arm/fsl-imx6ul.c @@ -531,8 +531,6 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error = **errp) FSL_IMX6UL_USDHC2_IRQ, }; =20 - object_property_set_uint(OBJECT(&s->usdhc[i]), "vendor", - SDHCI_VENDOR_IMX, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->usdhc[i]), &error_abort); =20 sysbus_mmio_map(SYS_BUS_DEVICE(&s->usdhc[i]), 0, diff --git a/hw/arm/fsl-imx7.c b/hw/arm/fsl-imx7.c index 3374018cde0..ed1f10bca26 100644 --- a/hw/arm/fsl-imx7.c +++ b/hw/arm/fsl-imx7.c @@ -471,8 +471,6 @@ static void fsl_imx7_realize(DeviceState *dev, Error **= errp) FSL_IMX7_USDHC3_IRQ, }; =20 - object_property_set_uint(OBJECT(&s->usdhc[i]), "vendor", - SDHCI_VENDOR_IMX, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->usdhc[i]), &error_abort); =20 sysbus_mmio_map(SYS_BUS_DEVICE(&s->usdhc[i]), 0, diff --git a/hw/arm/fsl-imx8mp.c b/hw/arm/fsl-imx8mp.c index 1ea98e14635..c3f6da63220 100644 --- a/hw/arm/fsl-imx8mp.c +++ b/hw/arm/fsl-imx8mp.c @@ -524,8 +524,6 @@ static void fsl_imx8mp_realize(DeviceState *dev, Error = **errp) { fsl_imx8mp_memmap[FSL_IMX8MP_USDHC3].addr, FSL_IMX8MP_USDHC3= _IRQ }, }; =20 - object_property_set_uint(OBJECT(&s->usdhc[i]), "vendor", - SDHCI_VENDOR_IMX, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->usdhc[i]), errp)) { return; } diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 1f45a77566c..149b748cbee 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1731,16 +1731,10 @@ usdhc_write(void *opaque, hwaddr offset, uint64_t v= al, unsigned size) =20 case USDHC_VENDOR_SPEC: s->vendor_spec =3D value; - switch (s->vendor) { - case SDHCI_VENDOR_IMX: - if (value & USDHC_IMX_FRC_SDCLK_ON) { - s->prnsts &=3D ~SDHC_IMX_CLOCK_GATE_OFF; - } else { - s->prnsts |=3D SDHC_IMX_CLOCK_GATE_OFF; - } - break; - default: - break; + if (value & USDHC_IMX_FRC_SDCLK_ON) { + s->prnsts &=3D ~SDHC_IMX_CLOCK_GATE_OFF; + } else { + s->prnsts |=3D SDHC_IMX_CLOCK_GATE_OFF; } break; =20 --=20 2.47.1 From nobody Mon Feb 9 09:18:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1741460726; cv=none; d=zohomail.com; s=zohoarc; b=loir1gUW50Kg9T01+iwMH4EyzusZDO1YGWtchlgM+WrWCqvfnAro3jWZi/jJl/BANLYSSiPdCIduy0DMPxbGgQE24cBbKRmLYf6EIxSHJCt2H4K1qukOd33rtexhCZdakEWHZ9RgqmzxWxIJuZ4/obXyeTb8iyshyT19pnGBD+4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1741460726; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=rGeGYkd/RvTeD7MNw4buaroHbkJmR8tAE2eHN3vxKfs=; b=Xn7b4wSRJQm1qFM2pQSMCOGMrVxOFregBSm23jBIyj2w1AA2PYXUaZCEO641ZcLt9ykkvotBnk2EbqPNWwwVkWYHnYWtzwSS1XwOPTle8bSgWu2mKEmgYM70bKD24IdihUuuLjBqQVWuUk+FoFJOf5P26VJQgm8PQx3mmnLvZ+w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1741460726559337.5330713652878; Sat, 8 Mar 2025 11:05:26 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tqzS1-00077n-UE; Sat, 08 Mar 2025 14:03:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tqzRi-0006mH-Pk for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:02:52 -0500 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tqzRc-0003VC-2C for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:02:46 -0500 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3912fdddf8fso1382123f8f.1 for ; Sat, 08 Mar 2025 11:02:43 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ce9f2d081sm27971865e9.21.2025.03.08.11.02.41 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 11:02:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741460562; x=1742065362; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rGeGYkd/RvTeD7MNw4buaroHbkJmR8tAE2eHN3vxKfs=; b=A1o1VRydyRsDAzvzUxpEwF3ebPzNa409/VY2s7KvKS5rr9X/c7rtlaQpQ3Jqs8mUAU Ety96WWOgZ3iPCOY6vWg0nSrBGpqU4q8eGNKRubXJP8WrjxOEEqhAYGf1jwCSMdyNoEH 7BpB2zptxhuVbp8R7wtF+zPYGnDEwZSqxv/cKqLHnKOP+W0X3W+l8qr/oNSfjZ5BXAxR lDuWXQDSPBuXaxbUqdK/N+DSyVPm9IsMUw7WsHV1udbrasu9X9xBAOpSrFUh74ZIouon 2LU5p92TsfcgdqAmYQnCyfyOZGlUHsB82WCz9MQjUIJ7FKtVwzlY5/cp/4KepmMFUXH5 BayQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741460562; x=1742065362; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rGeGYkd/RvTeD7MNw4buaroHbkJmR8tAE2eHN3vxKfs=; b=jubIEX3HzzkfrUdHfssI1BWD3ZN9YBvhcJRX0VAckGmeQAjzRbauI+hTNIiVMkrDrQ 5LA5mgxCqLfBevwsotuRotC6I+QokkMsUNnpmzndB/EfyB+Z783AMvOBecrv9jt+PH9Q 9L7LY9eBbBW9F5KedOfn2xsFaNUMr/CIyHu97vNmSVSWz6XUVrf2QWquIyottyX1MCB8 23kWG76wLv6l+LOYCMzdP7OzwS//bUaB6iNmMu5wr+gzYBYIwRmS25NUJRptdPLnQV6E /psbVc2vCLb6qrkWOQl3Q14foB7lFXdeZF2CF83P713IYhvJoSiyC8FfRwEkUzkQY/bn 9gcQ== X-Forwarded-Encrypted: i=1; AJvYcCXTUmSwkFKF9tv3e21o9oPyk1N7QjvNyycivTxHBlORQ9SXJcHq1Hdqz0mP4J4VYscYAaqF+FtUGdSj@nongnu.org X-Gm-Message-State: AOJu0YznfIylC4WPG37SIn3QxFfjiMbztN3uN1/u3vweY/c6STQrmoT8 bTDLU9jswMZJnNP+rQQXA5eb7Ukrt0vbfKhCHQJchVVj0c88zyQlje1dYxwXtqo= X-Gm-Gg: ASbGncscUuut7thAWcZ0jD2aUbWxuBsD73r5uq4PRSQ15hothGJ1+NEGxfwsEE9Ni0N SzNdHUZge6pddFiVNr+CWVaFvKgXYJ0MVmSNobHjP5A96AzZmRAXgo0/GzntWhTTpIakA2oDATy 07B5NHqrjYLkduKEEviqH4KM9aTBHc+/fXQ8wPgR6+5RQkkCodz/W+HvzG/plesmZDWGCltniFt 1SQBDHzyr5Ek+QNcoCgh79/nIte6Xm8BFnE3yQI977rrxufXIfkjKxOXafe4Hd2ShX6FPmz4NYn +zrjPgM6bKqwlXCHJYEEuO5KvQt/fTQqrX/Vd3clGCtzgSnPV+60KiQdVFQDyklkIrw1gLtYzUT n7X1n2UGSEhOtIMc6YqQ= X-Google-Smtp-Source: AGHT+IEo3Pr2KZeNLe6d0rZaM7CvWCMMcLa33zM3zoeEoALypWKDmNel4OzWR5ekP2tJmWHckZ72QA== X-Received: by 2002:a5d:6c6a:0:b0:38d:dc03:a3d6 with SMTP id ffacd0b85a97d-3913aed81aamr2276681f8f.4.1741460562232; Sat, 08 Mar 2025 11:02:42 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: BALATON Zoltan , qemu-devel@nongnu.org Cc: Bernhard Beschow , Peter Maydell , qemu-ppc@nongnu.org, Andrey Smirnov , Jean-Christophe Dubois , Bin Meng , qemu-arm@nongnu.org, qemu-block@nongnu.org, Guenter Roeck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 02/12] hw/sd/sdhci: Introduce SDHCIClass stub Date: Sat, 8 Mar 2025 20:02:20 +0100 Message-ID: <20250308190230.7508-3-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308190230.7508-1-philmd@linaro.org> References: <20250308190230.7508-1-philmd@linaro.org> MIME-Version: 1.0 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=philmd@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1741460727181019000 TYPE_SYSBUS_SDHCI is a bit odd because it uses an union to work with both SysBus / PCI parent. As this is not a normal use, introduce SDHCIClass in its own commit. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/sd/sdhci.h | 9 +++++++++ hw/sd/sdhci.c | 1 + 2 files changed, 10 insertions(+) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 48247e9a20f..c4b20db3877 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -107,6 +107,13 @@ struct SDHCIState { }; typedef struct SDHCIState SDHCIState; =20 +typedef struct SDHCIClass { + union { + PCIDeviceClass pci_parent_class; + SysBusDeviceClass sbd_parent_class; + }; +} SDHCIClass; + /* * Controller does not provide transfer-complete interrupt when not * busy. @@ -123,6 +130,8 @@ DECLARE_INSTANCE_CHECKER(SDHCIState, PCI_SDHCI, #define TYPE_SYSBUS_SDHCI "generic-sdhci" DECLARE_INSTANCE_CHECKER(SDHCIState, SYSBUS_SDHCI, TYPE_SYSBUS_SDHCI) +DECLARE_CLASS_CHECKERS(SDHCIClass, SYSBUS_SDHCI, + TYPE_SYSBUS_SDHCI) =20 #define TYPE_IMX_USDHC "imx-usdhc" =20 diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 149b748cbee..4917a9b3632 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1960,6 +1960,7 @@ static const TypeInfo sdhci_types[] =3D { .instance_size =3D sizeof(SDHCIState), .instance_init =3D sdhci_sysbus_init, .instance_finalize =3D sdhci_sysbus_finalize, + .class_size =3D sizeof(SDHCIClass), .class_init =3D sdhci_sysbus_class_init, }, { --=20 2.47.1 From nobody Mon Feb 9 09:18:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1741460677; cv=none; d=zohomail.com; s=zohoarc; b=FnQphVPV56HRCs0xVc7Qt8B5bpI9Jv0ZVtaV21vPYs8blUqk9RG2C+bn0sre11/C24nVBOcPbxGHQr67ZyCdaZ5eVXPF6p3ZwH7cMu00Ny9Cf4znXQAKwe0dXsSAZ2qgjjGup+FpMdHre+Ybt67/bF0CuCDe1BKhcDEVH/hEXfw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1741460677; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=B/DAOjgGSbt8R5XFJfa90IfAIHW3vg/xwsnsSI4jCJ0=; b=fNUHXnWKHX1nz6DrUid5LApVn4W/vDJgLhYi2BThdhQbv+4Fp9Nbp8l8dFtAGD7DwFm8xd8ivmO+BNj17Fb+mJAf58FLzv+ZPx/ev7Rs9cG4YZ6vJjepg8V+A9bFoRvdl+M2FMUsBlj6tY/HydaIqmylSZk9mawHwGFOdoYC//g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1741460677044965.012629918879; Sat, 8 Mar 2025 11:04:37 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tqzRx-000702-Oq; Sat, 08 Mar 2025 14:03:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tqzRj-0006pP-RD for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:02:52 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tqzRg-0003WB-Mb for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:02:51 -0500 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-43bdc607c16so22608865e9.1 for ; Sat, 08 Mar 2025 11:02:47 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c019557sm9889830f8f.50.2025.03.08.11.02.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 11:02:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741460567; x=1742065367; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=B/DAOjgGSbt8R5XFJfa90IfAIHW3vg/xwsnsSI4jCJ0=; b=Te9HZ4CFYgfKFRTSCidJUFayuI0r7rtswMbXlsWWHlmWeW80jf8TJqRSUBwMCsyEqr rK+ZkWbbKrvcIIjtpzbm7gH2e4P5yf3324zRhylQVOPFk9jV09bbsjRTjT/KMpGiAeSx j3FyhjN19yzDiNH07JRCKBzDxxEKdC6BEEZGJ+Qs7ptJ6Iq7LpJvwH+gjD45VZiJMxbx tgICV3TXpHQkGQFUDUMj31OwGVHqkPQHRTc+9fhtOFTdfKyC22xhnmoqNxKosvwQAn22 EhqeptEgXxG+mN9z8waaHtvFOvawOTq/Fcs4t3njE7bHAmPIGHwrydpJI3s9Z80lB3yy p6nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741460567; x=1742065367; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=B/DAOjgGSbt8R5XFJfa90IfAIHW3vg/xwsnsSI4jCJ0=; b=lTGAxqrlnGY+u6m3yQDjlm5uSUHKgE54aHZOl3saWLegeiEkl0NzXpBDcBpa25pRGn yaYi92StG5gwt+rmHOSfh6F+CNq2ZoGE0kv5BdAcLYZ464IGhYWwOi75rz1OxQvhqdPb 1vzYQ4H08+2s0wnB2eckGwDIGPF3EJC0f6vKuTNr7Tl3f12DozVaHVHJFnj6kXhsN5Fg y1Il7Pnec/v7vd4VpkmDyCuBBGBCdOe4LFMxQH6z65fX6I3Vnc0QkPsN+R3Tol/qVpYO PGpRKBsMlsQunwgAQ4Jad+pF717Q16JFmYM4VU8PV3/bx7MuxoUhhodiGjsllb1p9OYn HHCg== X-Forwarded-Encrypted: i=1; AJvYcCWhYlWWD2KZDFUL8/doglZ23bU3t4usIPdpra8vAT5mx2zacGcTKLhCphK2OKCVaDhYqdU+55oZjBPY@nongnu.org X-Gm-Message-State: AOJu0YyoZ2BDBBV6mWPXt/k38vGude/Ag5zVw4C7nEKE7fPUpruYvs4a Zr8QeJTnj1Q0kdUsbvaJRuQcvId87ykQdKMM8a5ytcFBTmuep4+9HU4PgN8rdF54z8GlZkfaTBZ lPjQ= X-Gm-Gg: ASbGnct/5Tw5OIz5ccswnN1B4HT4dYDqdPEPyXKGn54DyoaqKuSJOc86ZrDcubhEP3W anAdt4S54/Listrqf5mgbYdFtWvJXDIQ2Z7oK5AWZUYVhow4zVt+O8J6nTG6vsrnxaXI4EbcBXy YVyPGsWnpMtofFq7tLJUzfneaVR1sjxQjbLcylvZXgzZGTDKTxbUG6Uj0Uratr1GOE3prCiw+8n FGAEmvto0LlutI9lMZJCbi8lBXe49VU+wbyFBuaQCF91llinESP7oPRhcLe/UH7RrrLJaTv5CAF bdVjnjCLxzv4B+9h7GoTXEdodHgYTAl15vxXHkkNtCOTl6jl577sxSn1HEpQZsDdhhnY3c/I3vq QoJMeB3iAm9P+ZFKZOso= X-Google-Smtp-Source: AGHT+IFuUdQOktJ/RQKgJdnwZ8m//8mj/iqJ8iiBS4xUdJyp7WWnVym+ciIWp44Zt0jiGT9RNApwcA== X-Received: by 2002:a5d:6d8a:0:b0:38d:d371:e04d with SMTP id ffacd0b85a97d-39132dacb85mr5588540f8f.34.1741460566990; Sat, 08 Mar 2025 11:02:46 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: BALATON Zoltan , qemu-devel@nongnu.org Cc: Bernhard Beschow , Peter Maydell , qemu-ppc@nongnu.org, Andrey Smirnov , Jean-Christophe Dubois , Bin Meng , qemu-arm@nongnu.org, qemu-block@nongnu.org, Guenter Roeck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 03/12] hw/sd/sdhci: Make quirks a class property Date: Sat, 8 Mar 2025 20:02:21 +0100 Message-ID: <20250308190230.7508-4-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308190230.7508-1-philmd@linaro.org> References: <20250308190230.7508-1-philmd@linaro.org> MIME-Version: 1.0 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=philmd@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1741460679279019100 All TYPE_IMX_USDHC instances use the quirk: move it to the class layer. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/sd/sdhci.h | 3 ++- hw/sd/sdhci.c | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index c4b20db3877..0616ce3aa59 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -95,7 +95,6 @@ struct SDHCIState { =20 /* Configurable properties */ bool pending_insert_quirk; /* Quirk for Raspberry Pi card insert int */ - uint32_t quirks; uint8_t endianness; uint8_t sd_spec_version; uint8_t uhs_mode; @@ -112,6 +111,8 @@ typedef struct SDHCIClass { PCIDeviceClass pci_parent_class; SysBusDeviceClass sbd_parent_class; }; + + uint32_t quirks; } SDHCIClass; =20 /* diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 4917a9b3632..2b7eb11a14a 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -345,6 +345,8 @@ static void sdhci_send_command(SDHCIState *s) rlen =3D sdbus_do_command(&s->sdbus, &request, response); =20 if (s->cmdreg & SDHC_CMD_RESPONSE) { + SDHCIClass *sc =3D SYSBUS_SDHCI_GET_CLASS(s); + if (rlen =3D=3D 4) { s->rspreg[0] =3D ldl_be_p(response); s->rspreg[1] =3D s->rspreg[2] =3D s->rspreg[3] =3D 0; @@ -366,7 +368,7 @@ static void sdhci_send_command(SDHCIState *s) } } =20 - if (!(s->quirks & SDHCI_QUIRK_NO_BUSY_IRQ) && + if (!(sc->quirks & SDHCI_QUIRK_NO_BUSY_IRQ) && (s->norintstsen & SDHC_NISEN_TRSCMP) && (s->cmdreg & SDHC_CMD_RESPONSE) =3D=3D SDHC_CMD_RSP_WITH_BUSY)= { s->norintsts |=3D SDHC_NIS_TRSCMP; @@ -1886,7 +1888,15 @@ static void imx_usdhc_init(Object *obj) SDHCIState *s =3D SYSBUS_SDHCI(obj); =20 s->io_ops =3D &usdhc_mmio_ops; - s->quirks =3D SDHCI_QUIRK_NO_BUSY_IRQ; +} + +static void imx_usdhc_class_init(ObjectClass *oc, void *data) +{ + SDHCIClass *sc =3D SYSBUS_SDHCI_CLASS(oc); + + sc->quirks =3D SDHCI_QUIRK_NO_BUSY_IRQ; + + sdhci_common_class_init(oc, data); } =20 /* --- qdev Samsung s3c --- */ @@ -1967,6 +1977,7 @@ static const TypeInfo sdhci_types[] =3D { .name =3D TYPE_IMX_USDHC, .parent =3D TYPE_SYSBUS_SDHCI, .instance_init =3D imx_usdhc_init, + .class_init =3D imx_usdhc_class_init, }, { .name =3D TYPE_S3C_SDHCI, --=20 2.47.1 From nobody Mon Feb 9 09:18:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1741460633; cv=none; d=zohomail.com; s=zohoarc; b=Cy/d5sVCQil4KI8EAxWpe3NN9TeF9yrFrOl2gr1KjAhVTPMt44s7tRzx5/gJJfFBuS0h7vVExCXEF8qx3p6eByMAF3kTtMsVm4Al4FT52q0Spz7XT4ZkCoxEMIPIt7aPHKiHa+WH6jrytgfxqTjodxe8ewlVd5n09EXKi/fQfU4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1741460633; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=rwn/2OdTxyJUqPr5de1XSt+8TC9K6iNWTaYptctiUL8=; b=SmVP3hKGx8SWn6+yxTB5gOPITTrcdmla2UDcKxyllVHPHxwoieXQ0M+Yd/KtwAJZzrYjKDRBOda8+KkAdPcKH8Ie8rKY25i9j5PPwVa969/X1Ct2gQVlrXoCQUYd5BLS2RpiXnt81qxh1SnT8woBqM9eOulfsAHDuEOMJJmJ7A0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1741460633246670.1964233217459; Sat, 8 Mar 2025 11:03:53 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tqzS8-0007GR-B4; Sat, 08 Mar 2025 14:03:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tqzRp-0006v1-B8 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:02:57 -0500 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tqzRm-0003Xk-Jt for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:02:57 -0500 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-43bcbdf79cdso17540975e9.2 for ; Sat, 08 Mar 2025 11:02:53 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43bd41c7cc7sm128352975e9.0.2025.03.08.11.02.50 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 11:02:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741460572; x=1742065372; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rwn/2OdTxyJUqPr5de1XSt+8TC9K6iNWTaYptctiUL8=; b=uFpRKjcP0F7KDQpED6S4oCH1nXRsUpCgwtB20MWKfLPiZ+CtcPs0cNZStInHZGfSWX vCa0Lt2pWPsPAbszlRIId1blXeAkSKl/6wBQMx2K5BW8ScOdOGQtqcQpzRBUwcbmYSNR DLDfWm/o17x4QhoF+gm/7rdhWJphfvqP5sb1E+Bf/AuWqyKCZ9o1CjJM5bzVfcAJKZcU P9FYerp2Aj/RU6ckSYkh39OOHqoHVS9Sm8SiL7BMasvtdgze03aGLSjkMozhFPU/bvPI vpMdAPUw0+4ICYAkdGhuwE28TAQkfmeVhIHcBcd19+GLzFcUcKhCIDD4f9iIb9PyxxTc GOJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741460572; x=1742065372; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rwn/2OdTxyJUqPr5de1XSt+8TC9K6iNWTaYptctiUL8=; b=gSfJ7UD9KyWNixN9MaQ46QSr1GkCyJMUXuKe3yYH004tIAWiTZGlFQOAd7D1n34bmA J6S/ykF3tbf9QcRicRLvmKsJOclDDQEPh1L/PEKq61N0YPSt3liCL3m0wv55wP2AA2id Om0wNhcxGRKiqz0Wo/56gpmInph0j6o5vmQjv9xrBFQYAPI5IhDJbk3OaVAToaDUrt+D UC9Bk5Zoe0ck69p7KNe0J6CrZa8LcOAG02E6+fRxZmRv4RfIo1TKlJ2ppAIVGw8KDPJi 8EsTP9rHEZhck8chnywBKJ+i8vJOCRuGy9B/HfnX57LS5+HqSkpilbywjtJc7igG29tW YvpQ== X-Forwarded-Encrypted: i=1; AJvYcCUFrS0fUeh4YnCG1RTgq3JV434T7M8Bjnc6rsGtUSLLRX1m0H5bgpl+0i2+bbzxm+xxIJ4hRD6RQeel@nongnu.org X-Gm-Message-State: AOJu0YwfjD96VskceX5yomKPX/YtfJRldOG4jBwaimAfeXMCw+4f9kFy S3ai8UHfyRwlVRzJziBlEVNXuADBd61VQNcyN5EwYN5fBLeC7BBWs55ZC9oo9mQ= X-Gm-Gg: ASbGncvS6BudOMLvrvxEnjqRHVG1KkEGoL89xhA052InvMIX1ACWjAExILgdmVhr/Xh 5vKZ+5mD4TSz1iSUUKLlpphzC3KauUZLfeKZCQ6oUyAfMX4MCGESZJbxP3t7QDP/icc5FYYpC9E IKnjfmz+A1J0DtJmJfl42iBTAynUKXyVASWHzH2az5JxDKvrCqtwm9xtBzvCYLtR4br98Ilft7K JDTO7LdGKUtQ9apQgih44RtOVX+bLG4ZyxS+4aZgmCgcT+MzvYm3vODCyHG4W2JCGb+5mUQVzho gqxEGo/0vSk2GIApNPVWIfC4O/b55bJ7VeRYLABuBrQGvyGimNpZci0aIICN7QK6IREzgT5vkcx NFkWbFHqvxrnwuNIm6Jo= X-Google-Smtp-Source: AGHT+IHA9aGgy87ZOxQZ8nfWhTBOvxlmT3AOKADViBqk+McQirESqbSBossVZSaxui4uX1x/iY4B2g== X-Received: by 2002:a05:600c:4fd2:b0:43b:d040:3dfd with SMTP id 5b1f17b1804b1-43c5a631270mr44921095e9.24.1741460571767; Sat, 08 Mar 2025 11:02:51 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: BALATON Zoltan , qemu-devel@nongnu.org Cc: Bernhard Beschow , Peter Maydell , qemu-ppc@nongnu.org, Andrey Smirnov , Jean-Christophe Dubois , Bin Meng , qemu-arm@nongnu.org, qemu-block@nongnu.org, Guenter Roeck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 04/12] hw/sd/sdhci: Make I/O region size a class property Date: Sat, 8 Mar 2025 20:02:22 +0100 Message-ID: <20250308190230.7508-5-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308190230.7508-1-philmd@linaro.org> References: <20250308190230.7508-1-philmd@linaro.org> MIME-Version: 1.0 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::335; envelope-from=philmd@linaro.org; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1741460635154019000 Be ready to have SDHC implementations to cover a wider I/O address range. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/sd/sdhci.h | 1 + hw/sd/sdhci.c | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 0616ce3aa59..2709a7a69d5 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -113,6 +113,7 @@ typedef struct SDHCIClass { }; =20 uint32_t quirks; + uint64_t iomem_size; } SDHCIClass; =20 /* diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 2b7eb11a14a..59d506cafa3 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1443,6 +1443,7 @@ void sdhci_uninitfn(SDHCIState *s) void sdhci_common_realize(SDHCIState *s, Error **errp) { ERRP_GUARD(); + SDHCIClass *sc =3D SYSBUS_SDHCI_GET_CLASS(s); =20 switch (s->endianness) { case DEVICE_LITTLE_ENDIAN: @@ -1468,8 +1469,9 @@ void sdhci_common_realize(SDHCIState *s, Error **errp) s->buf_maxsz =3D sdhci_get_fifolen(s); s->fifo_buffer =3D g_malloc0(s->buf_maxsz); =20 - memory_region_init_io(&s->iomem, OBJECT(s), s->io_ops, s, "sdhci", - SDHC_REGISTERS_MAP_SIZE); + assert(sc->iomem_size >=3D SDHC_REGISTERS_MAP_SIZE); + memory_region_init_io(&s->iomem, OBJECT(s), s->io_ops, s, + object_get_typename(OBJECT(s)), sc->iomem_size); } =20 void sdhci_common_unrealize(SDHCIState *s) @@ -1621,11 +1623,14 @@ static void sdhci_sysbus_unrealize(DeviceState *dev) static void sdhci_sysbus_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); + SDHCIClass *sc =3D SYSBUS_SDHCI_CLASS(klass); =20 device_class_set_props(dc, sdhci_sysbus_properties); dc->realize =3D sdhci_sysbus_realize; dc->unrealize =3D sdhci_sysbus_unrealize; =20 + sc->iomem_size =3D SDHC_REGISTERS_MAP_SIZE; + sdhci_common_class_init(klass, data); } =20 --=20 2.47.1 From nobody Mon Feb 9 09:18:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1741460755; cv=none; d=zohomail.com; s=zohoarc; b=Uw1lTaPCULctwydBD0PDWg0jLzc3ZR7xj5f0V/L9xI1aOn25/7UDvzXr0W1TkbanJBESRsQURlNok/sWYUYEc5fVI+AK8xmBsxZa9MeCZ3zaFw5JxfhiPNg4vU6o0Q55tEMbtvo51p2XDCb5AkbqVdj4RGUdADhLgS1wCatMBKg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1741460755; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=akRNzOoRRyY/xSKhmyVeI+5UU9kBXMKW6nWI01FbvUE=; b=ecLU2IC6JGYQIT/K8FPnNB4K3ZvP6hCXNv8uOIts5o1x7I4JazW1kpgC8YgfLEsrJFmXubO0tPohAj7jpVXmMpnne5exdRGpyDFIH7o934s1V3WkwUMfcTwecoJm1RRW8GOIF+8njv8Yjd1eIyZcc4j1VrjOr8Pk8Nd5ASJTdhQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 174146075550745.919089634527495; Sat, 8 Mar 2025 11:05:55 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tqzS7-0007GJ-Vz; Sat, 08 Mar 2025 14:03:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tqzRt-0006xT-Gs for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:02 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tqzRq-0003Yq-6n for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:00 -0500 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-391342fc0b5so2139087f8f.3 for ; Sat, 08 Mar 2025 11:02:57 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c103aa5sm9698256f8f.94.2025.03.08.11.02.55 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 11:02:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741460577; x=1742065377; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=akRNzOoRRyY/xSKhmyVeI+5UU9kBXMKW6nWI01FbvUE=; b=NVv+e3wsWAVRWUMqimnZHUFALAv33TIpU7hJ9GS19FP509KOZ7GUvhTRlLfxc8Xpw5 cjSrcxoVwMZaQipi7g/LPAqkjsIRyGdDo+tUM4X2XaxQSY8/A9FouztLh2ANrxL3kZtA 5LbDN6ZGPA+HUT/NmoMahGQfYk9VAqaMjiCo3b4IZJQZLd+VHim8MbMdwUyzqT3BaEFR u2vhRMtZyF6uWFuEYnJn9DW6P7dtpEjq5aXnuIqlkVSaNW9dNaDI/YGwB8zPizKoCLF9 GpLBHC9Vw/Nu2i/0PVG3Wyib8ZPdeb2BQd1QlLc8EbtSVg18gBuMdFrzs+aedE6MDHKa PTzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741460577; x=1742065377; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=akRNzOoRRyY/xSKhmyVeI+5UU9kBXMKW6nWI01FbvUE=; b=nlwc0iZ4CNok7Oesm4duwbJyag5gmDrydvQQ+aC/k9hk63GUhMLL0xgtzFBR3mID2S lOupgiqJlgHfeDc2NXhl/zXNe4g3+u3yG5IEPH1CrW8KqbGyCHA+3Gy3kpu+5+wuM0eZ c1TIUY2rbhB8bKcvKpJQ40eG4pOyXXPOIFt3eV+ZprFQu64OKJGOEf16v49MqgCNedka 36bDCLafFwn2sBVoIxI4/pn52jebBMNwkJd22DSCYySIOveSjGlbBaSxeB1FRECKsOJJ xtgFjk0Cp9iSaDQfwdECKcsLZlOJRCKmL061tu/65PhnFbJ8AvHZZrBuuiuhZjY0++ng bwgw== X-Forwarded-Encrypted: i=1; AJvYcCV933Mr3GdDU4V0/mE97XZVXQjRP0w20gXvX8iVMQI4xQbw0IBcpmjPpqB13rTnt5q5ngBa+4N2XB9m@nongnu.org X-Gm-Message-State: AOJu0YxWubzsY45IRViUaulNB79sUpngRugApbFEgAE0vQJwzibalJz9 BgP8LBEGLecQg3Q/G8OyZdhs554vm2rNTTZLMhtSRg77bAZcGA04CEZF1381n6c= X-Gm-Gg: ASbGncte0AC0PQNXILRDCPdRlcYMMg1U93Kd+f1v+Xwgb+zAWQHfwvoAblhCaMkIFiJ y7uXZs2NPvUdUUP28gewi406x0IILDcKtQaeLubNGozT+XPJBlmRvxURSTVs3rRcVMIkkQIxH5/ YodsLJ+CI63tiseE2EPDtEe2AtpgMNB5ak6EUtKsrZGrhp4VLmsa/iIA9LUGR0RO1VWRXR114cQ R3HeeG8djzBGI6BdOGnaHmLkIZHVHvsNgJFAtV4mB4ZFzAJxAPZYDLujdcpJajvUmrCShWJ1Fu7 PMlq8F5wSsrcE7/t7zIaR0Vs98xaXvtV7n58EcTdtbbZ9A2cw42K4tv0M+gj1vqXTNVRRQ9amNZ /OFD3FlhWxdf6afyuoWg= X-Google-Smtp-Source: AGHT+IHdFAHac66cfwMM6EB5dUgjgh7VbWgdbZJMcU8i4WqqtwfF+Iqchilx9rJFdQcGqnx0CPyvUg== X-Received: by 2002:a05:6000:1548:b0:390:ee34:228b with SMTP id ffacd0b85a97d-39132d465b1mr6094176f8f.24.1741460576652; Sat, 08 Mar 2025 11:02:56 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: BALATON Zoltan , qemu-devel@nongnu.org Cc: Bernhard Beschow , Peter Maydell , qemu-ppc@nongnu.org, Andrey Smirnov , Jean-Christophe Dubois , Bin Meng , qemu-arm@nongnu.org, qemu-block@nongnu.org, Guenter Roeck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 05/12] hw/sd/sdhci: Enforce little endianness on PCI devices Date: Sat, 8 Mar 2025 20:02:23 +0100 Message-ID: <20250308190230.7508-6-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308190230.7508-1-philmd@linaro.org> References: <20250308190230.7508-1-philmd@linaro.org> MIME-Version: 1.0 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=philmd@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1741460757254019000 This is the default, but better be safe than sorry. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sdhci-pci.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/sd/sdhci-pci.c b/hw/sd/sdhci-pci.c index 5268c0dee50..5f82178a76f 100644 --- a/hw/sd/sdhci-pci.c +++ b/hw/sd/sdhci-pci.c @@ -32,6 +32,7 @@ static void sdhci_pci_realize(PCIDevice *dev, Error **err= p) SDHCIState *s =3D PCI_SDHCI(dev); =20 sdhci_initfn(s); + qdev_prop_set_uint8(DEVICE(dev), "endianness", DEVICE_LITTLE_ENDIAN); sdhci_common_realize(s, errp); if (*errp) { return; --=20 2.47.1 From nobody Mon Feb 9 09:18:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1741460757; cv=none; d=zohomail.com; s=zohoarc; b=EbMsXgqVdxL9QiKiTafyekyN4S5dnRKvfQnQ5f/VjzBniXpKnebDxLY0DHW9yepxAFn4ynh3MRnbRwfiJ/YVm8gh9rBvuAEKZg8YfbuWB2EXN5qoFkr3aIy8DTfa4psgEpcgyY5ucFzHLZxYMAT426c741tZLlAKpklX5e8CETg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1741460757; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Tnj+mTi8s7/bMf+Ney6NYzMHgEQnS0OOPbvhz438H5o=; b=V+s7yfsNzSh9v7k+GcD2XSTsomNfGM8DDgMh8Yg8aOF/JBY8FQf0ojmKdxcKhwr9SrRpr3aFjxSEqI4EInQ94PnKEO9XNCEszr+aABNJZFy8TS1Qm1A3y3Gb2ppy6+E8LEXivQ/d/zqBCFVVSroL2QCu6Zs89BXbkwjnOvzH8h0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1741460756974795.7706295222714; Sat, 8 Mar 2025 11:05:56 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tqzSE-0007MP-CU; Sat, 08 Mar 2025 14:03:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tqzRx-00070L-RM for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:06 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tqzRv-0003Zz-K7 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:05 -0500 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-43bd45e4d91so17149585e9.1 for ; Sat, 08 Mar 2025 11:03:02 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ce9f2d081sm27980775e9.21.2025.03.08.11.03.00 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 11:03:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741460581; x=1742065381; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Tnj+mTi8s7/bMf+Ney6NYzMHgEQnS0OOPbvhz438H5o=; b=Q6Reit88KFJXCxeDD20PQGv2eTkrorznqwF1/WQJamO7udYKooPocC2pWNdp1sGwQU JRHs6UuCKWO4KXG+OVqF4Fn1GxNFyvqSLXtq5zj3WuMLnPvFAeuKxkaDs2cPfglGMNWi uxwAwmEVcH9nyQqoRAkznX+RgS/mPZ/xwWappD5e0Sm8hbR6kQLa+5cZ4m3VE1+NgYCi Eqdm2dgnX82Y2XAx+QHg0laO/m3rzkhc0OKTiNS0BvcZueVE3DXjZxN5Yr5TORAmZ2TE 7PHaOA+oDNOYnojFtYIy5hJPxsNy3izKdeRAG6SO8X62ZURrM3FxA37OdJxu8BNy8Koq EaLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741460581; x=1742065381; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Tnj+mTi8s7/bMf+Ney6NYzMHgEQnS0OOPbvhz438H5o=; b=JA+lwavxcZR3TwPLEw0f42Nx7KtYYRuLrMzvMli5hNxVPJvxpEqEBm5AKQKR0okXIi v75MhYq7PTNJDKtuJgUQfPE/OlcTMGNLYYTj64RTJR8kwdwYQt46Tb1Hi1mXks6DKPeY belmV/T9dAJuUSI5o6/CtmVwUQNg7zJUOjlCGs2Woy1YW7agCvYWIfVHtycZS9LOQlDn Dy+1HkO7BbduvVExyoYaTrgnCeNyGkijB1BOPam3IFfQy5DVbRtXyTw0b4dxDi9lUuxC bamNTkhaipBciyiA6eTmts0HEX7kGceVN71wUUfRbK8S3zOZfVzC3epnnMUAGVfNerff S9iA== X-Forwarded-Encrypted: i=1; AJvYcCUEYaqI9W31t7TXGc1iAHAff1SAXnaB8RPfCaJ47/xbw0h0qyPlOSgplmtWzLKqE1u9D6Y+qZfirBxH@nongnu.org X-Gm-Message-State: AOJu0YyEMW+1yxAQIQJDLaKmPctpepcz5Vd3EY0VqPuAKOJSwcj5s2SE bPJlevzDrm97H6TMdaqtgijSOQu1CSg4KXOk8ukZRe1O9KGvspzlmz9+rv8wcfc= X-Gm-Gg: ASbGnctobHvAgjgctbOCOY1OoslLegOcfAZCpjI9LcMy9dWxB/yjSG+QcAlw7S1PM5o SCPig6LxYO2CGWx99ReosrNd5Ac9kkAzVz4WAOEmFdG3ANsofTBNJSkhMhF9ihtKk83ZxOEV5Iq DzDggUkTHgJO+jLfUZQCCx8LXOtLpAY1igaV/WWBURoBaloI3uK2Ejs4fUh0DFQ1RtdO3Yh49jZ dl8p36o7Wb/fNmHVaOV7TJjTnCj2xd0t/LucZFslW52w+qN/IrL0JkcJQU227odNff9yZDsuThB 0c2ZpaNJVIcBTCOl9BcN7Q0gas8e3zH9lbcfen4yWa6zTDjcV8WD3e15xwxHg93SC/V9oBJuQPQ 9wn+ttfAR7LqtQgmx4ChBAIB6DpnY2Q== X-Google-Smtp-Source: AGHT+IH7Lq7VQOQ+CIuQ2bfM0fQWfnNjqK0CSKbQfrwLjrJY96CjfmYfNAB2pwVH4FMd4K5hftDfNw== X-Received: by 2002:a05:600c:5118:b0:439:873a:1114 with SMTP id 5b1f17b1804b1-43ce4ac8229mr23840105e9.6.1741460581506; Sat, 08 Mar 2025 11:03:01 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: BALATON Zoltan , qemu-devel@nongnu.org Cc: Bernhard Beschow , Peter Maydell , qemu-ppc@nongnu.org, Andrey Smirnov , Jean-Christophe Dubois , Bin Meng , qemu-arm@nongnu.org, qemu-block@nongnu.org, Guenter Roeck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 06/12] hw/sd/sdhci: Allow SDHCI classes to register their own MemoryRegionOps Date: Sat, 8 Mar 2025 20:02:24 +0100 Message-ID: <20250308190230.7508-7-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308190230.7508-1-philmd@linaro.org> References: <20250308190230.7508-1-philmd@linaro.org> MIME-Version: 1.0 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::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1741460759482019100 Add MemoryRegionOps as a class property. For now it is only used by TYPE_IMX_USDHC. Otherwise the default remains in little endian. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/sd/sdhci.h | 1 + hw/sd/sdhci.c | 22 ++++++++-------------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 2709a7a69d5..60a0442c805 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -112,6 +112,7 @@ typedef struct SDHCIClass { SysBusDeviceClass sbd_parent_class; }; =20 + const MemoryRegionOps *io_ops; uint32_t quirks; uint64_t iomem_size; } SDHCIClass; diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 59d506cafa3..d87a7bb45a4 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1427,8 +1427,6 @@ void sdhci_initfn(SDHCIState *s) sdhci_raise_insertion_irq, s); s->transfer_timer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, sdhci_data_transfer, s); - - s->io_ops =3D &sdhci_mmio_le_ops; } =20 void sdhci_uninitfn(SDHCIState *s) @@ -1445,6 +1443,7 @@ void sdhci_common_realize(SDHCIState *s, Error **errp) ERRP_GUARD(); SDHCIClass *sc =3D SYSBUS_SDHCI_GET_CLASS(s); =20 + s->io_ops =3D sc->io_ops ?: &sdhci_mmio_le_ops; switch (s->endianness) { case DEVICE_LITTLE_ENDIAN: /* s->io_ops is little endian by default */ @@ -1888,17 +1887,11 @@ static const MemoryRegionOps usdhc_mmio_ops =3D { .endianness =3D DEVICE_LITTLE_ENDIAN, }; =20 -static void imx_usdhc_init(Object *obj) -{ - SDHCIState *s =3D SYSBUS_SDHCI(obj); - - s->io_ops =3D &usdhc_mmio_ops; -} - static void imx_usdhc_class_init(ObjectClass *oc, void *data) { SDHCIClass *sc =3D SYSBUS_SDHCI_CLASS(oc); =20 + sc->io_ops =3D &usdhc_mmio_ops; sc->quirks =3D SDHCI_QUIRK_NO_BUSY_IRQ; =20 sdhci_common_class_init(oc, data); @@ -1955,11 +1948,13 @@ static const MemoryRegionOps sdhci_s3c_mmio_ops =3D= { .endianness =3D DEVICE_LITTLE_ENDIAN, }; =20 -static void sdhci_s3c_init(Object *obj) +static void sdhci_s3c_class_init(ObjectClass *oc, void *data) { - SDHCIState *s =3D SYSBUS_SDHCI(obj); + SDHCIClass *sc =3D SYSBUS_SDHCI_CLASS(oc); =20 - s->io_ops =3D &sdhci_s3c_mmio_ops; + sc->io_ops =3D &sdhci_s3c_mmio_ops; + + sdhci_common_class_init(oc, data); } =20 static const TypeInfo sdhci_types[] =3D { @@ -1981,13 +1976,12 @@ static const TypeInfo sdhci_types[] =3D { { .name =3D TYPE_IMX_USDHC, .parent =3D TYPE_SYSBUS_SDHCI, - .instance_init =3D imx_usdhc_init, .class_init =3D imx_usdhc_class_init, }, { .name =3D TYPE_S3C_SDHCI, .parent =3D TYPE_SYSBUS_SDHCI, - .instance_init =3D sdhci_s3c_init, + .class_init =3D sdhci_s3c_class_init, }, }; =20 --=20 2.47.1 From nobody Mon Feb 9 09:18:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1741460757; cv=none; d=zohomail.com; s=zohoarc; b=jyGZj5hXFPqYM7BG76H4tCeEx9c98JVCTeW/3oPTuhpFkKdkHQaVD0apmKwN1a84r77NmaKU/dYlNfMm+M5ExjTzveb1kzogGCavffEyaGPIUEv12RQ4h4UulSHereMQyNXAkUSiKheL5k6nPsmR3Ye6hb6xueKmVAnQb/qanpo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1741460757; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=74sWG9go8/U3pCHdLat3DJreQSt1Fc2X0U97u54k3uc=; b=iiM9fODFvjH3hDk4iztTTSQAU4Y6F2TdfxqidhYp1YobZiP1SKlHwQficucvSIaj/Dp+zNvOWywas2eS8LEXZPuERhJH0XoRz9rm912GkhoyT8xZHmsUi+z2AnUvJU+hAXc2iI/JtM3zQmlVx+Na5CQ8V6IEUT6NZVNDWmgeS6Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1741460757789544.2265536726364; Sat, 8 Mar 2025 11:05:57 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tqzS8-0007GP-9l; Sat, 08 Mar 2025 14:03:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tqzS1-000788-VT for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:10 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tqzRz-0003ar-Rs for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:09 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-43bd5644de8so31823975e9.3 for ; Sat, 08 Mar 2025 11:03:07 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43cec8e1596sm17687745e9.31.2025.03.08.11.03.05 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 11:03:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741460586; x=1742065386; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=74sWG9go8/U3pCHdLat3DJreQSt1Fc2X0U97u54k3uc=; b=gkeA2RAP1Be6Z5+Y1egFLwYOde6qzbPy1UJKtM0F7K8Qd0iReidEANQMMyQlwSKEX5 hQCUmVczZPu9XqeWb4vTZvXCl1AYVdUhJhzPKT8/2Ug4CUjahddCosY6sUsrqTknslud u/NjvNCUioyAuenkcWSUTT/v0y0Z9O1ohBFgmK0u3m+875OiaDYWX46UQOMD0zRsoj+N 9DXfwWvOCleWwS46x+AsWhJRkMIoOTTaVKtDfIT3Lk2uuGO6Q4CYQgk0VcsOpVEx1lYw /Sfb5FZmcVpCq7q6yuB0vcG0tqRl5ZN5/P1+hX+EavqZgix28Sle+BOCxlFtkpwfN2A5 LHtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741460586; x=1742065386; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=74sWG9go8/U3pCHdLat3DJreQSt1Fc2X0U97u54k3uc=; b=cLH2qnAWdtufu4x6/WkqspIqUqDSPCLr0CcKPTyukCvlRyFllLS4zRQuUNyewv9CK7 vIGxavPMxhIqxBJ6qBOtovYGAYOClYR1+mpb2ViWBe8ICdr7lnBHZHLszRXi99Gjfpw1 OugRHzeTF5Aqk5rhDFOYzNzTG3+N0VYua+RY8J7B8BOtXxT8gbmelEJy/LuIh384yRwK sY/NhRXvGkwaDVCBejnl7FhVkCouV3SS/fbyxpz/bcMj3EHKXtiXq6qLNp6UuRHYMh7q aL6nlBln0U8KTQuF586rxy0QcFMJoQXcZzJAofh5NDxpaJaWCpnrHUTZp1kUVXoaJWRV XmDg== X-Forwarded-Encrypted: i=1; AJvYcCXo724xjw+lU+js8iokyFc0V5dGLo1CQPn2yS79RcJxsnnC1xs79aJOPZ1aQOz4XgMCPsLJBjSZjWCy@nongnu.org X-Gm-Message-State: AOJu0YyRLvS19sQCTji/I8AMvl4hMt/gX9nH0GLpPei7fgKG+jz2Sh6i 7/ZBtzvjSckFrPKn3bN5wat909lbaa8FFc1tTPo410n4ggitYV9k31itzRt6yE0= X-Gm-Gg: ASbGnct59PE2Y8kGsajxmKhQx65Gf3IoroOMvL+iqfYEMuQD2T9fGHp+dSb0GK1mcjd M4p0nDhuDY2+LZpKJkZwUbg8QVa8yygJKFN6P/fZ1pBUrs+ZU6V1lnZH/4ydgf+NCjvYQXdTiz6 K4Lf9sCiJU2nLACDjmgsWbW30skueusCMmRKSusci6hqgFk4MNRb/aM++0QLN51f0TmOWIZxYGU wnBMpNcMka+CIS0LwcgrH68BG/TAzYWkuJIFUNgnZjBJY7MdvL0k5vvPf3En/81ruObTQOUJQ/a mtpcs+sA+WubSYIoDLe7WciS6FX+b+NqT7Dss29DMU+qo17Z4m34EdNhZ55JILI001/J438WTDC g4ujUkKquDiAMhfQ6Eno= X-Google-Smtp-Source: AGHT+IFOi81II2YxY7SDRztPqxmgtCilTx+dPRaviIBhfB7iXhMcCrE/Afa3y5Pl9MP2HqBQ1cIM4g== X-Received: by 2002:a05:600c:3544:b0:43b:d6ec:3d57 with SMTP id 5b1f17b1804b1-43c601cfe21mr66427045e9.15.1741460586266; Sat, 08 Mar 2025 11:03:06 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: BALATON Zoltan , qemu-devel@nongnu.org Cc: Bernhard Beschow , Peter Maydell , qemu-ppc@nongnu.org, Andrey Smirnov , Jean-Christophe Dubois , Bin Meng , qemu-arm@nongnu.org, qemu-block@nongnu.org, Guenter Roeck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 07/12] hw/sd/sdhci: Simplify MemoryRegionOps endianness check Date: Sat, 8 Mar 2025 20:02:25 +0100 Message-ID: <20250308190230.7508-8-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308190230.7508-1-philmd@linaro.org> References: <20250308190230.7508-1-philmd@linaro.org> MIME-Version: 1.0 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::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1741460759275019000 While little endianness is the default, ome controllers might be only implemented in big endianness. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sdhci.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index d87a7bb45a4..d115e88c4b9 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1443,20 +1443,10 @@ void sdhci_common_realize(SDHCIState *s, Error **er= rp) ERRP_GUARD(); SDHCIClass *sc =3D SYSBUS_SDHCI_GET_CLASS(s); =20 - s->io_ops =3D sc->io_ops ?: &sdhci_mmio_le_ops; - switch (s->endianness) { - case DEVICE_LITTLE_ENDIAN: - /* s->io_ops is little endian by default */ - break; - case DEVICE_BIG_ENDIAN: - if (s->io_ops !=3D &sdhci_mmio_le_ops) { - error_setg(errp, "SD controller doesn't support big endianness= "); - return; - } - s->io_ops =3D &sdhci_mmio_be_ops; - break; - default: - error_setg(errp, "Incorrect endianness"); + s->io_ops =3D sc->io_ops ?: (s->endianness =3D=3D DEVICE_BIG_ENDIAN ? + &sdhci_mmio_be_ops : &sdhci_mmio_le_ops); + if (s->io_ops->endianness !=3D s->endianness) { + error_setg(errp, "Invalid endianness for SD controller"); return; } =20 --=20 2.47.1 From nobody Mon Feb 9 09:18:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1741460759; cv=none; d=zohomail.com; s=zohoarc; b=U+tMcfjCJ3hLa295JiORH/VIDoPznC9gxCxP3JwllhPf2lrmS6i96m6aTPnFwKXUt3DZmzi2bEuu3BVI+OTnJi08EcTtyhyUx6/r22yipR431pGXg4tVRkO/jQy6rncqheZbin/uHOpggmHabrY9O+/aPvDm33RzPKIXkPEOpkA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1741460759; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=EY3LDQvhSY1UJUDBZWJ0oLgNLpHwNcu9pDPeUp1WnOo=; b=KZ0TgMwC/yXFbiayv16p+13eOUSNMaYdQx+zZHYZjKTjdYdd0ieWm+WPNXH9Sd8Z2dey16XEdcIej80NrOQWasFeUQdKa7k9gB0h+DIgYvc5EYXvRF8ymO/SzdVLSPQWCRdKwMkbBxatmzk3EyXPhZ5y18S5X1ZzHi81HmK0YKY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1741460759372923.4883627743819; Sat, 8 Mar 2025 11:05:59 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tqzSJ-0007Y7-KY; Sat, 08 Mar 2025 14:03:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tqzS7-0007Eu-8D for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:15 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tqzS4-0003c9-PJ for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:14 -0500 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-38f406e9f80so2211511f8f.2 for ; Sat, 08 Mar 2025 11:03:12 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43bd426c56esm127609315e9.8.2025.03.08.11.03.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 11:03:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741460591; x=1742065391; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EY3LDQvhSY1UJUDBZWJ0oLgNLpHwNcu9pDPeUp1WnOo=; b=oeSFy2Fd+bD3R37B8XWknkiECzVgqFAyhtqwpw0+c0hdMb5HSVUxbE12GJ8Am23UET AIame9iC9BnK0fPwiNE6i84nY+hiQ2LUXJdwQYUBGyhQbrqiJ7WWKJ8lN4Riws4l0cNe UCYWmeDOjrEVhBtaUp2MkHLiDgRLtJXLTIW1Y5ZvEx8DojVxaHkXpd+kSDSUqfOI3hx5 30o7j6uIx8fYkWAw4bIzW79aRk4vhMxA+el/9/PSd0UFMow0zYogIUq8RvUycxtl/w+Y zdbGmeJHIZdM+ePyy2mgZFVcPQwN8yKYLk7tJQS0vHjY4iAC+jjTfbIoWb6Am+kVkBz+ 885Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741460591; x=1742065391; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EY3LDQvhSY1UJUDBZWJ0oLgNLpHwNcu9pDPeUp1WnOo=; b=DAT0RY5rkxRINwinWOMTmRwTSDCF0L8NdtPTTYyg/3QyWo2k9nRCD+qmUPaZAMdy5/ HhLOoUa+vDcNCc+u6uXz1LmO+WOwm4OKNkpXMkT3hHNew8INe0ss8KISDQgi2WbJo5TQ SGMs9DoydlLAavIigYwhjJYR5jTuofHSzzP6tgMkNHzLWxbroavKLcQcu7/VB35ebZmW S+NQ9BpJKmy/GDioJtQIDe2d6KP3q2l5cQMXJoZ1w9r6Veu9LVr8CFh6rBiFAk/I2BsY jS0gQKymA9GMSZXqvvyPjj5+lD+4j/tlTrNzIZx8680ohuTmEfHd9sj6BvveBok6g/U0 EGjQ== X-Forwarded-Encrypted: i=1; AJvYcCWq6zGPHuSGXHKGJnPtQ5yqIOfY4j5zKXJPgCMk1dDqflU51Cl+SbYkYP5kZCipU/SLhaLf1YAek38M@nongnu.org X-Gm-Message-State: AOJu0YzZS/uzhGccJPyjg+9/8dApU4aCEThX4XT3MOKoUsOzNWtcQ3cj ZSonV198BKiqHt1FMUrccRwBkVcPI82Iel/yNRgab8fzXq/Anzr0IKFzVyOHY+P0IO1fnQRVHeO Ls2U= X-Gm-Gg: ASbGncvKS2clmh/fA7/QyLUQrrpp6AMefBI1I/JX+ZU3OYI9HkGiJPUAGeYMyxviqCN BNhOWiIMWcseY/1wRHr4e78f42Ue32z2lxtIYwP1nCZQ5gF3SwYEA6mmf57C+mSepZmLU/rzc4D yiV0228ufREHK2yALkFHDpFnN8D9kdG3z9ZU621nLcKuZ1jq43x9TOKIvdovKpcWsMBT0bzAEAF kqkFWpLl5sCUI9UU+cjl0suGfCLwcLGAgc3VBbL42A+hDpJ7En2S2SVdRQu1Ip6nx+eMSTG7b9L K15vyu5fbf9h58ePVw6bx6nmorIR880H0JR5zRCE2yVQi+HNYfUK/vuMAqX0goE+gEjIrEhkDU1 VboHWRimrCdt1gMR8ETw= X-Google-Smtp-Source: AGHT+IEMrmrUgx9XJbSSQoo/RjYcCK25PQsxPRHfM22ATrGgIMYkro+mmELSNksYZdl3Rvxpu4PaFQ== X-Received: by 2002:a05:6000:4109:b0:390:f4c7:ea20 with SMTP id ffacd0b85a97d-39132d6b7f1mr3969482f8f.24.1741460591053; Sat, 08 Mar 2025 11:03:11 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: BALATON Zoltan , qemu-devel@nongnu.org Cc: Bernhard Beschow , Peter Maydell , qemu-ppc@nongnu.org, Andrey Smirnov , Jean-Christophe Dubois , Bin Meng , qemu-arm@nongnu.org, qemu-block@nongnu.org, Guenter Roeck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 08/12] hw/sd/sdhci: Unify default MemoryRegionOps Date: Sat, 8 Mar 2025 20:02:26 +0100 Message-ID: <20250308190230.7508-9-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308190230.7508-1-philmd@linaro.org> References: <20250308190230.7508-1-philmd@linaro.org> MIME-Version: 1.0 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::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1741460761264019000 Note, sdhci_mmio_le_ops[] was missing .impl.access_size =3D 4. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sdhci.c | 41 ++++++++++++++++------------------------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index d115e88c4b9..15e6976220f 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1372,30 +1372,22 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t v= al, unsigned size) value >> shift, value >> shift); } =20 -static const MemoryRegionOps sdhci_mmio_le_ops =3D { - .read =3D sdhci_read, - .write =3D sdhci_write, - .valid =3D { - .min_access_size =3D 1, - .max_access_size =3D 4, - .unaligned =3D false +static const MemoryRegionOps sdhci_mmio_ops[2] =3D { + [0 ... 1] =3D { + .read =3D sdhci_read, + .write =3D sdhci_write, + .impl =3D { + .min_access_size =3D 4, + .max_access_size =3D 4, + }, + .valid =3D { + .min_access_size =3D 1, + .max_access_size =3D 4, + .unaligned =3D false + }, }, - .endianness =3D DEVICE_LITTLE_ENDIAN, -}; - -static const MemoryRegionOps sdhci_mmio_be_ops =3D { - .read =3D sdhci_read, - .write =3D sdhci_write, - .impl =3D { - .min_access_size =3D 4, - .max_access_size =3D 4, - }, - .valid =3D { - .min_access_size =3D 1, - .max_access_size =3D 4, - .unaligned =3D false - }, - .endianness =3D DEVICE_BIG_ENDIAN, + [0].endianness =3D DEVICE_LITTLE_ENDIAN, + [1].endianness =3D DEVICE_BIG_ENDIAN, }; =20 static void sdhci_init_readonly_registers(SDHCIState *s, Error **errp) @@ -1443,8 +1435,7 @@ void sdhci_common_realize(SDHCIState *s, Error **errp) ERRP_GUARD(); SDHCIClass *sc =3D SYSBUS_SDHCI_GET_CLASS(s); =20 - s->io_ops =3D sc->io_ops ?: (s->endianness =3D=3D DEVICE_BIG_ENDIAN ? - &sdhci_mmio_be_ops : &sdhci_mmio_le_ops); + s->io_ops =3D sc->io_ops ?: &sdhci_mmio_ops[s->endianness =3D=3D DEVIC= E_BIG_ENDIAN]; if (s->io_ops->endianness !=3D s->endianness) { error_setg(errp, "Invalid endianness for SD controller"); return; --=20 2.47.1 From nobody Mon Feb 9 09:18:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1741460663; cv=none; d=zohomail.com; s=zohoarc; b=PCK5jNmq7argQP9cu29yPRFDsVGoxvWXw/ZItHvDF1kEHUs1AeEBrnlfFLiu41fxi4t1f/b9L8trdIyr0yuk3Vn6hT25WpqkX32O1ccyG29CDxK7yKDdm9yutLEjZjFOdWRYV61L4ZoCeBOwSbIwnnkdGsOfnQ9bqwccMTb3M/I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1741460663; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=pF2WPF4xppL7qEVeYgXT9lZoDPpMUXtxJ+GDygppA/w=; b=H5/KB1giSPbbhXf3LTdq6TO+KDwzJaibb8V5ics/Y1F4lpthMdHtTDRx9LklIIfXrCq1QWjKr+YVkTMZ9Ke/Jgugm2zgDOXc9VJCQPn8V9AspJUYOml4/NJpn4CkEk2Xqzyjo2bDIxhu1Ysh666NR3gVW8SZ1Jt3dnMMIio+aRs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1741460663598400.1286864112633; Sat, 8 Mar 2025 11:04:23 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tqzSJ-0007Yr-Vl; Sat, 08 Mar 2025 14:03:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tqzSF-0007RA-S4 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:25 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tqzSC-0003dH-PT for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:23 -0500 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-43bcb1a9890so24927235e9.0 for ; Sat, 08 Mar 2025 11:03:16 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ce8a493d0sm30603875e9.1.2025.03.08.11.03.14 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 11:03:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741460596; x=1742065396; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pF2WPF4xppL7qEVeYgXT9lZoDPpMUXtxJ+GDygppA/w=; b=Cj9MSuMZzQAM4JK3z5pwIg1BcS6PWnHfy7LwgDyyiV/ks1Ea1D5j/c2QuxB+qn2icQ JIZee6lhW/0sLWWX8ivwfzhAyJ6jEULr4GyvMRrFAzwmca1sXYlk7Tb0gzIJ/UTrjGWv al9aCQLI5Nj+Ns77hU7Tj+eSNtNu+YQRZMwyXFOxbnag973IXaocW5CH+7eBSbRYAPs0 igN+Yt3PtU+iL3NfGtw9Fgn9TG5RMmjvDAWSVaT0bu+i9IqbiTxtW1jv4HoxGy2ZVhqh +kpMmGoa8s5qzGBEGz0/E6GCbY8uODwkxd9vdGw7ix1J/SngEg7o/rjATEG5O9SmE7W0 vNzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741460596; x=1742065396; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pF2WPF4xppL7qEVeYgXT9lZoDPpMUXtxJ+GDygppA/w=; b=go0Mx/jjSLoqbYue6rBlWmvFVdkHj4SxU/xb0jVy2GxE2XocK6JNsL/sZPflFJEPyd PhvX8S9nLxK/vwPdt+wZ0mWDpWCwNKK8Tx7gN2UZ5X7aihvQ4ZA3VdpD2ewEN6c9Q42h UscpuZtZHz4eRhKOyFIKKUkI7CQtNmenYvxWniBhTX/Pf9Rk+dlQgC3LR+blRvEAaWFp ATOxat1LGfclxqYizQyJu3z/Z0kiDEZweBMjv3lCi8EkmSzrscUmZnY2L8w8ByqcgAn+ KHFzP7Q/6fBR/V664Nm5QbhjsBu2nr6PriKGZBL1/oVtfJtk7lwPoRO8bow8c1WMSYAh 6QdQ== X-Forwarded-Encrypted: i=1; AJvYcCWPHOARO+ztJ2Lt9gS7A8t8VnQtFxMPkMuB9Xkv+0vCSKd2/zsBx4lEzMIIWS3apumfLKvHmZgEitUE@nongnu.org X-Gm-Message-State: AOJu0YyNUO84Fs3klOG4vzBlh1Ad1a9dwIusRxLioCCYRAXnX+W+bXE3 MnRXdebpdiLClD6OsxvSyp5RHNkRQy6tC5Z8AvwD30ZapCjZDbOv+lURC/bLiqg= X-Gm-Gg: ASbGncvnnL6FPBmSPHdlC0sz054n1dft46NlLFFcozyvZQSqleSkoVNldhhK5RJwrNN uF4ZTGdsRReqyYf5yYKZF2kGpSpvA1tw+8XsdfrtIOCLNS1zFGIR77fXDjXXNqkOOuVSh/cShnc l0hU1z7SkxuNVAfhGUR6WwqOJtQhmecqKVkTaUuSsZDUbqDq2PYU2Z0nDcKqihCEXcK7g/QdTww YYXTujh9FukGvXnfUdpbd1V15IZSDcs/5OPO8gAUl3vjNDXmWteIh0Cj6MEZyRvRW+8QJS6m/YJ N1DmrxkKaMKCdR3hfa4zjWEv1vw/UomiBSPfBfJw9KM/O3h4uNFJwuGJrBTgVDyWKP0zJ9hRwbf Eo4o8jgtgBrRtFwScVr1s1o+VfbK9RA== X-Google-Smtp-Source: AGHT+IF0i51orFjihfUAu5DQ8uPq1jOUz/Q9as3GtyL8R/YQ1AkgQYbY7ib9CZXVEKj+M3n9uJr1og== X-Received: by 2002:a05:6000:18a9:b0:391:bc8:564a with SMTP id ffacd0b85a97d-3913af2dcb5mr2860927f8f.22.1741460595830; Sat, 08 Mar 2025 11:03:15 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: BALATON Zoltan , qemu-devel@nongnu.org Cc: Bernhard Beschow , Peter Maydell , qemu-ppc@nongnu.org, Andrey Smirnov , Jean-Christophe Dubois , Bin Meng , qemu-arm@nongnu.org, qemu-block@nongnu.org, Guenter Roeck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 09/12] hw/sd/sdhci: Add SDHCIClass::ro::capareg field Date: Sat, 8 Mar 2025 20:02:27 +0100 Message-ID: <20250308190230.7508-10-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308190230.7508-1-philmd@linaro.org> References: <20250308190230.7508-1-philmd@linaro.org> MIME-Version: 1.0 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=philmd@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1741460665364019100 Capability register is read-only. Since we allow instances to clear/set extra bits, log when read-only bits normally set by hardware are cleared at board level. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/sd/sdhci.h | 5 +++++ hw/sd/sdhci.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 60a0442c805..53aef17ad34 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -115,6 +115,11 @@ typedef struct SDHCIClass { const MemoryRegionOps *io_ops; uint32_t quirks; uint64_t iomem_size; + + /* Read-only registers */ + struct { + uint64_t capareg; + } ro; } SDHCIClass; =20 /* diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 15e6976220f..f08918587ef 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -73,6 +73,7 @@ static bool sdhci_check_capab_freq_range(SDHCIState *s, c= onst char *desc, =20 static void sdhci_check_capareg(SDHCIState *s, Error **errp) { + SDHCIClass *sc =3D SYSBUS_SDHCI_GET_CLASS(s); uint64_t msk =3D s->capareg; uint32_t val; bool y; @@ -208,6 +209,11 @@ static void sdhci_check_capareg(SDHCIState *s, Error *= *errp) qemu_log_mask(LOG_UNIMP, "SDHCI: unknown CAPAB mask: 0x%016" PRIx64 "\n", msk= ); } + msk =3D sc->ro.capareg & ~s->capareg; + if (msk) { + qemu_log_mask(LOG_UNIMP, + "SDHCI: ignored CAPAB mask: 0x%016" PRIx64 "\n", msk= ); + } } =20 static uint8_t sdhci_slotint(SDHCIState *s) --=20 2.47.1 From nobody Mon Feb 9 09:18:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1741460761; cv=none; d=zohomail.com; s=zohoarc; b=DEXahhQCoj74dbQefy+RAd9ZgFg0xlFZ9PaoRYuVGQpqOvsgnAkz3MEWnujUbc6fgwULalgp4jeNxkEKFWlPNxTPbO1SMoRZHrC6RNtmCDSxfZFsuoJG6PiZOKDCL+aaPLPk6YcwsoE/gwuCo0eTt/qB6KmiK//dG0GkZGgd7vw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1741460761; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=DdQ356KPyw7Fp0a97T7o8FXWBighqGS1ZACq8XsdKoI=; b=DTIoEOEIl+STDrY0hrbh6yuj38qUs4SOuJQyZPuUFXFGBjxwh+5QGrdHa1KLypL8BVG6XT6NrCVeecl67kW2UVhQFc4moEEglp+qMnE6DM2KjEod4XqnSH92wovX+QmJSO9Yc2ZgJSdzq8vOJ05E875aQ0PlUk30MNMjmgfdRZM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1741460761410513.717141116457; Sat, 8 Mar 2025 11:06:01 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tqzSJ-0007YR-PJ; Sat, 08 Mar 2025 14:03:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tqzSG-0007RU-E2 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:25 -0500 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tqzSE-0003dk-6a for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:23 -0500 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-43cf034d4abso819725e9.3 for ; Sat, 08 Mar 2025 11:03:21 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c10437dsm9772819f8f.99.2025.03.08.11.03.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 11:03:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741460601; x=1742065401; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DdQ356KPyw7Fp0a97T7o8FXWBighqGS1ZACq8XsdKoI=; b=THyi2zKKUJ305BRTeD9ifIzEjRK3s1OFxxTwTJ2MmCKTefKC5Th1HmW5LPnXUx+S3z HiAvRdK3YUMZQNf0w+xZP8e+11ScLKB0kpdy3kKIgqXDy0NFG05p+fKFV8KOCZ62z/Yk Igckkx2Z8cTwsPRZ3GUJAw6tBBXRgcUqS2KZpNlKFtABfGjFuRBbOewHnn2vBqkc8/2L V/FSmu9HHoHUgJfWnLrpRT/PGY8rbcVK0zlr30hBENn7Gl+/+vLf5x6IXxcuLk5n05J9 9QJwGUkRWw/3XUQEvmCNPW1fkI4kTYsKNxY7G9FOJj7OkONN+r2mEx8tX4qDSSanCKM5 d6iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741460601; x=1742065401; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DdQ356KPyw7Fp0a97T7o8FXWBighqGS1ZACq8XsdKoI=; b=VbvPpZT05seXELfYQZSKW+F7r3hn2R081ojErgN0mZlczr0mpmv//uKI76psh4Q9yx LffUXUKqEybZTbXzZPmFbP7hhS6IXhvlWbXz3aEpUbZ23mObHd4Eo5e/AKgyjthN1x0b cWBdu76nMLSxoe1wfE3HRPIXhrfmJNMAlIMYtwwYB69Reuv1bOGwiK3K08a/3MOSOjQ1 MkrxTlt/nCttiUcxJ92qqRkOlLKG27OGKbrgqsFuWtmyTcLNkmLmuLLr4Xt2zsejdP6S mTefpe7srMYesiidPnPenuoZRkyGrGcVyZJVZg7vN1oF2QN1CldPMx0r04aNY9TmwEd2 Sb9g== X-Forwarded-Encrypted: i=1; AJvYcCXykR8RUOHAWs4exaFtIMRVnSLC5z9yTeTD8CPT9HFUCJhlqM1AoxTBtTpzBMitgdlMkjrdyiCoQQw4@nongnu.org X-Gm-Message-State: AOJu0YxvaLE9aGyBeCR2eteDy8V8SJLRWwcA9m1Lk2T7Vlx/ifvbDXWy ieKSz+dkCW+ovfHsugVq0WvARUAyYYqqFkmVS1HrXcJHgCY3Py4qh/zn1VnTlR8= X-Gm-Gg: ASbGncu8NPeYlZN21ogW4TFX7NrMy3VCoz2jsC99vouQc8GKaw1MaGR9lUdWlXUjMpF nwCB8DPahTC7H7z6ZNWAUSqjnltvj9ZyPbOpTFebrsMQwmK8/ib9iYLkIKg/Z0QkcuN9pQf/LJC wvzVdFwuGpKYNb64t04j6UV+5mHwv66HaLi5CM/XpWron/qWjCok2fItjlmhhBP4oHzJDo3dh7r fCyWq+D78/SKxGL4Bn46wgekA8x3EF5ZNncdT58lE04SaY+hOKougH57c+ALhJjdEla8hBHqUxB v21CcLBQ+u75V7JxY8rtgKA0jyIi2fm2IZ+XkfCTdbBPX9Lg9XyOqa6SFTwVhbe/Yt1bmncEprO 0l3fnPDHDOCd4re2ujp2PNkNUPOrjZg== X-Google-Smtp-Source: AGHT+IEQXnODFQ2reo85x8sh2Cno/mmzLEbILi0Kw9vqHrfMVyIzIz65pDxw1h5o4ws5C4mG+TjKMA== X-Received: by 2002:a05:6000:144d:b0:385:faaa:9d1d with SMTP id ffacd0b85a97d-39132d98bc3mr6314885f8f.35.1741460600656; Sat, 08 Mar 2025 11:03:20 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: BALATON Zoltan , qemu-devel@nongnu.org Cc: Bernhard Beschow , Peter Maydell , qemu-ppc@nongnu.org, Andrey Smirnov , Jean-Christophe Dubois , Bin Meng , qemu-arm@nongnu.org, qemu-block@nongnu.org, Guenter Roeck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 10/12] hw/sd/sdhci: Allow SDHCI classes to have different register reset values Date: Sat, 8 Mar 2025 20:02:28 +0100 Message-ID: <20250308190230.7508-11-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308190230.7508-1-philmd@linaro.org> References: <20250308190230.7508-1-philmd@linaro.org> MIME-Version: 1.0 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::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1741460763628019100 For the registers which are not zeroed at reset, allow the different implementations to set particular reset values. Remove the misleading values commented in sdhci-internal.h. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sdhci-internal.h | 24 ++++++++++++------------ include/hw/sd/sdhci.h | 20 ++++++++++++++++++++ hw/sd/sdhci.c | 14 ++++++++++++++ 3 files changed, 46 insertions(+), 12 deletions(-) diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h index 9072b06bdde..d99a8493db2 100644 --- a/hw/sd/sdhci-internal.h +++ b/hw/sd/sdhci-internal.h @@ -70,7 +70,7 @@ /* R/W Buffer Data Register 0x0 */ #define SDHC_BDATA 0x20 =20 -/* R/ROC Present State Register 0x000A0000 */ +/* R/ROC Present State Register */ #define SDHC_PRNSTS 0x24 #define SDHC_CMD_INHIBIT 0x00000001 #define SDHC_DATA_INHIBIT 0x00000002 @@ -88,7 +88,7 @@ FIELD(SDHC_PRNSTS, CMD_LVL, 24, 1); #define TRANSFERRING_DATA(x) \ ((x) & (SDHC_DOING_READ | SDHC_DOING_WRITE)) =20 -/* R/W Host control Register 0x0 */ +/* R/W Host control Register */ #define SDHC_HOSTCTL 0x28 #define SDHC_CTRL_LED 0x01 #define SDHC_CTRL_DATATRANSFERWIDTH 0x02 /* SD mode only */ @@ -104,17 +104,17 @@ FIELD(SDHC_PRNSTS, CMD_LVL, 24, 1); #define SDHC_CTRL_CDTEST_INS 0x40 #define SDHC_CTRL_CDTEST_EN 0x80 =20 -/* R/W Power Control Register 0x0 */ +/* R/W Power Control Register */ #define SDHC_PWRCON 0x29 #define SDHC_POWER_ON (1 << 0) FIELD(SDHC_PWRCON, BUS_VOLTAGE, 1, 3); =20 -/* R/W Block Gap Control Register 0x0 */ +/* R/W Block Gap Control Register */ #define SDHC_BLKGAP 0x2A #define SDHC_STOP_AT_GAP_REQ 0x01 #define SDHC_CONTINUE_REQ 0x02 =20 -/* R/W WakeUp Control Register 0x0 */ +/* R/W WakeUp Control Register */ #define SDHC_WAKCON 0x2B #define SDHC_WKUP_ON_INS (1 << 1) #define SDHC_WKUP_ON_RMV (1 << 2) @@ -128,17 +128,17 @@ FIELD(SDHC_PWRCON, BUS_VOLTAGE, 1, 3); #define SDHC_CLOCK_IS_ON(x) \ (((x) & SDHC_CLOCK_CHK_MASK) =3D=3D SDHC_CLOCK_CHK_MASK) =20 -/* R/W Timeout Control Register 0x0 */ +/* R/W Timeout Control Register */ #define SDHC_TIMEOUTCON 0x2E FIELD(SDHC_TIMEOUTCON, COUNTER, 0, 4); =20 -/* R/W Software Reset Register 0x0 */ +/* R/W Software Reset Register */ #define SDHC_SWRST 0x2F #define SDHC_RESET_ALL 0x01 #define SDHC_RESET_CMD 0x02 #define SDHC_RESET_DATA 0x04 =20 -/* ROC/RW1C Normal Interrupt Status Register 0x0 */ +/* ROC/RW1C Normal Interrupt Status Register */ #define SDHC_NORINTSTS 0x30 #define SDHC_NIS_ERR 0x8000 #define SDHC_NIS_CMDCMP 0x0001 @@ -151,7 +151,7 @@ FIELD(SDHC_TIMEOUTCON, COUNTER, 0, 4); #define SDHC_NIS_REMOVE 0x0080 #define SDHC_NIS_CARDINT 0x0100 =20 -/* ROC/RW1C Error Interrupt Status Register 0x0 */ +/* ROC/RW1C Error Interrupt Status Register */ #define SDHC_ERRINTSTS 0x32 #define SDHC_EIS_CMDTIMEOUT 0x0001 #define SDHC_EIS_BLKGAP 0x0004 @@ -159,7 +159,7 @@ FIELD(SDHC_TIMEOUTCON, COUNTER, 0, 4); #define SDHC_EIS_CMD12ERR 0x0100 #define SDHC_EIS_ADMAERR 0x0200 =20 -/* R/W Normal Interrupt Status Enable Register 0x0 */ +/* R/W Normal Interrupt Status Enable Register */ #define SDHC_NORINTSTSEN 0x34 #define SDHC_NISEN_CMDCMP 0x0001 #define SDHC_NISEN_TRSCMP 0x0002 @@ -170,7 +170,7 @@ FIELD(SDHC_TIMEOUTCON, COUNTER, 0, 4); #define SDHC_NISEN_REMOVE 0x0080 #define SDHC_NISEN_CARDINT 0x0100 =20 -/* R/W Error Interrupt Status Enable Register 0x0 */ +/* R/W Error Interrupt Status Enable Register */ #define SDHC_ERRINTSTSEN 0x36 #define SDHC_EISEN_CMDTIMEOUT 0x0001 #define SDHC_EISEN_BLKGAP 0x0004 @@ -205,7 +205,7 @@ FIELD(SDHC_HOSTCTL2, VERSION4, 12, 1); /* since = v4 */ FIELD(SDHC_HOSTCTL2, ASYNC_INT, 14, 1); FIELD(SDHC_HOSTCTL2, PRESET_ENA, 15, 1); =20 -/* HWInit Capabilities Register 0x05E80080 */ +/* HWInit Capabilities Register */ #define SDHC_CAPAB 0x40 FIELD(SDHC_CAPAB, TOCLKFREQ, 0, 6); FIELD(SDHC_CAPAB, TOUNIT, 7, 1); diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 53aef17ad34..e24392eb10d 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -116,6 +116,26 @@ typedef struct SDHCIClass { uint32_t quirks; uint64_t iomem_size; =20 + /* Default reset values */ + struct { + uint32_t sdmasysad; + + uint16_t blksize; + uint16_t blkcnt; + + uint32_t prnsts; + + uint8_t hostctl1; + uint8_t pwrcon; + uint8_t blkgap; + uint8_t wakcon; + + uint16_t clkcon; + uint8_t timeoutcon; + + uint16_t norintstsen; + uint16_t errintstsen; + } reset; /* Read-only registers */ struct { uint64_t capareg; diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index f08918587ef..cda608f8ec2 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -294,6 +294,7 @@ static void sdhci_set_readonly(DeviceState *dev, bool l= evel) =20 static void sdhci_reset(SDHCIState *s) { + SDHCIClass *sc =3D SYSBUS_SDHCI_GET_CLASS(s); DeviceState *dev =3D DEVICE(s); =20 timer_del(s->insert_timer); @@ -306,6 +307,19 @@ static void sdhci_reset(SDHCIState *s) */ memset(&s->sdmasysad, 0, (uintptr_t)&s->capareg - (uintptr_t)&s->sdmas= ysad); =20 + s->sdmasysad =3D sc->reset.sdmasysad; + s->blksize =3D sc->reset.blksize; + s->blkcnt =3D sc->reset.blkcnt; + s->prnsts =3D sc->reset.prnsts; + s->hostctl1 =3D sc->reset.hostctl1; + s->pwrcon =3D sc->reset.pwrcon; + s->blkgap =3D sc->reset.blkgap; + s->wakcon =3D sc->reset.wakcon; + s->clkcon =3D sc->reset.clkcon; + s->timeoutcon =3D sc->reset.timeoutcon; + s->norintstsen =3D sc->reset.norintstsen; + s->errintstsen =3D sc->reset.errintstsen; + /* Reset other state based on current card insertion/readonly status */ sdhci_set_inserted(dev, sdbus_get_inserted(&s->sdbus)); sdhci_set_readonly(dev, sdbus_get_readonly(&s->sdbus)); --=20 2.47.1 From nobody Mon Feb 9 09:18:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1741460736; cv=none; d=zohomail.com; s=zohoarc; b=SDkjBg8+FKz1T+HfL3P4W0eNBzswHe9KVYupZDwSi2DkKUQURuI7egiShCdiW/iMDeoFIHocbq0LOiwLqxODtuvkgagHJrRCKetc3sbtj/lj3bcdr7TCMyaRKVuoT9fpMSpNSN5+pNv0VLvow8psW8j0MG+sJHkvgNBcJPJGx2g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1741460736; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=kVOO+KOKZ3d7DAin1HuzOowHrfcYHXZ8ykM+c1XZbKY=; b=FnXyD5hdp+0TnsBfPIfsWaNKBbiZU1Bej6lm30ss2IBpJNkMLqR7x9Nz/SL/sE1IimrTI8XYmc3U+kL2ijOj7xv/oFY039snu3gE2pvDIPNsaFQf5Mrbta+Qxkf2wIih6dXrptnz+l0sHA+Jq1ZlFhKioYi1MiSU6aA347OTEo8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1741460736797510.923033862986; Sat, 8 Mar 2025 11:05:36 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tqzSb-0007vQ-M7; Sat, 08 Mar 2025 14:03:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tqzSO-0007j1-4b for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:33 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tqzSK-0003fY-Mb for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:30 -0500 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-4394a823036so24828035e9.0 for ; Sat, 08 Mar 2025 11:03:28 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43bd4292b06sm121601615e9.14.2025.03.08.11.03.24 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 11:03:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741460607; x=1742065407; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kVOO+KOKZ3d7DAin1HuzOowHrfcYHXZ8ykM+c1XZbKY=; b=fth54c2r1QJZu+IEBe3PaTHBdIkGuJ0dm035QJonEBZPXNFZ6YhYobkOQEz3lBScO3 6pvKNR4lJSL0ZeKbTbIQ+cCFxn/2n8fsociN4p0QhRFmmkr9mjqbUUcZk5KaIbvCCPpf rQpxXHgveOrGaRZlGDtzrvgjFw5cZ2XZS2/ludtuV7NxadVeV1CU7/s0EQGv96LFKCBm p8/n2XtyxDzBmjb4ZAvzhnxg4IiUmtYxjZEJzxUYlJiAGAADzgth1V3rFw/0wViek2v5 ixJWyf5sfqNU/jdG3qC65o70/s8YzR9QBp7gVew6ZRa/S7eGNheYGNfbfnbL/LcT6RHw zGEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741460607; x=1742065407; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kVOO+KOKZ3d7DAin1HuzOowHrfcYHXZ8ykM+c1XZbKY=; b=Hl0fTqV2xqALLz4lOMBWoOOyPGetqfspcC9HdVkQwzzId5I407w/nxYA2V+LfFdwkd Q2lM55K54unUtU3JuIgtUUlp6YIKBOnfDCqfMRdcEFRnvZBNBUdoetgdBXQtZo61G7ky gPyrPef/vdoyDqTuH0ZXo06LJbYz8ZEgTGEGnxaTsXIOph5CQS3PEeVKL8ez/hD4ZFeN e4/GNPBy5Hur1Umm2Q4XeUZw2l6iG8ibqkykp6iYjPXIPZUDHwbBOtGxPN4gpT+UsQli ouyYP0HPpeemY5ihJbIx25Ol/Py/GXFN6QQfoUpsOuXsd/oZ8pLYd5ktvQVM8F+9RS3G 0A8w== X-Forwarded-Encrypted: i=1; AJvYcCUzD6oJrdWsGkFKi831POguXUF5yGeMbOjNmyvTICVgjF51AgxmR2p6KSKJ/aef+8bHLsJkGTmrvYRb@nongnu.org X-Gm-Message-State: AOJu0YzkTYqzBUfGJsFZ7yVW8Svsz8jiXbB+VNALZQy4d+Klzajsj94Q U6HejqcFdL3iCUoOh+8LWA1gf7kG1lozOERS9LUmbqCLIkS/YQZXmmRo1yqlJxk= X-Gm-Gg: ASbGncvL14D5RjzFa7XSFY/syMPrQhnQneHkfB3qz64NQcHrlgNM88IWcevKRAP7YJs ZxlgYkTvkwvGgxG9MIwehnhN94ASXVWmiorw4v0/aTb+zDnk6QaBc6tWqd9IXDuI+nW3hWiNyxH Qh3tMVFC3rf8mp2d7hMVRDH7Y0W+dZpYGgrP3IOafTTOuCCTKdeQZNOMYWC15z24RfvAuq77V+L pL55x7mhDNnLbZmkQ6GWgkrbm8YhN8zu4ww9vCxr+uxj5+9/m9qsu4MSpjCzpTdJqJyEq9Fck/9 hNnV6JlAaV5mKr++3a9xdGrh5T2Rd1Z6Wx8k82bZB+iprYUz47CxG8Aa+wYnTmzORGXZOFut4wn v4hsG11u7fqORRyfGjleaIptZXDavjQ== X-Google-Smtp-Source: AGHT+IGZHSWxXsqeojMrckI//i5cN5T0tUksqSbOEJbdow1NHIrqOub4VC6CeswuqKYhLaMd/MO2XQ== X-Received: by 2002:a05:600c:2e49:b0:43c:ec0a:ddfd with SMTP id 5b1f17b1804b1-43cec0adf09mr11917065e9.6.1741460606973; Sat, 08 Mar 2025 11:03:26 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: BALATON Zoltan , qemu-devel@nongnu.org Cc: Bernhard Beschow , Peter Maydell , qemu-ppc@nongnu.org, Andrey Smirnov , Jean-Christophe Dubois , Bin Meng , qemu-arm@nongnu.org, qemu-block@nongnu.org, Guenter Roeck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 11/12] hw/sd/sdhci: Implement Freescale eSDHC as TYPE_FSL_ESDHC Date: Sat, 8 Mar 2025 20:02:29 +0100 Message-ID: <20250308190230.7508-12-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308190230.7508-1-philmd@linaro.org> References: <20250308190230.7508-1-philmd@linaro.org> MIME-Version: 1.0 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::32e; envelope-from=philmd@linaro.org; helo=mail-wm1-x32e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1741460739370019100 Per the MPC8569E reference manual, its SDHC I/O range is 4KiB wide, mapped in big endian order, and it only accepts 32-bit aligned access. Set the default register reset values. Reported-by: BALATON Zoltan Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/sd/sdhci.h | 2 ++ hw/sd/sdhci.c | 37 ++++++++++++++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index e24392eb10d..0e9d3b10d1b 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -161,6 +161,8 @@ DECLARE_INSTANCE_CHECKER(SDHCIState, SYSBUS_SDHCI, DECLARE_CLASS_CHECKERS(SDHCIClass, SYSBUS_SDHCI, TYPE_SYSBUS_SDHCI) =20 +#define TYPE_FSL_ESDHC "fsl-esdhc" + #define TYPE_IMX_USDHC "imx-usdhc" =20 #define TYPE_S3C_SDHCI "s3c-sdhci" diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index cda608f8ec2..a78cff40fb1 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1644,7 +1644,37 @@ static void sdhci_bus_class_init(ObjectClass *klass,= void *data) sbc->set_readonly =3D sdhci_set_readonly; } =20 -/* --- qdev i.MX eSDHC --- */ +/* --- Freescale eSDHC (MPC8569ERM Rev.2 from 06/2011) --- */ + +static const MemoryRegionOps fsl_esdhc_mmio_ops =3D { + .read =3D sdhci_read, + .write =3D sdhci_write, + .valid =3D { + .min_access_size =3D 4, + .unaligned =3D false + }, + .endianness =3D DEVICE_BIG_ENDIAN, +}; + +static void fsl_esdhc_class_init(ObjectClass *oc, void *data) +{ + SDHCIClass *sc =3D SYSBUS_SDHCI_CLASS(oc); + + sc->iomem_size =3D 0x1000; + sc->io_ops =3D &fsl_esdhc_mmio_ops; + sc->ro.capareg =3D 0x01e30000; + sc->reset.sdmasysad =3D 8; + sc->reset.blkcnt =3D 8; + sc->reset.prnsts =3D 0xff800000; + sc->reset.hostctl1 =3D 0x20; /* Endian mode (address-invariant) */ + sc->reset.clkcon =3D 0x8000; + sc->reset.norintstsen =3D 0x013f; + sc->reset.errintstsen =3D 0x117f; + + sdhci_common_class_init(oc, data); +} + +/* --- qdev i.MX uSDHC --- */ =20 #define USDHC_MIX_CTRL 0x48 =20 @@ -1974,6 +2004,11 @@ static const TypeInfo sdhci_types[] =3D { .class_size =3D sizeof(SDHCIClass), .class_init =3D sdhci_sysbus_class_init, }, + { + .name =3D TYPE_FSL_ESDHC, + .parent =3D TYPE_SYSBUS_SDHCI, + .class_init =3D fsl_esdhc_class_init, + }, { .name =3D TYPE_IMX_USDHC, .parent =3D TYPE_SYSBUS_SDHCI, --=20 2.47.1 From nobody Mon Feb 9 09:18:25 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1741460776; cv=none; d=zohomail.com; s=zohoarc; b=gSIPgG5pbdVFOi6PIzhc/Mjh6x0KXcJahw8uyQeDDfDHdWio5Rhc74Vr9EdhQprjGDy8qVbJ1cLwynbvqNXTKLmPbW1m1UGVqLfB32cCtpHhLprX9UKHzqf7Jy97et8rQY5fzCi1ja5Jgq6C9jqxxpnjDH3dA8eDXlqy35JMWu4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1741460776; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=NQvf9YM7B8m3c5YxTAHSd6W3rVOYDlZhVENkZCcVArU=; b=AM4G1iPM4wP3k72T7j4p+kqD5PnuJrDsip1ceviDfF9gNu50A1Ww4Gx+CcBY/MLygymUqnvPjm0vS11g8v4LR5lh/zw3QrsRMf1hkXoRL0oys0mVF9iDlVuK595aiaGWr2XJ7CST0zY1yQ2LUqn7ufcYd6ewrzp09HiyD1o3lvI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1741460776331393.556745755439; Sat, 8 Mar 2025 11:06:16 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tqzSb-0007uQ-3Q; Sat, 08 Mar 2025 14:03:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tqzSS-0007nR-9l for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:37 -0500 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tqzSP-0003gK-Bo for qemu-devel@nongnu.org; Sat, 08 Mar 2025 14:03:35 -0500 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-4394a0c65fcso31866405e9.1 for ; Sat, 08 Mar 2025 11:03:32 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43cef25f075sm8657555e9.28.2025.03.08.11.03.30 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 11:03:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741460612; x=1742065412; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NQvf9YM7B8m3c5YxTAHSd6W3rVOYDlZhVENkZCcVArU=; b=ns7w44LpXorsU85iHgW4I+sy4YZiFIbUGrxrYIO3zGZgUrCYErwMS7DastTk2/5Ia9 BbivITkqji2ZU/7O60c7+OI8ldosEawK5UUerppY7An0PAI653nyH6em5k2pt3jkREVK i5CXzRjhj0q4QadMYibk5r4szDDcMHW98T7KSScB0ikDOpTCNSqXfUkCnPoZc+zYWoba 6oYhZyIvKr0CbSox5LwVV/RyFZiEQsaMo3wYbMiRXjCB45GVBBHJXpjLRm9RsNDItCbz 4KQ+JxzxBnfOTGWWRueAoEhoaeecuXoQWcmYhzPQuwhmUeuN0sbIHKYlRbMPMEsqGi5t V33Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741460612; x=1742065412; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NQvf9YM7B8m3c5YxTAHSd6W3rVOYDlZhVENkZCcVArU=; b=eInafLM1B6JkNjk1/89YaUo8GaLVeXuIQxEjZyzWWHvj4IQcFea/ucJaSqotpnbYIo mPcJVokLxjlks7DM936/UrZu81tk3jfrIOLHm89sSZWgMMmlZVYlnYOVL6uX6/wwOuA8 7dNFrXq8UjULFvo+cb0faUSOKuOJqpAmw9H6WKZ15hh6UpDsT93xTll8jc4tBnOoQzf+ 0DcFsr2ud8W+vBWeEGBCX6i0S2xcJjkwEHEPnoiAM0UzZ8k0ye0aIzinuo8aQj19LHit wYar967nWEtyc8l6n4L+V3gESe227xWfuFp2MdqfwjuDS/3PWeNtlU2wCQRSiFVi95C3 RHQA== X-Forwarded-Encrypted: i=1; AJvYcCVDDFeWUzYhns77X2FqTMZyAXt0t4xAArGgTHUH7az7IiT0m/qxNGuUNa/iDu7hMjKuGAGyiAjxMYQM@nongnu.org X-Gm-Message-State: AOJu0YzZgAxZDIrDtTaTw5+BJvRc8Wyjcw91ygFisXAWhau11Hh2nceZ mTWh3lEucIDdEKkR+iFGJYo00tDU6IObBhOidmDf8/IiIwFMMVtWkfPRYaYNChM= X-Gm-Gg: ASbGnctzMq9r/lps9nKB86cTwTeM4YeDv7FDpzULn3v3LrpVzRZYb1Bar7SHCbHNSW2 W7n7qTbfAolrZtip/sbqJ3TtTGF+YiQrst8912oYjZsg2q+drVpNSo+r49QmUqCskgFhK7zT4FE jH2+LfF+NXaD8fAOIqdcnGU5zXlN2pFUPK0YAMWyHIQpGKC+x6yDVFuGMTVuapcAcKI+lS32GBW I1Lh23oXUoKOAt8IA/AGiKQqBj8VpdBMk/b4N7bFArWg0CKc7TfRVlv8qEOCWwzZfI4TKJcn9Do +Ph42geQ6fJhNExQcEu/VBMen6IErp/ynjm60Xt2ylSY4EXFI1IQTOqz+9C0J6COzW5+wD87Mhb 0PX2luJ3C3wESlIsTFH0= X-Google-Smtp-Source: AGHT+IGH6OhdtLkPy1QuRlm60sPfB8LFJ6lvzms//nyrr1cC5Hw2r5tfojRiqjEMDa39OLL9kXIfAw== X-Received: by 2002:a05:600c:1d24:b0:439:916a:b3db with SMTP id 5b1f17b1804b1-43c5a6301b5mr61265805e9.6.1741460611733; Sat, 08 Mar 2025 11:03:31 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: BALATON Zoltan , qemu-devel@nongnu.org Cc: Bernhard Beschow , Peter Maydell , qemu-ppc@nongnu.org, Andrey Smirnov , Jean-Christophe Dubois , Bin Meng , qemu-arm@nongnu.org, qemu-block@nongnu.org, Guenter Roeck , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 12/12] hw/ppc/e500: Replace generic SDHCI by Freescale eSDHC Date: Sat, 8 Mar 2025 20:02:30 +0100 Message-ID: <20250308190230.7508-13-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308190230.7508-1-philmd@linaro.org> References: <20250308190230.7508-1-philmd@linaro.org> MIME-Version: 1.0 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::32b; envelope-from=philmd@linaro.org; helo=mail-wm1-x32b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1741460777475019100 As Zoltan reported, some U-Boot versions seem to expect correctly initialized registers before expecting interrupts. Now than we have a proper Freescale eSDHC implementation, use it. Reported-by: BALATON Zoltan Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/ppc/e500.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index fe8b9f79621..e69551ccdb3 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -1027,20 +1027,12 @@ void ppce500_init(MachineState *machine) =20 /* eSDHC */ if (pmc->has_esdhc) { - dev =3D qdev_new(TYPE_UNIMPLEMENTED_DEVICE); - qdev_prop_set_string(dev, "name", "esdhc"); - qdev_prop_set_uint64(dev, "size", MPC85XX_ESDHC_REGS_SIZE); - s =3D SYS_BUS_DEVICE(dev); - sysbus_realize_and_unref(s, &error_fatal); - memory_region_add_subregion(ccsr_addr_space, MPC85XX_ESDHC_REGS_OF= FSET, - sysbus_mmio_get_region(s, 0)); - /* * Compatible with: * - SD Host Controller Specification Version 2.0 Part A2 * (See MPC8569E Reference Manual) */ - dev =3D qdev_new(TYPE_SYSBUS_SDHCI); + dev =3D qdev_new(TYPE_FSL_ESDHC); qdev_prop_set_uint8(dev, "sd-spec-version", 2); qdev_prop_set_uint8(dev, "endianness", DEVICE_BIG_ENDIAN); s =3D SYS_BUS_DEVICE(dev); --=20 2.47.1