From patchwork Sat Mar 8 21:36:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 871552 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp328479wri; Sat, 8 Mar 2025 13:38:43 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXdJVjqvssY4tQngjN7S+MhS+xajHD67Dxh6WFm6BGgYTDBeIfWN07b17fv4GfiaQ4eq20tQw==@linaro.org X-Google-Smtp-Source: AGHT+IFIZGuV0ceklmzMwy0PKRwoWUEZtFHpQd0/4AHOrZdieHGmbiEhhu25rMasXfD1GsYY4O7s X-Received: by 2002:a05:622a:2b0c:b0:476:671e:dead with SMTP id d75a77b69052e-476671ee897mr53823911cf.21.1741469923330; Sat, 08 Mar 2025 13:38:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741469923; cv=none; d=google.com; s=arc-20240605; b=FWLJn+2sFGz+qnIkpwijFovWhC5r71BFTbPTQ2NLGa8KmqobNTwhj9kYpGyCkIsJa+ G8+hxxW038Prw+Llbd3ToxC8pfI9lkEhcSixFEW1tkHcVHtPgANpZ00+9yNHmb/yEjJM t3XCsclVe1GA9I8s078GC0noc9XOjCpR/RoOkcnJjHrJZ2syas3zVH536U4ownLDgU3U sWGH2Dww2q5FbcEpwr90jJutVdLaH5IuinVlE2ANqdtB7a7doRfgf//+g1hDiLaYMpO/ 6UnNx0VAe5K66Lg6D2NW+SxspKoj8DvT+6hjmrWSRVXwZWEPceDll161SkSkUj0I36bR UAhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=WDbWzQ3TRhfqcCdGrWE6Ka+gW+QxOu8dbIYkiLZFWgQ=; fh=0aqMpdNpISQJCzOYtHef9CdeEduyrfTLGfdd21icOMA=; b=EV9WXJcrveqBWTOePSxBRIsqWtLQEWT1OPqDzJpy9KcfIkJiK8Tg/70wvQ18Obo8Ab LPzpbFj8ok6tXcU7s/rMxf+7IO1pcvvLJoVCbtAnPzJ7w/Zre+VwczhD7FguLBwHvmjX 2Bw+7EqNub4Z6eAq6r0+RMfFKWp2c3YjYbBqD8OAOJHhH8apeHAe69kSuVsU5k6yVh3V Pm8tuH9REaTeDeYG8fXxIYcgscC+vw7sZ//Fj7pisD16D1ZZdkMM8qQdFPz/CtL4/e5C 5lRSL0YGXYMN/ZMtnFc9gBcldodLjG/WU0fr9C/WbvnDoEttwtPPu2CN1mlcwudu9Zrw RPXQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UC18KpIM; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-47676988957si10042831cf.256.2025.03.08.13.38.43 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Mar 2025 13:38:43 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UC18KpIM; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr1r8-0005VD-5Z; Sat, 08 Mar 2025 16:37:14 -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 1tr1qn-0005L0-44 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:36:55 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr1qk-0003re-CG for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:36:52 -0500 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-43bcb1a9890so25212345e9.0 for ; Sat, 08 Mar 2025 13:36:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741469808; x=1742074608; 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=WDbWzQ3TRhfqcCdGrWE6Ka+gW+QxOu8dbIYkiLZFWgQ=; b=UC18KpIMYVewhQMRLfuFu9ytC+o5y2jG91K7piSEqDd08VVSLkqv2xTt0AmXhAtudp JDm6nyFYyXHW75GnxsI/1YrOMO+T/Lgc+M6HygKnYZPceffVf9yIxQV7nFsrWaWNik4y OY3FeIGUKT3Ync+K/RhVdda+hzqLrD8W+VMIfJ1AO05A9GrcU64+3Syra+6eUMhxT6wd iz6zO9eCsqUFQyHMf0uxxnUth++UuT1WQd+Lgox9VB6XcjlSL6FFFXby1tuwYf7SsZiW Jc6DJMOH9V/rLGeSEWlIbI9qroW8clC0IeG/adR8+XsPFoWb1/R7bYPVI1aQI5lzjDKn h4IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741469808; x=1742074608; 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=WDbWzQ3TRhfqcCdGrWE6Ka+gW+QxOu8dbIYkiLZFWgQ=; b=O5pJ7U/EA2eKHrhD6rdkxTCMGlvfE09TFWn5qdhxK1H4MUGqjnqweA/zMmUfZ1AbcJ rpZ1QAtXxHsDJSa5YBmti5jx571RMoKDpJ15wq+x0B/ywMmygQfjyXbfbuAB7k+xqfxh udYzUf6NqQxALA5HzFLa22MLBRoSycKNQXBwjp20LDAaDk1mr+vWWLmaxwrXFjs7AOl4 oCcl94L5ZZlgKudRMwTILfD+QQKET103G10nS2tmZOjuxRxMCS2SdPHZQkXi+bakCjiJ HQG2XOjvp2m6UlyNAlE5V6D+G+NCR6VMW3Nxgp2fasBPk1ADVz7uEDk9NY1r8J2eEsDr MwoQ== X-Gm-Message-State: AOJu0Yyab92xyt1OpbyYKcAnv7+uWTEs3VfRQ96nuTbioO0i/FGlXWZ4 8vNqkqgBJQW4hgcwXynUwj6S9NJ6SLvFczIA6584Ocb7U/0RqyCcpp7IyHOxlEJZWZNfasxU3SR Q4CY= X-Gm-Gg: ASbGncu6Px5r95RNqPdLi7s9UfwPe/XPrelJdgaRovG9o0ZEEnpOx+05ZaEFO25FNCu XDnWIIGpbbARRkrEuA90YZQPEInijyI5W9WdH65Cs1gMdSW+GFST4tsE149FHhjj6G05XNNl1nZ 1cvEMmEEYYJBXhoyIgGT1HlRJW0alUPYeJ7xeey+9Rh1NlxdPv69oq4tUBtgMSWJSGSFptSRTzm rBPgflDj2mTLvj7L7VRmH8knWN2o6eDHP6NbP6QlK8+N5uTPUNrsULKutmxbyeGXVXMxc395Snq t/qO6lAXHXzU/dbxTpG8tiRJkpyPwcVbCe6yQ5IXebCI5no56eOUaeroCqkYVhPV9gaDCgvnosS M2oF7Devyf2Ehi2Km5ts= X-Received: by 2002:a05:600c:3b0d:b0:43b:c7f0:6173 with SMTP id 5b1f17b1804b1-43ce4ac7369mr24625595e9.4.1741469808250; Sat, 08 Mar 2025 13:36:48 -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-43bdd8c3aa8sm94423005e9.14.2025.03.08.13.36.47 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 13:36:47 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, BALATON Zoltan Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrey Smirnov , Bernhard Beschow , Jean-Christophe Dubois , Guenter Roeck , qemu-block@nongnu.org, Bin Meng , qemu-arm@nongnu.org Subject: [PATCH v4 01/14] hw/qdev-properties-system: Include missing 'qapi/qapi-types-common.h' Date: Sat, 8 Mar 2025 22:36:27 +0100 Message-ID: <20250308213640.13138-2-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308213640.13138-1-philmd@linaro.org> References: <20250308213640.13138-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org DEFINE_PROP_ENDIAN_NODEFAULT() macro uses ENDIAN_MODE_UNSPECIFIED which is defined in "qapi/qapi-types-common.h". Fixes: 4ec96630f93 ("hw/qdev-properties-system: Introduce EndianMode QAPI enum") Signed-off-by: Philippe Mathieu-Daudé --- include/hw/qdev-properties-system.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/hw/qdev-properties-system.h b/include/hw/qdev-properties-system.h index b921392c525..49a3825eb46 100644 --- a/include/hw/qdev-properties-system.h +++ b/include/hw/qdev-properties-system.h @@ -1,6 +1,7 @@ #ifndef HW_QDEV_PROPERTIES_SYSTEM_H #define HW_QDEV_PROPERTIES_SYSTEM_H +#include "qapi/qapi-types-common.h" #include "hw/qdev-properties.h" bool qdev_prop_sanitize_s390x_loadparm(uint8_t *loadparm, const char *str, From patchwork Sat Mar 8 21:36:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 871553 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp328483wri; Sat, 8 Mar 2025 13:38:44 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVlwgFEOTBeTnGAMkPPC06k8xbX+IeT/ON5/Q/5RQOpIfibuD6+E1W8OqPqFBWKEDOlMGufjw==@linaro.org X-Google-Smtp-Source: AGHT+IF0HfWV2+3wA4oAJxjlsdrA8iJ1CfmOsNhuH/sX53GOYO5BWCUn8nxx4OJayYJZxeEQoDlh X-Received: by 2002:a05:622a:20a:b0:475:812:d4c1 with SMTP id d75a77b69052e-476109be0e9mr110840641cf.28.1741469924326; Sat, 08 Mar 2025 13:38:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741469924; cv=none; d=google.com; s=arc-20240605; b=X9bu9buUTNBb90gBE/mP0JF+f4XPKznuo/jNb7E7mS/JA18IvLlCj5D7PYXh5mRKKd Fr2jJCp6CS+Y3Pbuyf51jy+rjQSYUIM9jgkywpyxC6CN/NMCtHOnF00MIS0szz6lIX6m 4HmNuNIJWtvHm5WTHVyxoEwtdmWTbWeikmPgvxgaWijxO/dq0JewHse+BbrSlF5YSjs8 yYZynGFlh1/oiu+svwe8iZCUJxd2b9eW0iRDcB+R53VOF2rQUrPqjusUleJLT0p+L2Vu mVB/SSpatAOfUDe3oztN5qZwjZcHlE6+meBbcwwh8zCpdaO4TIJYZ60z9+027TrywZGR PRow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=F+yC7kcIFYBDlEb5elpDYxZqmpjHBPCkNQfWZnM7SA0=; fh=0aqMpdNpISQJCzOYtHef9CdeEduyrfTLGfdd21icOMA=; b=ReegC34dOw6XC8j6/pAPs0gnYzCTIMECrhC1kjx0dkka3tNyvndE8ZUHqKSmwOyWuG AVDuNtl6Gi9NtEc93t7r+yP/XaTiRRoytKvhcd36fjAK60LOqGWpCI1YUeA1qJqoB1US AWstwvQz0Zp2cgDxnSpVOX1JEOFpj7vb/oqck01UMKrzNRAjuhtg4Z6PsQIuiQChrb62 lOTJwfj4M0RYyL2bVnqpDydRk5+pCNWjTjSGXBHhXvKyUjZ0pZEHScJTE+je0j9qEybu wmeDLUrYeN6Uz+2Tpl7QmJsqEF5hho+qUQ+qkkpMOmf70Ad0c9w7OWSI09YoiiTjNq3I qJ2g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=BjCbZPjC; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4751daf87c5si61994081cf.303.2025.03.08.13.38.44 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Mar 2025 13:38:44 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=BjCbZPjC; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr1ro-0005mb-VA; Sat, 08 Mar 2025 16:38:04 -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 1tr1qs-0005Mf-0l for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:36:59 -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 1tr1qp-0003sM-6A for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:36:57 -0500 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-43bc30adad5so17910095e9.1 for ; Sat, 08 Mar 2025 13:36:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741469813; x=1742074613; 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=BjCbZPjCwiRdfpWd2AJ8TCcOhjpi8MKu7taByejvKxvlnbmv4QiHkaqKXziS72QewF bPIvVg6V+V8rFOHbCOgL7rO69AX4wWBzagddevAw+0d4xXA2r9PX187OCs7T4p6jMcYI /7Z8doYz1PAjpqdzRyjMwrsxSc74bKbijphEsc7G54NzXVC+YpxF64ZoXV3/+H/zYCj1 0GOMCDJeBV+sel9BFRF6JoQLcm2GPIK1JvW8ursl+CJ3ZsFBqlWyHMa+CJGKrxEU4wMu bZVBNRoUYqVKGEdzrZ6pYMNhkEpJO2vNETrs/CnUu25hnt9N3JI7ytQsm5Vm9KQeTtl8 N1rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741469813; x=1742074613; 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=evxl20X8u/mRQ0da7z4USmXPJtaKn5ZGYAJJJMVQC1yr2UESEDyVDzA41cUNjqcDmT dycMiecsWHLbhMUiYzs2NhrjhpM31ihFUFs18E8jqE0yQmC4aexi2HcoIXJFPjNcCBJy yk90iHD2QKQ0cUPHNYhEinifd7gK01W+r0WbilroZf9lexJdZUaPj+9D9aE43DKgAj5J ZmePvikQhuaWBWj/zIkdOTnZJUbrE4VUfh7X3TccXtJSdYvV5fBlnGF2kqquK+qR9wc8 +ViRtgPoIVeebbAnfMarRuPIVJlByVjc1qnJFx1r1JwE7riSSueqKmTUlK02SclHA/am YSFg== X-Gm-Message-State: AOJu0YxONpxILVHG38bb1Pbsc0eKB2+16vSe39pG389zZiztTgXNwcgg jWdtELIe9lYrIee2CiHFiZF9WO/0WCsW/bZfOKOfEaKTS9EOQ7I+ZJkHe2hof8eNBvfYG5QB9ol lLCs= X-Gm-Gg: ASbGncuL/NITF98OEr8D0YsYkWhKIhRelqyojqsT/U0g5pQXFQWCGomuRvSLfyk+wPl S7PWzxVFnAInyRV9iFZVoA16pRTencD1B5xsXvxy8u6ISkQuGgxAjaUnUFmxZDG+cNSd6XIw4G2 bKDXhgzHin4dTw/3xqE6awbve7QcCURTFp1cFUOFe3BzYjPbixiZ0oq94WY5DNjKbRne/t6o50t JaVmtLlze/shPNqpDCzICP0fqdUZhBnd4PmLOKtiCXR0WcVVb7kykxfLaBIi/rdUpbnC1lQPvDl A05z3Wq9p4FVIgbo51YfP+528OadvrTl5ZFgGC2FRXKAlQTRFUHi2Ayv+dbXURpL6aeaPQB3JqS gE0XJeijN+/mCokPYT+oNd2fYuNF/kA== X-Received: by 2002:a05:600c:4fc8:b0:43c:e9f7:d6a3 with SMTP id 5b1f17b1804b1-43ce9f7da7emr21678035e9.13.1741469813197; Sat, 08 Mar 2025 13:36: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 ffacd0b85a97d-3912c0e3250sm9966420f8f.61.2025.03.08.13.36.52 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 13:36:52 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, BALATON Zoltan Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrey Smirnov , Bernhard Beschow , Jean-Christophe Dubois , Guenter Roeck , qemu-block@nongnu.org, Bin Meng , qemu-arm@nongnu.org Subject: [PATCH v4 02/14] hw/sd/sdhci: Remove need for SDHCIState::vendor field Date: Sat, 8 Mar 2025 22:36:28 +0100 Message-ID: <20250308213640.13138-3-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308213640.13138-1-philmd@linaro.org> References: <20250308213640.13138-1-philmd@linaro.org> MIME-Version: 1.0 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=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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org All instances of TYPE_IMX_USDHC set vendor=SDHCI_VENDOR_IMX. No need to special-case it. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: BALATON Zoltan Reviewed-by: Bernhard Beschow --- 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_ENDIAN), \ 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; -#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, }; - object_property_set_uint(OBJECT(&s->usdhc[i]), "vendor", - SDHCI_VENDOR_IMX, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->usdhc[i]), &error_abort); 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, }; - object_property_set_uint(OBJECT(&s->usdhc[i]), "vendor", - SDHCI_VENDOR_IMX, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->usdhc[i]), &error_abort); 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 }, }; - 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 val, unsigned size) case USDHC_VENDOR_SPEC: s->vendor_spec = value; - switch (s->vendor) { - case SDHCI_VENDOR_IMX: - if (value & USDHC_IMX_FRC_SDCLK_ON) { - s->prnsts &= ~SDHC_IMX_CLOCK_GATE_OFF; - } else { - s->prnsts |= SDHC_IMX_CLOCK_GATE_OFF; - } - break; - default: - break; + if (value & USDHC_IMX_FRC_SDCLK_ON) { + s->prnsts &= ~SDHC_IMX_CLOCK_GATE_OFF; + } else { + s->prnsts |= SDHC_IMX_CLOCK_GATE_OFF; } break; From patchwork Sat Mar 8 21:36:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 871554 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp328494wri; Sat, 8 Mar 2025 13:38:48 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUFjv/yJ1UwtFE0pt0c/vcdY+wwXjXTAakEI/XYJxtMRC+MiZmuvPnH5YR+ECGpaprfTh21pA==@linaro.org X-Google-Smtp-Source: AGHT+IFA8gcuXAeTNjgF7bd7ltMavSFzRrJ0RdynSfCgusFEAF1FtIIUn2/xHv1c2KnMCgJ5uKWX X-Received: by 2002:a05:6214:e6e:b0:6e5:a0fc:f65d with SMTP id 6a1803df08f44-6e907cd8cccmr59183576d6.10.1741469927916; Sat, 08 Mar 2025 13:38:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741469927; cv=none; d=google.com; s=arc-20240605; b=KXkvCVKIxpvr7xlDSf3irnFWW60a/C1pgZyfDgReFpsdN2YoX17ttTLwCdiXHpxnyt UvWcKQhG2jGM80XhQW16dP8lBORQaY1j0qbTZmZ0xDLUrCVHKI8yNCBcUv8H1FvjcBPA ewcEiRZb5v0YlzF1QU18eC/NTwTR2mu8w+9m/6of8FqCr0SJm4y3q0s+6rMl2PWcOhY6 +2eX8/yhTqw6YV9AnubYq9aVF9oa9B1/HVoB/Cd1CR3DPPrN11hoxtV28bgKeaWQVzqU /0HjiJyDqBic84xuPoJ2zqUnEHN0u267YBZJzVFWxAFHDVNJf7EKNFXroJyZxNFvDU9S JX1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=rGeGYkd/RvTeD7MNw4buaroHbkJmR8tAE2eHN3vxKfs=; fh=0aqMpdNpISQJCzOYtHef9CdeEduyrfTLGfdd21icOMA=; b=cCik/xp/AkISzhFz+UsA/T41C0bDXj9BIGeV0L2m3jekDC2R7BO49C8us9w5fyUai6 uHIzWBqMM9wKUNcy1iWSglfoTt7ZCqYw3xAXnJNpGdxtzj7TG1rXgwClPypcEW8zEXht vBtPs3XBeuwF2rafvM/BeR1Rc8QQH5LgkmschcD2VqLQXDBu3B9TRrurmt/WniZTZu7a gWksxKcJqQOvPtCZoDgBZMVfIVD67blhuNOsm3p6Avbdt/rcV8kUc6xHez6notWzB6z7 72LmsAwWxEJ6VUg8QXqDrgRG2HjNgGhDh6NEB6cVjrUxu9zse847QMJOqkEhYEG6Unwt odkQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gjUlNPWT; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6e90ac47c90si19615866d6.423.2025.03.08.13.38.47 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Mar 2025 13:38:47 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gjUlNPWT; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr1sI-0006S1-Qr; Sat, 08 Mar 2025 16:38: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 1tr1qw-0005OZ-95 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:05 -0500 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr1qt-0003tO-UE for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:01 -0500 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-391211ea598so1779843f8f.1 for ; Sat, 08 Mar 2025 13:36:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741469818; x=1742074618; 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=gjUlNPWTugBQD2cSA/a8U99zncJYPIx7pHUmrDsBWEia16XmZzrqrYD3L3NwzAb7wO cpuLwJ9oss1pmskcInwY3WSkVbeDY3GCkyqncZn9jzAboznTO55DClQt2odWLBSIhILO LVlYlliwnfjPPeBr6O3N/9UMHk7j8ZKAFERBBlDoNpdtgfuOXRYeCZOWroCpzR0zqESA vfniYH6+Di9Yllibfz7Atl/CzAP87eeFezzLLj40NALR+UWKVKCI1heWgpFDdvSFFuyP Cox7Gt2WBiW1aDixSU/CiWuyNkHMRGAm9o6+s/Op+BqnpXXE/wdbAT9ggRS318+Vulot dbTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741469818; x=1742074618; 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=Py1+b6r3CaCCSCM5kGwe5qfVT07JWm/83KSgtllXglifskbEG+XhjzhN1ilLb/Dgnw VSTjZH/4bykm0gzlVLR0Ys7C+cDZ+TAmygEWEjMnaCSTdlJV8QS6HIimnicfaGvcxBT7 uDNE/qlgNIYoeCJAw7/mI9R0auAdjT7+4zb+iAmaQ4Q6NtUeW93ZNGBoyW6V5sIQGh/k qy8z2YjJKOjzx4P8B4LjnP9ecWQH1S9GctkjuTUVC8Pwd/0G6KoMtrXIFQvJEBx1WAVw psPVg205VzkDHaimxt5anXI8dXdV8rToNpwcOcsRz0X75+eyUpCxZ/m9l25ndDuKL/F2 Ya+g== X-Gm-Message-State: AOJu0YyPzMru2AZYYqwi6av7lRugapWwzyrG+7H5QS97hThsbTrrZtEg vxadcXTv2dNX9OyCmOOxjedXysK/8CDw4jCzB0HhYEBC2TrJxgIp47r902DMkTHVKqbMhmm3Mtk v8po= X-Gm-Gg: ASbGnctGH2525WdoovVetdFxnEM2ei37hs4NTm7pHhZMJiioTGIvHgFcEPEpYcqUzOk dHUqeQ/EvwL0wCPeg0o2F5s/auvOD9B5EjPrt9fCqopxKjzbdTt+p/ZedUPL1G2MfTzTbG5eQdI CqOydnhiFyYhRGPgFrIggRjPjalj0bFlk2qYO6g5UHlv6DQPp9DMmSU45Tg57b1WoZIaIP8/y5N TGsuOY6b6Rp89gVBU6LHhGUcY0J5XT9qOquGWJK4d6Dz2UUqgJljwekSbBIGKkI7IuWsPHDQJEA BRIsV+79Re5T5+2/3knZIWxrPqy9oABy9oL///w82Ty5NGy1cQU8LKqp1wB01W5ygXru+X3Ll1T bJJj5araPXjLdMJsFy30= X-Received: by 2002:a5d:5987:0:b0:391:2bab:d2fd with SMTP id ffacd0b85a97d-39132da96c9mr5536253f8f.37.1741469817935; Sat, 08 Mar 2025 13:36: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 5b1f17b1804b1-43cec487fb2sm22294015e9.37.2025.03.08.13.36.56 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 13:36:57 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, BALATON Zoltan Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrey Smirnov , Bernhard Beschow , Jean-Christophe Dubois , Guenter Roeck , qemu-block@nongnu.org, Bin Meng , qemu-arm@nongnu.org Subject: [PATCH v4 03/14] hw/sd/sdhci: Introduce SDHCIClass stub Date: Sat, 8 Mar 2025 22:36:29 +0100 Message-ID: <20250308213640.13138-4-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308213640.13138-1-philmd@linaro.org> References: <20250308213640.13138-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=philmd@linaro.org; helo=mail-wr1-x42e.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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é --- 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; +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) #define TYPE_IMX_USDHC "imx-usdhc" 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[] = { .instance_size = sizeof(SDHCIState), .instance_init = sdhci_sysbus_init, .instance_finalize = sdhci_sysbus_finalize, + .class_size = sizeof(SDHCIClass), .class_init = sdhci_sysbus_class_init, }, { From patchwork Sat Mar 8 21:36:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 871555 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp328576wri; Sat, 8 Mar 2025 13:39:12 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCW7a6M0Ovu3uQazLKcw8sXZ6o1o5hVa5AO4Ml8qlKk9qq+8sN9sfKM3fZlzJXWmGIOmvmEhMQ==@linaro.org X-Google-Smtp-Source: AGHT+IHhKuUGaf9YT1wfoTwIt+qd0FgBHpnkgn0wzspF1hkiYkmHVakQV6XT9QoRf62IjZ7d1AgS X-Received: by 2002:a05:620a:270d:b0:7c0:b1f3:b4b4 with SMTP id af79cd13be357-7c4e1689196mr1191163885a.15.1741469951999; Sat, 08 Mar 2025 13:39:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741469951; cv=none; d=google.com; s=arc-20240605; b=VG8UiGJKf8+SsKx6Aj7jywu4zxTiHBMfZ8bwZPOUVKxWa+Skb+/C/Vp/bD5KA3NKQJ MWjemOu0bG1Dyd0shc7+Zkd6jTBbDR1+vEjrcgQvChslRbjPbMnuNteZlglyW9h4LmW1 ljgIHSfbZEd5t7Vw8vWDuqsm4jyENvUJVZofuXKYujICGBQhBMxLiO0dpOIFrQ132ZZu 9JeSxs6zpCRiB8Q7XrDhcxE9oeDlHpb05kvg3ike4rYjKzmfSg3r7xJr+LEWBogmDzYc bLvTBy3j75nWt43d316O1b29lbtlLNrEwHGg2eWrYSy0ePR9f6BYHp7rKGSf+oj58mZ+ pVHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=B/DAOjgGSbt8R5XFJfa90IfAIHW3vg/xwsnsSI4jCJ0=; fh=0aqMpdNpISQJCzOYtHef9CdeEduyrfTLGfdd21icOMA=; b=UUfej1wQtPu30U+E0p7xCNAVfYfjrVf1657xlRdCH3FBHS49lie0x7a+oKnUF3JzYA eZKlruEol66tq9/1esbbXTK9kDzfejBMvIwBJQcdhoTDlhx2uUBWVQJ4MEq6N5Imrsd7 vpDZHCICF9C/TDOK92m118K24ylsLiuDusufZBmJONsee2RuFfiUhnIcU+4q5MxNx8c8 0bogfDu7r1Syj2vfPX1s4CzyETS+gk5l00aNBk/7lTAiWDMNM3EyhGETguM/UJ/fDHOP HWMUeTYhA3AwLZovWYpTZAWrJ7Ji8OCjBxb8a2c+leP0n5M49jUr9JNEfy9lQnxC3DcT qPiw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=RgjmaF5o; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c3e533a77csi651360485a.36.2025.03.08.13.39.11 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Mar 2025 13:39:11 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=RgjmaF5o; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr1sP-0006b6-N5; Sat, 08 Mar 2025 16:38:34 -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 1tr1r2-0005QV-5f for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:10 -0500 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr1qz-0003uC-9Z for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:07 -0500 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-390f5f48eafso1530200f8f.0 for ; Sat, 08 Mar 2025 13:37:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741469823; x=1742074623; 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=RgjmaF5oNLjV3aADvkVb4Oivfd9lH385d2iELV7/mFe+rCX+/kiqo9+qlkmjtoeBc3 1H5u0SGSTWC5FedmTaOUP+RdR3Q879Q7TATAZWU3eRJLHl231NCganIYa5E+l3wduEqW NZPcrpLpBZ9ARZ3zswNjA2ye8bMJB//grtbegSQ/CfzslGVjqELLimxrwD/sS2FOC2tt 3zNKio/yoUKikjv6sXuaYZA6bEbPMM8JDTDlFk28bCQ8AnLn7bO80SdtMagtnvE6/ZZz 766lsfzOnOb4YbkktruvCx+0I/syoIs99mXGXC5/DS52KBbykmtHG6zRy1S46lm2AcpI SU1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741469823; x=1742074623; 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=TRHu8xfDGTbsXsb344aNBf2lZWL3ilNeXEq97Oaa70T2N+FTB4eNQ3xR/VpIMkfNB5 FJfLQcisuocqbeFTqeKs6uiK3f/VTSxK5bjg3MyZiUd7yvADhLHtBjB0Kvu4f3m7vYV0 en+zz8Hdes9/sL4Tdmuftf0Gqyxvobr71lpqyu/1KphrkIA/Xb4kjuMrsC6UDiIKSzmi pJwxAF/hyf9GDOv7oKjNdTGJcldTnrv2GizPPx8B5VwuQ+H3yUjIMWrR6umQJLlMDUst 9LFE5lkRR5bqxl1bXG3t3hICOZRlugoexM9zD4/W4rKAGHLa2RfsMGCdTq78O1gXRDDh a45w== X-Gm-Message-State: AOJu0YwKrNd7X6yNvvC+Qgc2bPq+SKIuNcGcMIaHwOHlpXbbbumqDD+V EQQX8SIvPT9JfsInR0riQztcnW2T2/93LGwyrtae5rOyn7/ktZQAL0CHPfDPvoE5rdW04RUJaH1 DyF4= X-Gm-Gg: ASbGncvNewJB4fDaTmsv6X0rcRi9xHfsdiIDPA/Nx+J9HxJp8M2XCxFkGsbc57w9kaP HPRCQqYnxOJfwQfaR26A+rAKEo9oOLAMHiJL3pAODio1KQVJoKwh1h1j8xCKGVQvxFpaAh/UsKu REFBUOpugCIIhO0aKldM3N9nh4yg3bZZd7wPEWFiz4AVUBqVrzQHFFUO2FZr132sIcK26c/YCpg rItB6290FOdjVWSTt5tpa2q8trb66pUszD0aKnE8LiHfV8nVwrRtGbaxz7Hm70SaLFa0L5p/gs/ AXBWqzDVNpa7TBTch9hduzGPJyz3+OG+UYu6Rgrb/61zXcyNGYZmWS47zb/PmHgSCEX0fEIkfIm 6t260rsB7xfgxa0Z9AMz0UeI1jUCVyw== X-Received: by 2002:a05:6000:156b:b0:38d:e304:7478 with SMTP id ffacd0b85a97d-39132dc56f2mr6089276f8f.38.1741469823381; Sat, 08 Mar 2025 13:37:03 -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-3912c0e4065sm10069393f8f.62.2025.03.08.13.37.01 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 13:37:02 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, BALATON Zoltan Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrey Smirnov , Bernhard Beschow , Jean-Christophe Dubois , Guenter Roeck , qemu-block@nongnu.org, Bin Meng , qemu-arm@nongnu.org Subject: [PATCH v4 04/14] hw/sd/sdhci: Make quirks a class property Date: Sat, 8 Mar 2025 22:36:30 +0100 Message-ID: <20250308213640.13138-5-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308213640.13138-1-philmd@linaro.org> References: <20250308213640.13138-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org All TYPE_IMX_USDHC instances use the quirk: move it to the class layer. Signed-off-by: Philippe Mathieu-Daudé --- 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 { /* 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; /* 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 = sdbus_do_command(&s->sdbus, &request, response); if (s->cmdreg & SDHC_CMD_RESPONSE) { + SDHCIClass *sc = SYSBUS_SDHCI_GET_CLASS(s); + if (rlen == 4) { s->rspreg[0] = ldl_be_p(response); s->rspreg[1] = s->rspreg[2] = s->rspreg[3] = 0; @@ -366,7 +368,7 @@ static void sdhci_send_command(SDHCIState *s) } } - 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) == SDHC_CMD_RSP_WITH_BUSY) { s->norintsts |= SDHC_NIS_TRSCMP; @@ -1886,7 +1888,15 @@ static void imx_usdhc_init(Object *obj) SDHCIState *s = SYSBUS_SDHCI(obj); s->io_ops = &usdhc_mmio_ops; - s->quirks = SDHCI_QUIRK_NO_BUSY_IRQ; +} + +static void imx_usdhc_class_init(ObjectClass *oc, void *data) +{ + SDHCIClass *sc = SYSBUS_SDHCI_CLASS(oc); + + sc->quirks = SDHCI_QUIRK_NO_BUSY_IRQ; + + sdhci_common_class_init(oc, data); } /* --- qdev Samsung s3c --- */ @@ -1967,6 +1977,7 @@ static const TypeInfo sdhci_types[] = { .name = TYPE_IMX_USDHC, .parent = TYPE_SYSBUS_SDHCI, .instance_init = imx_usdhc_init, + .class_init = imx_usdhc_class_init, }, { .name = TYPE_S3C_SDHCI, From patchwork Sat Mar 8 21:36:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 871560 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp328777wri; Sat, 8 Mar 2025 13:40:14 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUXhpuJCxEdgO8oCUBWfjVT6j/gsCIzdD1J9S0K0XKOwwR2xmOnH8+WbB1daDGETK7fzEYAIg==@linaro.org X-Google-Smtp-Source: AGHT+IEdRiP+Ii6Ayylyr9hB1kJnoioPQ2Ak7clTQAhGYS+5gmqEh/OxkoihOfUiB3kyHm0X5p4U X-Received: by 2002:a05:620a:86cb:b0:7c3:c23b:ae84 with SMTP id af79cd13be357-7c4e60f0b86mr1307700985a.21.1741470014245; Sat, 08 Mar 2025 13:40:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741470014; cv=none; d=google.com; s=arc-20240605; b=TQDdPzf1ojiVI0V8vqFR2EUSFYjFHNc/tzAjopTU4VL5Y6zqlnIeO9vUWDEXWUGiw2 QLpU/ytEDTQVjGxwM8iSFV8Moh1uE5oOOdcwEzjDf1RSZdXaaFuu9P7ierubeAEuSsFl hWKSZAfjg8BpOoEcz/P7/UM0XycIfK6C7lmLZs8AaCUDQwAqWxOsD31iIsYEPVO8QOJu CF51PBJSIprBwu1LBljaKEwjyh5Kls/FCMvTcLDp2KyliOE/GsWKF3eZYnRsuLxLOPIJ MHEZ2Ap0nWlcZhpAcRXZHSgvQ/7QyMbpzdPOnbcWDHR8xhEt0oBjkqUj2gtqltt5AbkR I6qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=rMei/vL26mhTGl41GbDkmhJ/KXJkHCw9uJWhPvP3Z6w=; fh=0aqMpdNpISQJCzOYtHef9CdeEduyrfTLGfdd21icOMA=; b=HZ6rqp76l6er7oHy5uQnH0CgANtplmD6OlXJbEHej6Qm/e3+G0VDHEXn9MgdWePUxr 5umsVrEvI1qdk+vLdb9gdD9PyrgI+PwbOgVzOkJtKMKVMHvlKLEi5IgBi3nNXsFc2msA Fiohz4sf5PqbOXEOpLfQb/XRi/3n+8N8g4TugK8d23K/aai6Erzwl5mMEZTTnA/JZF7b UCOMBCI0zJmD27q04roNAhfYtuhJWM4LU8PNcajbXECAGLtk2iEDVPsLQy1lYo1CxxZQ 3jsT0zqURSYt41PeVvdBfOUzOhYC1pHs8sn8MJkpLY3lazb0BJzMeN4wZLLZnIxvOZQ7 tibQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=z21EBV6y; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4751daf8871si62502821cf.205.2025.03.08.13.40.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Mar 2025 13:40:14 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=z21EBV6y; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr1sU-0006sn-Ds; Sat, 08 Mar 2025 16:38:38 -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 1tr1rB-0005YE-3A for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:20 -0500 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr1r3-0003ur-Vp for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:15 -0500 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3913d129c1aso384192f8f.0 for ; Sat, 08 Mar 2025 13:37:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741469828; x=1742074628; 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=rMei/vL26mhTGl41GbDkmhJ/KXJkHCw9uJWhPvP3Z6w=; b=z21EBV6ywampdlYy9NWn0h8qF97tiG4m7PZ8R8IpoeDMX38WmkAJeyGtp0kH65jScE dEMKQX+OAIFvFOl8T77+0znMq/WqUXG/oFgmbfRpt2OC7+YZ0E+LLSZmH7IoAtouHhZl G9WPreYQlzBLHkooGOOIJduJ7+ZvpN2phoP+fDW2sTDKaM+Ddypk7silPClBxrdPqE4p fK49IgKhbOrh3egOzbnlZeWclQ9Hx5iHs5Xdf7PXre06/L/wBWLadCR6eQYPovEAf5tS AjlraaORfV/OGgBy0QxinZDkGo1gH6EfI89hCeknkmFyEufDCB8LIf1HBMBtHy4eCmtg s3pQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741469828; x=1742074628; 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=rMei/vL26mhTGl41GbDkmhJ/KXJkHCw9uJWhPvP3Z6w=; b=dCKTC0tWreT8HyVpxMV3oq+s2LRj//H4PZ8Dsn3eeuSy94FQWyzU/3ui71BqJOedEm CtycYCL+DOKz3SCQsGV4pgEl23G1NxsOvAJmYZPRnt5rlYTZP4NjSn0iXfeMfR6o5wdv iv4kPegx0GYwBuxY4sJf5jRmwUDV9TfoayRM89xHRcb3a9AfphjCIDoJu1O6AZz/lyO2 sM8Z0ycvoG8VsTqxKpx6a1pFv9s7zWa8Vt8M/C57/N9JRWjPis6OV8YRC464re4jf1+z Nxf6/QDhHKj26Fgg9l3eifLbvNnTiFHW1Gip5Xjb2Q1w9I1vXPLjCtWUW0K4Y3YvIlTE 3TJQ== X-Gm-Message-State: AOJu0YzPLMYLjkUyo6ENnae1A2AdKXfRnvhCbt1aHGDT+5Pac06YWlce 39VZrkkGiEWIQyEA5fVDHv1VUZSuEPWks4bR2DceTPjRs75wWe6tzVTeM9gVnmEnDFygeD22NJp or+U= X-Gm-Gg: ASbGncuWqQm7Vwmhlui/1X66eiSsF5rgSumMoLNB77N8vmT34gcyiDD3vDjIOgeWmtd u+1SgGTNND7VyLuWEEW4q7ZIcQQUB597fxYJX29HP5txFiAYtJpIi6KgEZJpXtUFbdjo5OlTsTW 0kJDgDSE47AGx5DgL1zs4CDq4KZFEgYmrmq/g+JWXQQyPQtJqjdgfYP/u4e+mXZu9lsNBUtLNeG lDpiTv75bfqoOzJpmpT0LKfwpQzcwPADYk/aPdqXCKYwbCC8ubc5MvICn3wyM1WgnRTuWVOrXQt moDJqOh6/mDqQa5n5u6jMUu8rQ3G2RD+kZ0gqmQlsGjsQhO+/sLEluZPN7TYMAEkNhc64VBch13 NZ2hshuAFK6v1VP6QQk4= X-Received: by 2002:a5d:6d84:0:b0:391:65c:1b05 with SMTP id ffacd0b85a97d-3913aef5f15mr2375513f8f.11.1741469828116; Sat, 08 Mar 2025 13:37:08 -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-3912c0195casm10040270f8f.53.2025.03.08.13.37.07 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 13:37:07 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, BALATON Zoltan Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrey Smirnov , Bernhard Beschow , Jean-Christophe Dubois , Guenter Roeck , qemu-block@nongnu.org, Bin Meng , qemu-arm@nongnu.org Subject: [PATCH v4 05/14] hw/sd/sdhci: Make I/O region size a class property Date: Sat, 8 Mar 2025 22:36:31 +0100 Message-ID: <20250308213640.13138-6-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308213640.13138-1-philmd@linaro.org> References: <20250308213640.13138-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Be ready to have SDHC implementations to cover a wider I/O address range. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: BALATON Zoltan --- include/hw/sd/sdhci.h | 1 + hw/sd/sdhci.c | 10 ++++++++-- 2 files changed, 9 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 { }; uint32_t quirks; + uint64_t iomem_size; } SDHCIClass; /* diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 2b7eb11a14a..637067fef50 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1443,6 +1443,8 @@ void sdhci_uninitfn(SDHCIState *s) void sdhci_common_realize(SDHCIState *s, Error **errp) { ERRP_GUARD(); + SDHCIClass *sc = SYSBUS_SDHCI_GET_CLASS(s); + const char *class_name = object_get_typename(OBJECT(s)); switch (s->endianness) { case DEVICE_LITTLE_ENDIAN: @@ -1468,8 +1470,9 @@ void sdhci_common_realize(SDHCIState *s, Error **errp) s->buf_maxsz = sdhci_get_fifolen(s); s->fifo_buffer = g_malloc0(s->buf_maxsz); - memory_region_init_io(&s->iomem, OBJECT(s), s->io_ops, s, "sdhci", - SDHC_REGISTERS_MAP_SIZE); + assert(sc->iomem_size >= SDHC_REGISTERS_MAP_SIZE); + memory_region_init_io(&s->iomem, OBJECT(s), s->io_ops, s, class_name, + sc->iomem_size); } void sdhci_common_unrealize(SDHCIState *s) @@ -1621,11 +1624,14 @@ static void sdhci_sysbus_unrealize(DeviceState *dev) static void sdhci_sysbus_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); + SDHCIClass *sc = SYSBUS_SDHCI_CLASS(klass); device_class_set_props(dc, sdhci_sysbus_properties); dc->realize = sdhci_sysbus_realize; dc->unrealize = sdhci_sysbus_unrealize; + sc->iomem_size = SDHC_REGISTERS_MAP_SIZE; + sdhci_common_class_init(klass, data); } From patchwork Sat Mar 8 21:36:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 871565 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp328927wri; Sat, 8 Mar 2025 13:40:50 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVUP6lIBbcKaZxL7jimQxYWNZIsk+eW1eE2egK1sRzLlwnE4/Bz2Pc2GAPTVN0Sfs88X9FPdA==@linaro.org X-Google-Smtp-Source: AGHT+IHrh3T9I6ErcHeeYPLF1h1NkklZCVGvdqVKh6PlyTl8NZBhtuJbG/9XD21ssLD+W2lhK96M X-Received: by 2002:a05:620a:6884:b0:7c3:d723:54e8 with SMTP id af79cd13be357-7c4e1668a7cmr1349243385a.4.1741470050611; Sat, 08 Mar 2025 13:40:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741470050; cv=none; d=google.com; s=arc-20240605; b=J1EA1eRXF9RRIDaszKUZJzBweK4Ii7fFXjnfb44AsolPwZtL552+PNI+fnsSZCInLE WKBAlcc2TDTjb7Iq27N4tiHg6jnb3Med8/o8nE2d5Rt3QZSJlw5imEp4dLYhHpK+EIJY q0fzBbTZLV8B/xi3VuDCTRk7j9ou3S5Gz66cYX5eC+047pLVtc45b0rZdmmwuUsKZ7eP 50WxezACQHcLbtj8t/KafXNrHZDhHXxbOFsinCoGVaHUJYnPNy45V6uoNb1XTyTCg6fa 3tDZNPDdMgL8M+Jyy+g3PDe5JLeOOqTkzvu1IebgvEYppXnv/DMu4ONvRAjHqTNIQmUA 69Zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=akRNzOoRRyY/xSKhmyVeI+5UU9kBXMKW6nWI01FbvUE=; fh=0aqMpdNpISQJCzOYtHef9CdeEduyrfTLGfdd21icOMA=; b=Im5fgt3apRfpvZ7hFnIcnyRnnzK/SJ9ZqFw7qFyzJ1wAAWOtGfWOWACxseWw8mxsY5 w/oClbfTagI8jsR5seNaeUUhmqSd7lAfwBQ0rvkt0H550gLqI44Ac+3faTShibwA1aiA 6jlsKQ9dYXWe/IftVE8hfYE/bPrV67f2zQ3a37jDJA8UyhECodOsqPFVieTE6elsJL3s CQ9roKL/kFTq/c933U0exzYqmokpMZbs/hGNnyQT2bnuS70f01hYFPTQRaZwsoZo04Ju rpHMwHtXe/jEMUCiR0+ycWlo8O4h/ukESeeqXDudQA9Kj/cAcVn5plnteMmdK4j20IFN xwqg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Io2AyQFP; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c3e9ca7c91si598741085a.50.2025.03.08.13.40.50 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Mar 2025 13:40:50 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Io2AyQFP; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr1sW-000731-CT; Sat, 08 Mar 2025 16:38:40 -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 1tr1rF-0005Yu-1d for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:31 -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 1tr1rA-0003vs-ST for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:18 -0500 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-43cf034d4abso1402075e9.3 for ; Sat, 08 Mar 2025 13:37:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741469834; x=1742074634; 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=Io2AyQFP+0pG4t9mNFdUsDeQtliT4b9N30kLRMQEQJn6KyOtsTVXXM+QhjO4BJH8AD yBua7QK4P/BT1uGx7H2poKbeUICqCRpCe+tU/gwzzoCAQycQmRK/s6i42QUtEv1OMPSd gMkMIEiSjtKjJG0P9OZxLQtZogpxQMtCgDZA2d2TLrIbNMLj6sTN8Jasdt1cH+xHghsu ddNdR5oyw/QPILobDkoDPkA0YBp4aC2ITC9aBVMXg+3WY1FKklF4n7Fo4w6tT9XDvH+S mfcb3iUpEMRKR9fuLcoENDC+Ahy2rVA7yH168LCzLq03EzwBx4+INaeADeRMEnoJdP5m wzsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741469834; x=1742074634; 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=MGInRME9YWkxZI1Bp7FQYGEtdG5Q5Gai1w9mj2H6XVj4VpqNcOeb4j91WNjlvBfc4R LsNtXtXXf1w3jldKFwEmkijZ17EKix41tqsV4bz9R+rha+UnITH7o0utr4eYvRFn8VkZ rEjWrdK12WumKgrlEvLTN224WvKQszxZydeMXnUSI4qA1unJy3SsJ7P5NLoEOOQDhTAp M48wyIihKiWxGySsRGneOoKKqLJ1/Cb/eRprLkBBmxLKY0gm+d8Kqul55huOdJ2bXqlU kgmoH/SWBxXBvAniXzkrOJAPdwSusol2boxWmjj2hoXZxuPECfnx42k4Th4d7i8xq67h TtRw== X-Gm-Message-State: AOJu0YyZCUkl3cr3C/+7YD3UnnN1Ld43Mz8fJzkzEjUQ3qEQbH0fXtKU 6fEe2EdNeCaq6O+HanpuZdQTyMJs7iErt8wZy4vK/GfnyMzdxx9J8gFOda3wkex5WRr/5ODmn/e bsf4= X-Gm-Gg: ASbGncu5U5uWNQlXV0znOe+JDZTNhhnzQ9TNo2tbNYOlWASh9H7QMc7Sw7bUL1bd8Xf ikeHauUJ69qMQ9oXiBVPc02PtX6xhBbvSntzMZsBzk1kzEDo66+d4FyQBK/dnRXu2E4iYQyE0vN v256p/yElOyvwt7vjwGWk9tKWeDs0sxcvbIsH7J2hDO+f4o235W2h70YGt6g42VIcPsEhp4dGW2 K0SyXCOcW5zFjzbVwfCeG+zzwm0loIW5U7amuIMVDXSyGJzlDGfOcNMzt8iheIdJKBDDaEN9+YU fXroJJk8SvM/Q5/BPMro3DUnmlga6Z64kj+20n2zFMWeRIGnQnUD4N7B55zOX/qjTl58ddviWjP NbkoQRh6xeEqMVshLBfE= X-Received: by 2002:a05:600c:46d0:b0:439:969e:d80f with SMTP id 5b1f17b1804b1-43c60231ddamr59791445e9.31.1741469833745; Sat, 08 Mar 2025 13:37:13 -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-3912bfbaa94sm9963087f8f.14.2025.03.08.13.37.11 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 13:37:12 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, BALATON Zoltan Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrey Smirnov , Bernhard Beschow , Jean-Christophe Dubois , Guenter Roeck , qemu-block@nongnu.org, Bin Meng , qemu-arm@nongnu.org Subject: [PATCH v4 06/14] hw/sd/sdhci: Enforce little endianness on PCI devices Date: Sat, 8 Mar 2025 22:36:32 +0100 Message-ID: <20250308213640.13138-7-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308213640.13138-1-philmd@linaro.org> References: <20250308213640.13138-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org This is the default, but better be safe than sorry. Signed-off-by: Philippe Mathieu-Daudé --- 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 **errp) SDHCIState *s = PCI_SDHCI(dev); sdhci_initfn(s); + qdev_prop_set_uint8(DEVICE(dev), "endianness", DEVICE_LITTLE_ENDIAN); sdhci_common_realize(s, errp); if (*errp) { return; From patchwork Sat Mar 8 21:36:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 871561 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp328815wri; Sat, 8 Mar 2025 13:40:23 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWrnQquB8Bz1H+p++ihXucHCl4V+uxoVrW56IsPAhrvsJX1DjjuIHFD3lIvd3YJjBiQ0nr6AQ==@linaro.org X-Google-Smtp-Source: AGHT+IFiFkwuAO2od5LDyJpGW+FxoB6fgYsnuv5+IyhNQUvB5Ezr7D07tVi0oHwkL6jKIlMG2qx1 X-Received: by 2002:a05:620a:2813:b0:7c0:86c7:1a46 with SMTP id af79cd13be357-7c4e1684873mr1395595585a.23.1741470023335; Sat, 08 Mar 2025 13:40:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741470023; cv=none; d=google.com; s=arc-20240605; b=R2poCirQ2jUQYmhJBjhzFpq3FEnqL+Zx8nIsKhJBZU6KihUl2Hsejw8LEogaWD6K3A uJ9JnR89KeqaM4jISmVDuqDrwRVVB0XjfnfDjZHxS2D0zlfhOZf5l7ydZ9ZLgo7x5oo2 0EJ4E/usN92FMDUo9HImWpTnFriDdkR1MrBacrO+lo2KOWLLVUNtbHamC4PEbsZPtXq1 r1Bs733UBY2cnIz+JNfRBHQxYbq9Hib2+uW/kjGrYifnnCJqSUvMG2ZSDcqL4FF1nIpI AtLViHMCcPP+RiQB2ylsrbfzHz2TbPHPS87DXoN0Ovawxp5/OcCXzSTbguXBLqaef9xV GqtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=K6w2s7vpLMt8PGTRM64NH99KcirJjbualG9t0DnJnfI=; fh=0aqMpdNpISQJCzOYtHef9CdeEduyrfTLGfdd21icOMA=; b=h2CzQz3083zlWHwqMYbInm9biYVrSNzL9IGHtFMj+Os9gU8JXnHU1iho0mhNzAxCHK fCEdKcrn+JhmZVqZ7z7b/JJUevEbbxOjj9gmiOusttSLOC1EcGhC3PvpRCBauzny6Qub oR02zZkjLfXyk9IGCZ7WS427CKR7lNfAzCOJck9AXQQ+Rj4s3t0cEEuNQKnOD++5Rsf/ pOLyhVPX0su/6+sfX+uBjns7mQPpYxMNTatQ2fLXbJBHnPB4sRQ4WXo6TR/Z/5xrpUD9 WmtaqW5s900fgSEp+4BgaZoyX8BiZG3mSrLsNiGHIm8555eOjlHR+jdXGk1i5Uq++XSP 3mrA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=cyWVjh0z; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c3e54ff304si627389585a.317.2025.03.08.13.40.23 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Mar 2025 13:40:23 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=cyWVjh0z; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr1sW-00074P-Dj; Sat, 08 Mar 2025 16:38:40 -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 1tr1rH-0005bO-NM for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:39 -0500 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr1rE-0003wZ-R3 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:23 -0500 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-39140bd6317so246487f8f.1 for ; Sat, 08 Mar 2025 13:37:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741469839; x=1742074639; 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=K6w2s7vpLMt8PGTRM64NH99KcirJjbualG9t0DnJnfI=; b=cyWVjh0z1ZCNvJBY+sgXujX7MvN5vbGkZ6k1fZwzJmzKapkpld6mOoGPYV9owkDRC2 yysRDLfW6H7aG3N1YzlSYrMD/qxNTNLyNJkBVwBh8eMyQMFdwxFUCKksRXWPBU+BfH3J 3gEAZGraI5tfpJRtbU7V/jk/mLX/CgO02lY1g7wNNfQs0TVi9/crV+09k7D1GKBka9BK bnwxbJgT2rZC2c15jpZKOiNlbaiuA6mVSgP3VBlFWbzWtQ1nIMbTolHUZKuu3IcQl7sj u8NwQINJaUi80+fLWZXoLZoZL6V0YocwFm4fwQEk3i+cOTcpJ0zdkQvtRFfrvLnhqpIy BrPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741469839; x=1742074639; 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=K6w2s7vpLMt8PGTRM64NH99KcirJjbualG9t0DnJnfI=; b=sGF6TSIEbEPJrxACREyNKc8qhyFifWHqHhhsJU7xZPwCgyCZo8B6UJqp0/L4PLvU5e 1zmH37w+r16bbPn5EeCUFuhVRR//E4MCSAxqEgRvCOxadhA/6+eQdspPvCRyicsSZxTe tClCp64qn7eB4sLhCOB7cs2rAcoJrbGvT2ATdc+IDvU+1CZ1s7oZpSjXbVWDQGRGWF2U UTqvNO9KiPQxD3Cq/sQqLTzvqZF3HQ6J8nmbTSA82mHl9w+eBzDh8zIv11akOBDVKcql X4+sW4e1n9gMLfXYLPoYKCIOOv80o3q93xbl3ArX1Fhk1C/kVrOojFplDINh+17QB/lf SCwQ== X-Gm-Message-State: AOJu0Yxt0xMt0fzpoeDnddifkeb7uW035jReE1zW7i2aMsexSi/T/DWS CviFYvRIA2mmWMdYWj7oBLmP3ksYgnOrKyMkMJfT5p3UztA7gTB2916CsLZA9uyjae3Id/kLqXr cTA0= X-Gm-Gg: ASbGncta/Lc/UtvYiH9Xbw2aAWk2VDJ3Oukqe1GqPByuLY5xFRFU8aVYW5PGc4u/4Cs w0IYYQ3UJi3Ki5Ur8pZ3E+V1sdf9Vv03PaK34xkL5tzUtPJIlyHHQjtZAaHmT9SHxuMv1ejdNwU GHXHiGYs3YvhngPYy0Waz1kY+L8Fc8OMoasdt4cMrKVmi/ISbXMjaED+d9HaBvB9k2EP0Oe+trb zPSGWvYG8EtJgtpP1Q1Ll0qG+MhPS5PX12fMmX6J8posjuEB9U7G4vU+3/Sh43ow45abCESxGeC 5RQDSZ670pLsL9DGjPVu+TKESDlvI3TzD3k8fpYRTSxWR5pf0JlInJtVaThBWkoFMPDwIb67dUf VgbgOhdEJD7UHgVc6hQE= X-Received: by 2002:a5d:5f45:0:b0:38d:d9bd:18a6 with SMTP id ffacd0b85a97d-39132dc545dmr4796426f8f.42.1741469839210; Sat, 08 Mar 2025 13:37:19 -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-3912c1031e3sm9748796f8f.82.2025.03.08.13.37.17 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 13:37:18 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, BALATON Zoltan Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrey Smirnov , Bernhard Beschow , Jean-Christophe Dubois , Guenter Roeck , qemu-block@nongnu.org, Bin Meng , qemu-arm@nongnu.org Subject: [PATCH v4 07/14] hw/sd/sdhci: Allow SDHCI classes to register their own MemoryRegionOps Date: Sat, 8 Mar 2025 22:36:33 +0100 Message-ID: <20250308213640.13138-8-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308213640.13138-1-philmd@linaro.org> References: <20250308213640.13138-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é --- 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; }; + 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 637067fef50..ae485f90dfe 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 = timer_new_ns(QEMU_CLOCK_VIRTUAL, sdhci_data_transfer, s); - - s->io_ops = &sdhci_mmio_le_ops; } void sdhci_uninitfn(SDHCIState *s) @@ -1446,6 +1444,7 @@ void sdhci_common_realize(SDHCIState *s, Error **errp) SDHCIClass *sc = SYSBUS_SDHCI_GET_CLASS(s); const char *class_name = object_get_typename(OBJECT(s)); + s->io_ops = sc->io_ops ?: &sdhci_mmio_le_ops; switch (s->endianness) { case DEVICE_LITTLE_ENDIAN: /* s->io_ops is little endian by default */ @@ -1889,17 +1888,11 @@ static const MemoryRegionOps usdhc_mmio_ops = { .endianness = DEVICE_LITTLE_ENDIAN, }; -static void imx_usdhc_init(Object *obj) -{ - SDHCIState *s = SYSBUS_SDHCI(obj); - - s->io_ops = &usdhc_mmio_ops; -} - static void imx_usdhc_class_init(ObjectClass *oc, void *data) { SDHCIClass *sc = SYSBUS_SDHCI_CLASS(oc); + sc->io_ops = &usdhc_mmio_ops; sc->quirks = SDHCI_QUIRK_NO_BUSY_IRQ; sdhci_common_class_init(oc, data); @@ -1956,11 +1949,13 @@ static const MemoryRegionOps sdhci_s3c_mmio_ops = { .endianness = DEVICE_LITTLE_ENDIAN, }; -static void sdhci_s3c_init(Object *obj) +static void sdhci_s3c_class_init(ObjectClass *oc, void *data) { - SDHCIState *s = SYSBUS_SDHCI(obj); + SDHCIClass *sc = SYSBUS_SDHCI_CLASS(oc); - s->io_ops = &sdhci_s3c_mmio_ops; + sc->io_ops = &sdhci_s3c_mmio_ops; + + sdhci_common_class_init(oc, data); } static const TypeInfo sdhci_types[] = { @@ -1982,13 +1977,12 @@ static const TypeInfo sdhci_types[] = { { .name = TYPE_IMX_USDHC, .parent = TYPE_SYSBUS_SDHCI, - .instance_init = imx_usdhc_init, .class_init = imx_usdhc_class_init, }, { .name = TYPE_S3C_SDHCI, .parent = TYPE_SYSBUS_SDHCI, - .instance_init = sdhci_s3c_init, + .class_init = sdhci_s3c_class_init, }, }; From patchwork Sat Mar 8 21:36:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 871557 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp328672wri; Sat, 8 Mar 2025 13:39:45 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUnRtoBaFfDklcUDraLZdrjPG8XwBGr6jIn9b9hM1dPnpTp8omKlWwN1ZZ4WUQoY0M+S19Mdw==@linaro.org X-Google-Smtp-Source: AGHT+IHoVWsJlqZZaqmHgoqg0bYktt3LYOADoUmQFQGYx3SAEl6ZdQal2lxswTSixW4RI6AHLjz0 X-Received: by 2002:a05:622a:392:b0:472:20fa:b095 with SMTP id d75a77b69052e-476109501e8mr130648991cf.5.1741469984738; Sat, 08 Mar 2025 13:39:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741469984; cv=none; d=google.com; s=arc-20240605; b=BqtNt6AX4RNMHaJiscNYq1aePURM5Ins/C8vKjbOC+1iG7lF6487WJ8hCZYOnL8DVP 7f2+PXGXqfbX2lCRauaTBYZySXvfvOtU1/YH4FoFNuslqqphF5c1E/77MDOT0i1TCDO8 QzVriYAOboOzD22To/eQS+SveMq3IXART5r72bcD4be5PqlZv+tx3W04vSqSEs+ptjH4 hfBwwvQN0zW/sP4cpJJ0/zmUX5nrjJAfyZN0i1ir+Em+6Jjiu6dSb5f3ZbuDDxuqR6Nr v7EeTqqdRMRy9u83HG8vbY3oGF42lzVYwxMlTKtQAodKVXD77tKVuddRlQKUCXOKHVef ibSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=JHs4NJBzCmz72Qc75GTHjI0bhqCkUEPaPLmnD21pmMM=; fh=0aqMpdNpISQJCzOYtHef9CdeEduyrfTLGfdd21icOMA=; b=ZA3tTs40I1IRBC1c1a6aKeuWMPbF9Linrz5EgWJkjR32pugoNh+j4uZu8P5C2PgQQc 1h5VzwWtnMlNS2kiOnTJXKE3Mimllhigl987u4qv15bh7bO+hjWYe0Ebu4jSBk3nZ69V XyPgb2D5iMk6+lZmMXEg28U1pYzZeK37Q8ZIh1smZ69hmtbFM7QbHIx0iuEIWh8MHOLo YirVbqUpUf/uOmHOFvPzxqrJybvmJsiRnKIlzc95nkcdYXzTF5HUOzlyOu3/yflFzdyz FGo5H/5Pav4kykcRw5vFbDUVkGYZBZ/AbX4vR7a/9v7ec7cKVYd3uCYRs739nIgdCGW2 TO/Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=hPCBLUfY; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4751daf8e82si64892171cf.277.2025.03.08.13.39.44 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Mar 2025 13:39:44 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=hPCBLUfY; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr1sZ-0007GU-38; Sat, 08 Mar 2025 16:38:43 -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 1tr1rV-0005fK-1l for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:40 -0500 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr1rL-0003xr-6u for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:34 -0500 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-43bc4b16135so17392815e9.1 for ; Sat, 08 Mar 2025 13:37:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741469845; x=1742074645; 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=JHs4NJBzCmz72Qc75GTHjI0bhqCkUEPaPLmnD21pmMM=; b=hPCBLUfYPgeO/DLjboYd1twX2XWTPpbzUf/PHAYviZlZ8ePn7mFBrXubNQdmojpumT CRCdo8WtmuRkyQkc59uArFEk4Dggwp0RuneZw1wCgBjR2KH0shvOEaWJ9Pnwa4cEnpSZ FE2B/npBHq+3SscQ80525oKvdNu1GNcosUWBP4AdQYngc5kONGr+FgcmrIj6f6o5Wrm8 ZetW4w2rmKjNUfnlr3/WVZn0JTYR0CZhKjggZZrg58W5aKAvoqJG4Ewv2puDNiubtMFe cLP6JT2hbO48m5vaDfCwvrcbaZ2rYshxjnCCueqmZYT5nXy1PH8KyJjP6tkFO4Ql+d7q XmOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741469845; x=1742074645; 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=JHs4NJBzCmz72Qc75GTHjI0bhqCkUEPaPLmnD21pmMM=; b=Aw83QLFW7FDzXFSfgSDPAfS7lKK8H2mj4Lf+Jfd27wEmyDl9PP2B0Sodo7FKmnX+0o LeZ8oQ7tvSqBkV6l6EnwHYxuvKiGzgAKjewLfWu6u606tzZCf//n/AJE8Sae6M1g9hlr 7QSWxmNRH8IoNqh14WX7RozhdAj7GIC6dtBAPHzR08deMVkKmW6Rf4sR7tFw/9hwRHnM a5oygwTgzK24XH0Z5SRWI+RmqAdkDhhl8mMK8UvijGfJmS8OZ6/4aSSGzZ9HJ6QuD/UG 3M6q/uk1koE2Pw8VT4lhXs7R8NG+dxfJjQwtxq4KwpN7ejZxvDSfj8L5F4rCZj6dibTq zvQw== X-Gm-Message-State: AOJu0YyCzIVTGkJFVLhPsNlb0P/syMt7JihyLMbUjmGUtLBHSAFJU3VB 64/A/cwRW+AXgDlUl6GLnugMV7SBOfyTelvqDP1RFI7FiKLLzhvmOLjF40eEydhlfDMThpCijis LWhM= X-Gm-Gg: ASbGncv5kjklRgBOewjmRpjXlKsZ9AqKYuRrUbPk7dnq+k1fqT6tWSkh9kmA84yimQh cG0USeTND/9+HY+esS64p6uJW8vr813ZdKtcjqAMnc18L8s/v7zWT0d4Ym9eD8ctgUUL/v4FRHV J7zzNxFIg+rQR0MFtKC61VE2hxPHgf077nxTe3CJHxYhvfUedPlPhYdfFhgwak8s+6dPc8g8doQ s7PHCnBj1OMo8prafX9twAccYOO3bSKNXOIUVSb7RnWKWydLWJk54ykVgcyiQJndUi05HVoPqN/ XCXh9jzPBWJ5c7vIINEIfh9D9GWCs/9PVOErR+hUMFaiZhMnlgDSi+7QUnGVoXJBtqTseSmDw+m hEJa68+aeDKW7wlLaqrQ= X-Received: by 2002:a5d:64c3:0:b0:391:31c8:ba58 with SMTP id ffacd0b85a97d-39132d16dd6mr6040899f8f.10.1741469845617; Sat, 08 Mar 2025 13:37:25 -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-3912c01d2cdsm10044042f8f.57.2025.03.08.13.37.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 13:37:24 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, BALATON Zoltan Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrey Smirnov , Bernhard Beschow , Jean-Christophe Dubois , Guenter Roeck , qemu-block@nongnu.org, Bin Meng , qemu-arm@nongnu.org Subject: [PATCH v4 08/14] hw/sd/sdhci: Simplify MemoryRegionOps endianness check Date: Sat, 8 Mar 2025 22:36:34 +0100 Message-ID: <20250308213640.13138-9-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308213640.13138-1-philmd@linaro.org> References: <20250308213640.13138-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=philmd@linaro.org; helo=mail-wm1-x329.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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org While little endianness is the default, ome controllers might be only implemented in big endianness. Signed-off-by: Philippe Mathieu-Daudé --- 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 ae485f90dfe..a2e7162e289 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1444,20 +1444,10 @@ void sdhci_common_realize(SDHCIState *s, Error **errp) SDHCIClass *sc = SYSBUS_SDHCI_GET_CLASS(s); const char *class_name = object_get_typename(OBJECT(s)); - s->io_ops = 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 != &sdhci_mmio_le_ops) { - error_setg(errp, "SD controller doesn't support big endianness"); - return; - } - s->io_ops = &sdhci_mmio_be_ops; - break; - default: - error_setg(errp, "Incorrect endianness"); + s->io_ops = sc->io_ops ?: (s->endianness == DEVICE_BIG_ENDIAN ? + &sdhci_mmio_be_ops : &sdhci_mmio_le_ops); + if (s->io_ops->endianness != s->endianness) { + error_setg(errp, "Invalid endianness for SD controller"); return; } From patchwork Sat Mar 8 21:36:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 871556 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp328606wri; Sat, 8 Mar 2025 13:39:24 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXTyRmQ3XkUkUisNy0w9jBOeWfIblxq/yVyhsbevdFAkWcx5CYEtyJIu7TwZzHkT1jAqhnDCg==@linaro.org X-Google-Smtp-Source: AGHT+IG64BzBW0iGc99GRjtKfiS0b/Jr4Bt+RXQHXqS5OUTdyHzLNDUB1JOcW5e3VmMd6AHhtHsY X-Received: by 2002:ac8:7d55:0:b0:474:e6c5:f75b with SMTP id d75a77b69052e-47610944a2dmr111065281cf.8.1741469964003; Sat, 08 Mar 2025 13:39:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741469963; cv=none; d=google.com; s=arc-20240605; b=kX+MpzvT19XtGX29vPcIl9N4Jk24U4KV9QZgbqybewUJHROSXbd1ea8B6SimNO539/ uGkY7ukPpcAuGdaXLXl96GPBEhZz1gWY0Lv9h4EO5rRXV/XdnBfoG0m8pJM2OlSDAnQT HLqf0RiVE8piGruRI9e3htAI4pPOL7Sy7+WYwFiONlJ+WbEdLFtkrL8ebT/f+DWZJxP2 Y5A/cBqrSVs8nWATvwrLvMY9C9OHaDJPkOJmCBKXayAl/UjwvGYHBNPEzfF76pdhZb42 7h5d4zVY+iR12R1JX5ZLmCj/C3WqM4TZIN6Nja8gXne3zWrjKOIE9KouSequTAcTbxm8 9k8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Wkzg1rgBZYx7/P9JJbBLn54qiF2GNm1BHKLu67eKlHs=; fh=0aqMpdNpISQJCzOYtHef9CdeEduyrfTLGfdd21icOMA=; b=PV9GveQHVgj6898n8aCcCgPsWMUnLjB5owMTT9Lh00v4HQoL0ozVYIHeTSNeZucGy4 UWB/ANhpUdbBzR8xuSSMWlBaBA0H1x0Cu/UsAHfJrIjf7B1l5RjGesWwkL/8NLaODDc/ 7ZpoNv5xYwdJ1sXSfRf2KTGQpgDH57NiGOt81Phh8yOJ82LnC2UMFF9yiuyYOsd8ey6E 1JsAr6i5w5oSdd9uF+VVXdlHasUlE2nqLghlWBpaXKfnNOnwSy+AxRcthPO34du7qzBp UUl9mLEF8b2jGeISS4izaN0pmailtPpWvQ4h20X1e1FP9uZeQnR91h0AXPf7fMtqD3ak rW0A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=LfOix6Ek; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4751db1c2b1si62641521cf.454.2025.03.08.13.39.23 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Mar 2025 13:39:23 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=LfOix6Ek; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr1sc-0007Wz-Vt; Sat, 08 Mar 2025 16:38:47 -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 1tr1rV-0005fN-35 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:40 -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 1tr1rQ-0003yC-NQ for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:35 -0500 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-43cec5cd73bso2341525e9.3 for ; Sat, 08 Mar 2025 13:37:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741469850; x=1742074650; 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=Wkzg1rgBZYx7/P9JJbBLn54qiF2GNm1BHKLu67eKlHs=; b=LfOix6EkbgcMtvg0buO2uRWw47oAeB5hf+ao8m0pF/qGFlEzxJPN2WIAA4aanR2zsO HUZicvWWGGFXAYn27GTYkmznhvH/ClXfnAaC7j7TwgC4QB6jub3VT3dbllqkRVl+S+3y WLcq8Y0HvHNOp2g+JZdhm9tjMcdMMns6tdw6qV4y9vX5xM0HtG3n1LRiGxmAHL0xVcLv dsiuriK4fweRMnM3Q7q/aUqY7rESwFJnQzF+IpSnbMU3Gx1tSwGH1vnF+IdlinXMtafC aVtVRVBDXB2jRiLX/dUAlCXvNJp3FmhL/GV3IX8SVGAT27a0iMAlm3lW4/lQijLvSB3w /4+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741469850; x=1742074650; 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=Wkzg1rgBZYx7/P9JJbBLn54qiF2GNm1BHKLu67eKlHs=; b=Og0Sfi1o9qMrE4JevB9tXlq13mEw4JaDdUUePF84zZuN26vCCOslAFcMGFYTXNwFSf /BoUwebvJNVqwF+CRhJECsai6Fq0Mi6jgBw3qiqd0PeJ5TTVJbm4L0UlALtDyG6LvhSj AwIUyfhUMLLAPUdg9HbGuFI18ioJS36FcAhfSDJ9LX3DJJzBbYiqglk1jVGLp6yI4ssg otmhPKJjDe3higkYRT8DDQrPc+xW5gjQBd7wV3w7W6+DWE+Dv0WJQJU+63HU6SEDKiHB zjUAhm0w+TFQlD2bN/9N5ozuJiThct7bXuUxhdU85LUL9YTPuz0nPk3vAGclNlJyxpJH L07w== X-Gm-Message-State: AOJu0YxnPe2MUu8QGPOD2VOyIqpqLJDzGQlrXiAKSk+UsuKH+W4wUC4D 7jXyatDY2G0d/UantEeVShf0hmtXTUAYTLaRITfxzTdbUgAdaJmQHkPl3hyIKzQW3OpLaCwKwQL nqnM= X-Gm-Gg: ASbGnctmDUM4G/V8npjre+WkY5Pa7fQQJWA5DuAOaJaiv1YH5mfN15VjMT/U8bSotiS VUOVCMY9oamrwVoJPoQ4+RdbSBRh1mIs35OuniIdyPiL+2pzbpQgTgm0zOzHoHWiDyX5GNpLMSV TRz18ZbU93F6sFZL/lhaIYtv2C0TJkP5ZfSwtAzFoak7Q624SCMrtVnLwozJH1kFUIYh7I0jkzo FCS0yAB9hCP5k2eRqT7v0ZCHbCpxtF3js96lCU1CHKmT7yz8M0xRfjzoROnN40lSZawj9P7bbaG wiu6sxqmRoswERSade3+2k/gLB+/g9gzLdr1asiBMvfjIOnXn3gn7SzTClWWq1WAn4GlUy9ltf9 jCBCV3wySHdLY0Obaoq4= X-Received: by 2002:a05:600c:450f:b0:439:9496:181c with SMTP id 5b1f17b1804b1-43c687174a1mr51658455e9.29.1741469850402; Sat, 08 Mar 2025 13:37:30 -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-43ce48165c0sm41083115e9.26.2025.03.08.13.37.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 13:37:29 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, BALATON Zoltan Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrey Smirnov , Bernhard Beschow , Jean-Christophe Dubois , Guenter Roeck , qemu-block@nongnu.org, Bin Meng , qemu-arm@nongnu.org Subject: [PATCH v4 09/14] hw/sd/sdhci: Unify default MemoryRegionOps Date: Sat, 8 Mar 2025 22:36:35 +0100 Message-ID: <20250308213640.13138-10-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308213640.13138-1-philmd@linaro.org> References: <20250308213640.13138-1-philmd@linaro.org> MIME-Version: 1.0 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=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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Note, sdhci_mmio_le_ops[] was missing .impl.access_size = 4. Signed-off-by: Philippe Mathieu-Daudé --- hw/sd/sdhci.c | 46 ++++++++++++++++++++-------------------------- 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index a2e7162e289..23af3958a1d 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1372,30 +1372,22 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size) value >> shift, value >> shift); } -static const MemoryRegionOps sdhci_mmio_le_ops = { - .read = sdhci_read, - .write = sdhci_write, - .valid = { - .min_access_size = 1, - .max_access_size = 4, - .unaligned = false +static const MemoryRegionOps sdhci_mmio_ops[2] = { + [0 ... 1] = { + .read = sdhci_read, + .write = sdhci_write, + .impl = { + .min_access_size = 4, + .max_access_size = 4, + }, + .valid = { + .min_access_size = 1, + .max_access_size = 4, + .unaligned = false + }, }, - .endianness = DEVICE_LITTLE_ENDIAN, -}; - -static const MemoryRegionOps sdhci_mmio_be_ops = { - .read = sdhci_read, - .write = sdhci_write, - .impl = { - .min_access_size = 4, - .max_access_size = 4, - }, - .valid = { - .min_access_size = 1, - .max_access_size = 4, - .unaligned = false - }, - .endianness = DEVICE_BIG_ENDIAN, + [0].endianness = DEVICE_LITTLE_ENDIAN, + [1].endianness = DEVICE_BIG_ENDIAN, }; static void sdhci_init_readonly_registers(SDHCIState *s, Error **errp) @@ -1443,10 +1435,12 @@ void sdhci_common_realize(SDHCIState *s, Error **errp) ERRP_GUARD(); SDHCIClass *sc = SYSBUS_SDHCI_GET_CLASS(s); const char *class_name = object_get_typename(OBJECT(s)); + unsigned ops_index; - s->io_ops = sc->io_ops ?: (s->endianness == DEVICE_BIG_ENDIAN ? - &sdhci_mmio_be_ops : &sdhci_mmio_le_ops); - if (s->io_ops->endianness != s->endianness) { + ops_index = s->endianness == DEVICE_BIG_ENDIAN ? 1 : 0; + + s->io_ops = sc->io_ops ?: &sdhci_mmio_ops[ops_index]; + if (s->io_ops->endianness != sdhci_mmio_ops[ops_index].endianness) { error_setg(errp, "Invalid endianness for SD controller"); return; } From patchwork Sat Mar 8 21:36:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 871564 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp328905wri; Sat, 8 Mar 2025 13:40:45 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWHd0CLre/WYJMGs/AN840A73jjgaN7uzkMfMhn2YUSmG7TH92CA/TiMl0Xb/A/guqv15nglA==@linaro.org X-Google-Smtp-Source: AGHT+IEMpTxlvG5afjSVqTTUSN8B1WpPx89Tbz5TRaQIvuJ+HeAHerIJrAh/zq7MdhviufOfIfQ6 X-Received: by 2002:a05:6214:21ab:b0:6e8:9cd3:80d5 with SMTP id 6a1803df08f44-6e9005ea299mr112606866d6.13.1741470045109; Sat, 08 Mar 2025 13:40:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741470045; cv=none; d=google.com; s=arc-20240605; b=UleYcfxMkYOG7dvV79Le5tPla75ctU5q6dyEG/DA2qebQA1xZLStdR7idojWdEJkVZ sy2vn3w9f1hoAuiBmJGQ7znsreLZkp4IQ1lxIfEuPv9ExsPtq+dH+vNkw1HfvF9fUaky gVvPGe6FMO0NyGSSdhlVAM8SC3SNkg75lZeDmuMQJwD8TDhm3/l0e0oT+qODlQHYrFET n/zcIXwLqS+LE4KJlORVG8gf4VdeBoJtCGx3ZlaUNFyc9gLVrbrz5rLONAH0Hk72W1gq ytGoZvzB9qjL9mXWo19gT2hy+d6zDdEm0BeVH/rOkB1mktLta0L1hA9dZCyGFyeaMSif tttA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=M76BvQDiEF2f2PItQcUpRY11DWy0Vj4F0agjAvaV/Ks=; fh=0aqMpdNpISQJCzOYtHef9CdeEduyrfTLGfdd21icOMA=; b=ZFHF4rHJPgTbPluTJ5HKxAt6tEMGzDnlQKevTLrZtRj4uQsg8+VNzqAD4hZNbjczt8 pLWcySXfDIBtyiNfraMrJVDf/U81wOJYbn1ZS6lh01T3zwwRCSH6DyUC7HEdu+ZuoewX LpjirxmVRm/h0r6UATMddYmJVLDZbo+1+Ln6VjTYjgRf5xAWIAn44sM6aCF8wYyBlC4l jP0/+pIkV2DDIYbd6NOnpZ1/LNYwXPW0/dveRkF9LUMErZTrQW5BraQKmbY+0G83kCCr Kr+L4xnp9eHk7h8D6ivYAvOznreGuhnUQL/R6XFfPFarcZ+rMNARR6wO8tcubp5og5Nm LCKA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Ci72cBwx; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6e8f7161fddsi60534066d6.213.2025.03.08.13.40.44 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Mar 2025 13:40:45 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Ci72cBwx; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr1tB-0000PJ-20; Sat, 08 Mar 2025 16:39:21 -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 1tr1rZ-0005i7-AX for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:44 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tr1rW-0003yy-72 for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:41 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-43bc638686eso25105915e9.1 for ; Sat, 08 Mar 2025 13:37:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741469856; x=1742074656; 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=M76BvQDiEF2f2PItQcUpRY11DWy0Vj4F0agjAvaV/Ks=; b=Ci72cBwx9CrTNogSl7s0Ch6ssFrfRmez7YqnXyaSNXgxCraWrVJOUn8GQ9PMBBYfTw wJ2/M9Un8rcR9DxgW492FgNVHmQsSlhruXC7lAeNfmbbJujS23WEQ99wThZ5MTMnnoNL GhoPG4FkzdEPv41PSPgGeANkLVoQptI2VTMuNSGo2R2qHoUzkQ9rtxzAbS3xDrtgPMvW 7i2AJhUa5wmUDNl5IdaTyl5YpNnXuFl+BbMjeNSNyBBtxJWkX09L4OvHTfH9hYd0zyYs LYlXIlnZyPlZ3jZeHfzdG1DXBmZLFTYXatK/k7WHqt8ANB/ThijwT/r2VA7Fx64t7jve Yc1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741469856; x=1742074656; 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=M76BvQDiEF2f2PItQcUpRY11DWy0Vj4F0agjAvaV/Ks=; b=JIV0BaPtRaTr8v7FzqNHjxqJgXRin9tuTItSD+Y3lZ7u+R5HaJCRQEItRhsMJjzauy Epx+76p2tj2sGndx125r0I9KZf9AvmBJV8sIzHk1DRN8eeNejGq4SXp/LHdWRuAYF7wt z83hA2UaMD3Fb1IXpV3squAsyWkQEBWlzK4AXncVgMXTZEpQBQ3OWYW+n5TMZ3pOIKgu WHc+nUKIYfkM30ahSAMsHT27E7pzTB2QBTJ0j7oke6MNra6lFipNKpXhiKGziVaLab/N MCBai04nV79GIcaj+kHD72JXlEqyk7l1AGBICf8HxfclngHL9c99WjPlciS3eTrInLfJ ccKw== X-Gm-Message-State: AOJu0YyjTqDlIgiwx1TGRLDlVwjyfrEMkYW9cglGHQtJDkXOtmHv6gnD uLsi10toneZkkogH2NDRtz8jfuBaOF9e5qV6u4FcC0+CsY+TqZHwn/WV10tQANA8rsai7MR84SP YL0Y= X-Gm-Gg: ASbGncvzVCP9gHIUiHbIwXMcWKUBfDovAon58p9ose9MGT9ornXYEVAM5IKpPh7YkTQ hnMVqjp32yPkZogIJ0X7t7NqXQf3eDRse3Cb0MX6tf+PTCYilz2MLRyQpxXBFaYgEyuGxgHeQJi PN21715F1w/2aIRi9NslHbMw1t/joez0LfmWHpJx5jc7oq6ClqkkFKvpkWPFkP3Smuk5sgQRiRd 4Iw0YJbtIgl6cgDZjJ3TzcxoIZarYCAU6ZJeCD/vDK8LLVoQ0w19Cmf4VYUydxHxdMpsOLsIIKl oMJV2oRSAqAXK6ho/Uw0chgE8zMmlpinLNjw6B+wt2lTvObVTdsrCmuq2DvtRIcFn+mmXJd1TOC kLnB4NhJDBvDLQjuEEoU= X-Received: by 2002:a5d:64ab:0:b0:390:f9d0:5e7 with SMTP id ffacd0b85a97d-3913af025b1mr2945488f8f.13.1741469855895; Sat, 08 Mar 2025 13:37:35 -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-3912bee262esm9903118f8f.0.2025.03.08.13.37.34 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 13:37:35 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, BALATON Zoltan Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrey Smirnov , Bernhard Beschow , Jean-Christophe Dubois , Guenter Roeck , qemu-block@nongnu.org, Bin Meng , qemu-arm@nongnu.org Subject: [PATCH v4 10/14] hw/sd/sdhci: Convert SDHCIState::endianness to EndianMode Date: Sat, 8 Mar 2025 22:36:36 +0100 Message-ID: <20250308213640.13138-11-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308213640.13138-1-philmd@linaro.org> References: <20250308213640.13138-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org EndianMode enum is preferred over DEVICE_BIG/LITTLE_ENDIAN values because it is a QAPI type. Signed-off-by: Philippe Mathieu-Daudé --- hw/sd/sdhci-internal.h | 3 ++- include/hw/sd/sdhci.h | 3 ++- hw/ppc/e500.c | 2 +- hw/sd/sdhci-pci.c | 2 +- hw/sd/sdhci.c | 7 ++++++- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h index 9072b06bdde..c459279f3f3 100644 --- a/hw/sd/sdhci-internal.h +++ b/hw/sd/sdhci-internal.h @@ -24,6 +24,7 @@ #ifndef SDHCI_INTERNAL_H #define SDHCI_INTERNAL_H +#include "hw/qdev-properties-system.h" #include "hw/registerfields.h" /* R/W SDMA System Address register 0x0 */ @@ -308,7 +309,7 @@ extern const VMStateDescription sdhci_vmstate; #define SDHC_CAPAB_REG_DEFAULT 0x057834b4 #define DEFINE_SDHCI_COMMON_PROPERTIES(_state) \ - DEFINE_PROP_UINT8("endianness", _state, endianness, DEVICE_LITTLE_ENDIAN), \ + DEFINE_PROP_ENDIAN("endianness", _state, endianness, ENDIAN_MODE_LITTLE), \ DEFINE_PROP_UINT8("sd-spec-version", _state, sd_spec_version, 2), \ DEFINE_PROP_UINT8("uhs", _state, uhs_mode, UHS_NOT_SUPPORTED), \ \ diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 60a0442c805..a91cda16cbe 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -25,6 +25,7 @@ #ifndef SDHCI_H #define SDHCI_H +#include "qapi/qapi-types-common.h" #include "hw/pci/pci_device.h" #include "hw/sysbus.h" #include "hw/sd/sd.h" @@ -95,7 +96,7 @@ struct SDHCIState { /* Configurable properties */ bool pending_insert_quirk; /* Quirk for Raspberry Pi card insert int */ - uint8_t endianness; + EndianMode endianness; uint8_t sd_spec_version; uint8_t uhs_mode; /* diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index fe8b9f79621..e85e000f054 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -1042,7 +1042,7 @@ void ppce500_init(MachineState *machine) */ dev = qdev_new(TYPE_SYSBUS_SDHCI); qdev_prop_set_uint8(dev, "sd-spec-version", 2); - qdev_prop_set_uint8(dev, "endianness", DEVICE_BIG_ENDIAN); + qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_BIG); s = SYS_BUS_DEVICE(dev); sysbus_realize_and_unref(s, &error_fatal); sysbus_connect_irq(s, 0, qdev_get_gpio_in(mpicdev, MPC85XX_ESDHC_IRQ)); diff --git a/hw/sd/sdhci-pci.c b/hw/sd/sdhci-pci.c index 5f82178a76f..49c4f0478b4 100644 --- a/hw/sd/sdhci-pci.c +++ b/hw/sd/sdhci-pci.c @@ -32,7 +32,7 @@ static void sdhci_pci_realize(PCIDevice *dev, Error **errp) SDHCIState *s = PCI_SDHCI(dev); sdhci_initfn(s); - qdev_prop_set_uint8(DEVICE(dev), "endianness", DEVICE_LITTLE_ENDIAN); + qdev_prop_set_enum(DEVICE(dev), "endianness", ENDIAN_MODE_LITTLE); sdhci_common_realize(s, errp); if (*errp) { return; diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 23af3958a1d..f2bb612c665 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1437,7 +1437,12 @@ void sdhci_common_realize(SDHCIState *s, Error **errp) const char *class_name = object_get_typename(OBJECT(s)); unsigned ops_index; - ops_index = s->endianness == DEVICE_BIG_ENDIAN ? 1 : 0; + if (s->endianness == ENDIAN_MODE_UNSPECIFIED) { + error_setg(errp, "%s property 'endianness'" + " must be set to 'big' or 'little'", class_name); + return; + } + ops_index = s->endianness == ENDIAN_MODE_BIG ? 1 : 0; s->io_ops = sc->io_ops ?: &sdhci_mmio_ops[ops_index]; if (s->io_ops->endianness != sdhci_mmio_ops[ops_index].endianness) { From patchwork Sat Mar 8 21:36:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 871558 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp328730wri; Sat, 8 Mar 2025 13:40:01 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWMKhpa7gX8x7bUbX4zT6eS9RGVSIQViCKDFSgUiZKxhgqGV7oJUHbaI5jbp0G+Zy/un52IMw==@linaro.org X-Google-Smtp-Source: AGHT+IESA8I7tBJFcQ7W9iIC+Venqvy/Sc2+61TaOAzT3tWwKKjhXom/cyHlgHwrGkpnj+fJIw/O X-Received: by 2002:a05:620a:6501:b0:7c0:abe0:ce4b with SMTP id af79cd13be357-7c4e16689d9mr1145904685a.12.1741470001120; Sat, 08 Mar 2025 13:40:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741470001; cv=none; d=google.com; s=arc-20240605; b=ecRtmK8cKrw4LapmrWalQ7ok3S5JQyeCseKRhVsUCRoCd7kfm9j15QsjyccswsbMm3 A+P0N6K7jaSTCUBH+Wrtncx/xCflYHoB1D9a9YgDN7JWHQkbVvUJfGgLPoP286CeJCTr VwtOPtB5FV4ULDo5DKNct9QjZCGB4k0uz9+b6ffRtKgTIosln3DGs4bbyUr8CaWQ9CBE WesZOxke9+pz6USs/HX01Haik/pMJ7okLO07iEUwbnQ6zilsM10XwmUL+wkl2y/YiZE7 SRAtl22VByrww5g8RzfzGfAmvc/w7ESMcpWrYV+WkpGLHCuV01TWPtKVCZ2tZlde7mzG c0hA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=aYlUhb3rggQ40rUgdot+a+VslIzJdQ8NRCCBrVTp1kk=; fh=0aqMpdNpISQJCzOYtHef9CdeEduyrfTLGfdd21icOMA=; b=d9I8z6Lo7jDrIz86BYwA/WMsqQPGX0UiAf27e17v5/tEzzy7TPsrZ9IWprYi8G+3wK mBuEP06zd65au5sFhW4KUGCYrDaJ4CAl6QbF1M+wmPBuIsZQ1kpxU+c/tjtF86LY4bNi 5RAs7NUsk6fgfSGyRAgzBIBfjwPoIQL0iow5COce5KTv4LofdPMlnh0xcwQV6B3hKR8T wKl6vN1Phxpx2UiIWJuTEHDA5mV353N7FbVPPyJvBVf9YbKYTsuxvB6G1+DppaSVyn2C PKEF3A8o2svTwasTlQ/RMog1HhYFPXpWb2OQPYUJbMgDFg/zNHjl1c04gt8pinxthVhP N1QQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=L0Al8F2x; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c5482173d1si90521585a.31.2025.03.08.13.40.00 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Mar 2025 13:40:01 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=L0Al8F2x; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr1te-0001DX-Gs; Sat, 08 Mar 2025 16:39:50 -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 1tr1re-0005kb-CW for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:48 -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 1tr1rb-00040H-MT for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:46 -0500 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-43cf257158fso97395e9.2 for ; Sat, 08 Mar 2025 13:37:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741469861; x=1742074661; 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=aYlUhb3rggQ40rUgdot+a+VslIzJdQ8NRCCBrVTp1kk=; b=L0Al8F2x6cx4C95akJgk53AnIz0LD3+T/bG9bE7OEe28QVPxK6TYr6BDJG3Ar8Kl5B dwPdnEBPPr2lsVRWQSaopLzBu2wKzIKGMDDwUek86eF9lsfiRPjXb1aJMKWO3Whf5VHF Eos9EXclrIvbCW1OKLwOebUJxa0APoFcfbywbcnq6ZOlblL7kCjBpK3Jd07EIAPIK9Wq m9gESaBX7P6s0pZDqiG+twmUAMV6jFd9mPHesWNUuhc201j/GhqiKHVFU/4OHKV9uuVW S8E7AObwwWmR0kx5saAmFdD8QpPUxXxcDKbFtFrMSH9fak2i4zyF2XG3De+eosVoh4XS J2iQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741469861; x=1742074661; 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=aYlUhb3rggQ40rUgdot+a+VslIzJdQ8NRCCBrVTp1kk=; b=FfmMWh/B3FeaueJGplcZU6U+fXKdIJK10nZvSTxqmvZNRAPHJThWnM0a1jxFRJ0Cm0 hsE16PpWljazu9Sv0DScLzpixgCZFmYn7ftIrr2/I0HTKkHK0OwF9KVQ6eU7ZNS8LKXY 5MN2lB9CMU1c0nBg2qz7lBrDlTRZAjizSjoB/wG+HLCW+Si8CwogEo2I0vLxWnjz8IYI ldHwE9H5j6+f3zDbGS+REl9PUlsC8V6MPDG9pAAwyCP3JY2jVzwLXWLBZT0aKsnrn7j8 UNKKNr9l0gSow8FXZe2R9hk+OaqV9Fgfk+49rTuvP0U0nuvvOryFYKR0NCOYemILIW81 Hi6g== X-Gm-Message-State: AOJu0YyVaLNnJsecPbEe+0AM13LNpzy4LV/7KhQwDVJ7blq7inkosQAQ fyiV0XAontHLxUmz+ieWSWsBc7DXFJPGugP30t1JI9k4sTRuvhc9zuSmOUFht7mHGKWMXXB8Cwn VtA0= X-Gm-Gg: ASbGncuT/oXdb30j9UMDDBN0RnGPNZvbv9pMjVjYX0jOdgaDe8bcN1hk9EuptINE+/t rC1Og2n8GRdgAAHjTBoFiLa8k78YwBq+4klwbVKJfC/yTn7JptrlyJtjU/IRdGmX0mc19bqwSKL xR39OqXyhcBbcsY0LsRMBXuSTzu5D2AfftzYR3avUfnYP/qwihKbl/chCf11l0OsPkCZTlJ0Pmt 1J+3oONVvcIyfnV1X+PDww21RXyMDHYoSPu6dN7YqZre02jefrXlYNGNj3hyBPZmROBx241z6uG laYvsR8eoi2wnq8PLShf8ZBpZ4HiDks3kqRvgbmwO2EKbPqBEafRJhvth9M82XbbHWW835IuYQM AGrWEIW3LS7V6NJNX3gQ= X-Received: by 2002:a05:600c:3b1d:b0:439:a5e6:73ff with SMTP id 5b1f17b1804b1-43c601e18b2mr56121515e9.17.1741469860743; Sat, 08 Mar 2025 13:37:40 -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-43bd42c6203sm124940935e9.24.2025.03.08.13.37.39 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 13:37:40 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, BALATON Zoltan Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrey Smirnov , Bernhard Beschow , Jean-Christophe Dubois , Guenter Roeck , qemu-block@nongnu.org, Bin Meng , qemu-arm@nongnu.org Subject: [PATCH v4 11/14] hw/sd/sdhci: Add SDHCIClass::ro::capareg field Date: Sat, 8 Mar 2025 22:36:37 +0100 Message-ID: <20250308213640.13138-12-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308213640.13138-1-philmd@linaro.org> References: <20250308213640.13138-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é --- 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 a91cda16cbe..15ef3a07b54 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -116,6 +116,11 @@ typedef struct SDHCIClass { const MemoryRegionOps *io_ops; uint32_t quirks; uint64_t iomem_size; + + /* Read-only registers */ + struct { + uint64_t capareg; + } ro; } SDHCIClass; /* diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index f2bb612c665..9708b52f850 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -73,6 +73,7 @@ static bool sdhci_check_capab_freq_range(SDHCIState *s, const char *desc, static void sdhci_check_capareg(SDHCIState *s, Error **errp) { + SDHCIClass *sc = SYSBUS_SDHCI_GET_CLASS(s); uint64_t msk = 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 = sc->ro.capareg & ~s->capareg; + if (msk) { + qemu_log_mask(LOG_UNIMP, + "SDHCI: ignored CAPAB mask: 0x%016" PRIx64 "\n", msk); + } } static uint8_t sdhci_slotint(SDHCIState *s) From patchwork Sat Mar 8 21:36:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 871559 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp328769wri; Sat, 8 Mar 2025 13:40:13 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWpOhNtVJ8TSRbNNFwxcERRErXc7dtyxF04qtao20Ra4gzD0ZaNiKzsyMvG7LWL69ffN/HS0g==@linaro.org X-Google-Smtp-Source: AGHT+IGteF0MK/2BldoHEQFYAQ6HYSnjneh3BotG1cUNhRlhbp5eNwUdw7RMSO0fUCkgItg2V+sW X-Received: by 2002:a05:6214:c83:b0:6e8:97f6:3229 with SMTP id 6a1803df08f44-6e900605d2bmr124099646d6.16.1741470013039; Sat, 08 Mar 2025 13:40:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741470013; cv=none; d=google.com; s=arc-20240605; b=ahVpiGYrArWdQHOIkmnZwAKRXj2rdZKtVIuWr0Tk0qbgQvJKbweKS0xtV2pyT31aTd /zCkhUtnpwFlIS6kD1BjFnnx0gn/nCxRRdRz7X0NCODbf/agexnatZJE50B7t626Cqgo ixrmtrZeE015gdHngZwp+TOzvcj1c/Mo1ft1uNNot3x6sOru0p69iTLKSP8aD0o2OO4Z 455LFt3fBpvzsDHQ+ymsNj3B0MWWiRHky9Pcs3YHtiXEetruoTZiJ5ldqhmstl1cKdy1 GMxax+QjRiURDJnrp5ralzUbilqoyWRtGQOqCo8t8doiLapjV09+XVswnAsgfDe5aahh vsIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=q/k+IuqmCugwBVdD9kKxpUEX74jL1+6yWn5zkp1fRLA=; fh=0aqMpdNpISQJCzOYtHef9CdeEduyrfTLGfdd21icOMA=; b=jpOuQGuwQ2DbEg2PFkbfZpq7J6p2QXcppIWq6c9eQr90clJekz/2G3Ckk7M7/K0fqK 51Feh4JD1d0cMVHwShOtQwol5CqYW2dubESU9ZvS+/rnrpXAORvFaXk44ep/27+GETj1 KDPhAfEkXAHqadNFnHLuCEexsrheKsosznkI9YxP2hzo74QRlq/NK3sZ70WVhib3eB4m s20uZMCG4UH68jOElvMAFX1CcXdMJV0Ks1yCgB6OBa7UyHeJP6ycO/5nCFUd4xsG8YdW NJXHgFRW1AFEo5EOnci+eritOpdfxkAuP7s8szaI4FwouNrHXR4s2USP1fglkBAlhhrE HUhg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ggOKiTZ+; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6e8f71753f0si62649816d6.311.2025.03.08.13.40.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Mar 2025 13:40:13 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ggOKiTZ+; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr1tf-0001L7-Cl; Sat, 08 Mar 2025 16:39:51 -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 1tr1rj-0005pJ-Fy for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:56 -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 1tr1rg-00041c-4z for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:51 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-43cf257158fso97595e9.2 for ; Sat, 08 Mar 2025 13:37:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741469866; x=1742074666; 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=q/k+IuqmCugwBVdD9kKxpUEX74jL1+6yWn5zkp1fRLA=; b=ggOKiTZ+Bbb3/rlGYQOb34GHHxSnY1yxpXCkV25QI6o7trRexVmlWGooP5GJY4KDoR fjsW9TAvdX5fuhhSsWk/1Er9TkT2LHe+02ZLO1ZER3r9fs3pSbiOAnQzebjdKsgGrULF Ft9ciqwZhu3jsvpbpoQ98kvkZ/0XFiXVj0yyWt86Pt8m1RHE5fimrcfqppuhgQsOL6cR VqdieOmRLlehUjdmtSzOSH1YaU3QIkt6XU4k5/20MWUbafPhkrufdCFpSsluvNcp9TpG QF/QZOTmWlqILProEo0eg9FKEdWcq7rOJYkYErAOdava5optAUMITroh35ERH40Sbpzw QQTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741469866; x=1742074666; 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=q/k+IuqmCugwBVdD9kKxpUEX74jL1+6yWn5zkp1fRLA=; b=gDh6Ogbhs2LgyS8XldA2JZgxzgXFT6s8rhxEfKValB/WCLYbUzQvVOQD4dOleShX2A XSA6tlwmDeen/K339X0awvOrZlhsXYIuLjTsHnD4fGryX3BkO2JHC4qsb+zCR/+4inJr avI3Vks7+MqvU5i2ecnaRKuNyUq0lXehKD6jjP80XypbIXeaT6g+MYY5T0Z5IC+rmygm AjrZtc7CI3U4OGmOt38zktQuwgJKZRlJM2riCgfCibzekz3HPhQCPfFCd8aZ0cnZ8yFO GKsTc6dQ5FWZcQo0zfY4sISzmwZ9NSwKlRNf+/kujRAtWkYPxXmDcKwt/RHfVA50inya 2zpA== X-Gm-Message-State: AOJu0YzPfEp1WqY3tDIjayW3GaX/A2vn2mjmrwUVNZ1UD3dRAebsy7ye 8R8FN/qbxEc5XvwlH7H/rsJOXiKqC7vnnd1T/FgC9bIOciXyQKu57JGN7Q2U2p8NLHLuXcnm4tB B+uM= X-Gm-Gg: ASbGncu8bGdXPNdXYWHry+Pwg35ndBRZiKJgI/WMv578ska72QoO+Rg3YyPUAq7Aomp TylzDChQPiqcQ3pET0mm1DOBvlkcHGdXzpR9i4EYyB3k66p3l2ReajGDlNJcpJ0M0spIFfkGzAF A+deyW9fcp+Vu7WEgX8UvLVa6XBWE7xgcCJAZKXhk0NbnNZBTrhyzYATR17zeOVHAKu111oHWJw qnJUREJoMLcrSpYQImqDjbi8d5tt1szApyPehYzrE2fqfJ616CJhi8oiqHA26Is7f9a7K8i+FKh YwKaICpKNc6IZuDhh7VaUXoSKF92juj1qEJy5PM2vb7AVtmOdSsOV9SJvtZMQyVkPu+ZQwuX8rc 1SSI7XjlQHqlWtG1aiqI= X-Received: by 2002:a05:600c:468b:b0:43c:f00b:d581 with SMTP id 5b1f17b1804b1-43cf00bd768mr3603935e9.29.1741469866202; Sat, 08 Mar 2025 13:37:46 -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-3912c1031fdsm9642737f8f.89.2025.03.08.13.37.44 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 13:37:45 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, BALATON Zoltan Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrey Smirnov , Bernhard Beschow , Jean-Christophe Dubois , Guenter Roeck , qemu-block@nongnu.org, Bin Meng , qemu-arm@nongnu.org Subject: [PATCH v4 12/14] hw/sd/sdhci: Allow SDHCI classes to have different register reset values Date: Sat, 8 Mar 2025 22:36:38 +0100 Message-ID: <20250308213640.13138-13-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308213640.13138-1-philmd@linaro.org> References: <20250308213640.13138-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é Reviewed-by: BALATON Zoltan --- 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 c459279f3f3..4ca269831f3 100644 --- a/hw/sd/sdhci-internal.h +++ b/hw/sd/sdhci-internal.h @@ -71,7 +71,7 @@ /* R/W Buffer Data Register 0x0 */ #define SDHC_BDATA 0x20 -/* 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 @@ -89,7 +89,7 @@ FIELD(SDHC_PRNSTS, CMD_LVL, 24, 1); #define TRANSFERRING_DATA(x) \ ((x) & (SDHC_DOING_READ | SDHC_DOING_WRITE)) -/* 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 */ @@ -105,17 +105,17 @@ FIELD(SDHC_PRNSTS, CMD_LVL, 24, 1); #define SDHC_CTRL_CDTEST_INS 0x40 #define SDHC_CTRL_CDTEST_EN 0x80 -/* 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); -/* 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 -/* 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) @@ -129,17 +129,17 @@ FIELD(SDHC_PWRCON, BUS_VOLTAGE, 1, 3); #define SDHC_CLOCK_IS_ON(x) \ (((x) & SDHC_CLOCK_CHK_MASK) == SDHC_CLOCK_CHK_MASK) -/* R/W Timeout Control Register 0x0 */ +/* R/W Timeout Control Register */ #define SDHC_TIMEOUTCON 0x2E FIELD(SDHC_TIMEOUTCON, COUNTER, 0, 4); -/* 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 -/* 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 @@ -152,7 +152,7 @@ FIELD(SDHC_TIMEOUTCON, COUNTER, 0, 4); #define SDHC_NIS_REMOVE 0x0080 #define SDHC_NIS_CARDINT 0x0100 -/* 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 @@ -160,7 +160,7 @@ FIELD(SDHC_TIMEOUTCON, COUNTER, 0, 4); #define SDHC_EIS_CMD12ERR 0x0100 #define SDHC_EIS_ADMAERR 0x0200 -/* 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 @@ -171,7 +171,7 @@ FIELD(SDHC_TIMEOUTCON, COUNTER, 0, 4); #define SDHC_NISEN_REMOVE 0x0080 #define SDHC_NISEN_CARDINT 0x0100 -/* 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 @@ -206,7 +206,7 @@ FIELD(SDHC_HOSTCTL2, VERSION4, 12, 1); /* since v4 */ FIELD(SDHC_HOSTCTL2, ASYNC_INT, 14, 1); FIELD(SDHC_HOSTCTL2, PRESET_ENA, 15, 1); -/* 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 15ef3a07b54..eb8380187b5 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -117,6 +117,26 @@ typedef struct SDHCIClass { uint32_t quirks; uint64_t iomem_size; + /* 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 9708b52f850..234a6e4a1fe 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -294,6 +294,7 @@ static void sdhci_set_readonly(DeviceState *dev, bool level) static void sdhci_reset(SDHCIState *s) { + SDHCIClass *sc = SYSBUS_SDHCI_GET_CLASS(s); DeviceState *dev = DEVICE(s); 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->sdmasysad); + s->sdmasysad = sc->reset.sdmasysad; + s->blksize = sc->reset.blksize; + s->blkcnt = sc->reset.blkcnt; + s->prnsts = sc->reset.prnsts; + s->hostctl1 = sc->reset.hostctl1; + s->pwrcon = sc->reset.pwrcon; + s->blkgap = sc->reset.blkgap; + s->wakcon = sc->reset.wakcon; + s->clkcon = sc->reset.clkcon; + s->timeoutcon = sc->reset.timeoutcon; + s->norintstsen = sc->reset.norintstsen; + s->errintstsen = 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)); From patchwork Sat Mar 8 21:36:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 871563 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp328877wri; Sat, 8 Mar 2025 13:40:38 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXtey2DUKh7k+ccVd3A93N4VvjnI7uaNpJiUOPqO5F61rzJvYQaxbTxr2ZTQK04pkblgeAf+g==@linaro.org X-Google-Smtp-Source: AGHT+IG147qauLllYTYbC1WyvE1Zctg/6DNQAIOv9vFWTpw3TPMS/ZKmvfhc9LAONn6BQBNTsRv6 X-Received: by 2002:a05:620a:2581:b0:7c3:d5a4:3df3 with SMTP id af79cd13be357-7c4e6112241mr1019724685a.34.1741470038396; Sat, 08 Mar 2025 13:40:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741470038; cv=none; d=google.com; s=arc-20240605; b=Wr7HusDqtEFZqdthokANefXLDEy97zhy8ja0mjUceKQfi4F8h0wblSnSFLMzqOvGgz bpGSWstVHE3MuSiq/t8wso6C9/0RuPOgMy8xdLbOgRPRirJxjkc6lPwetK8UO8KxCfi2 BW704cUcxhTAD7G6RnOe8CgOeiDRywsH7rTKn2bEzQFjPYe0bxeRGAPiIvUqGYKY/lq+ Si4Dsh7uVgwXlDyiDSdETFq/OSbs2QvwgkeFcmhbJRt/9fR57A/4l390E4l2AglbzSRB Jv77Rh0P/RfXJjfY/HPvoHB/q4UY5RJZATdoTdWvzoRBtc8VwqlgUsp9ncKPJJXjHmqX IwLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=m0Bj6u5XWk2deTKslAV1isfZbUtFm4cHL8zSvqgOqZ4=; fh=0aqMpdNpISQJCzOYtHef9CdeEduyrfTLGfdd21icOMA=; b=TkLyml+v9RkS9/aApi9irgONHfFUgfn8Z5DTlKilCCMEy1PD/vSAvkjPl22zVxom84 gsoAo49qU0r5dh2UBBSqpvwkCn4Lnv906IJa78JxeojBuOXM2lmkFWRSRHnHLBZUAySO rtZDdOZ+SQRFgoFChgh+8MqwSAAUNC0weVVsNP5Qr/vPzyFPJSKFfMgmNabviYwM7OPx MyTq0YiMOl3NVf33VN/xy1H8e/VxmJo7h/u6IcG/G6BHQ9HfjGY5YbBqYYhdXwlz7VRs r+gA1ffiFbhlAGgZsNIZuDrSuGq7+YppsrQIkwPr9hRsD1pCT+ZeRDhpITJ8gthxkRgU ApXw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ICssHP8G; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6e8f7161fa1si60144616d6.266.2025.03.08.13.40.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Mar 2025 13:40:38 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ICssHP8G; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr1tn-0001tR-Ck; Sat, 08 Mar 2025 16:40:00 -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 1tr1rp-0005sy-Fa for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:38:04 -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 1tr1rl-00042d-DK for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:37:57 -0500 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-43bc30adad5so17911745e9.1 for ; Sat, 08 Mar 2025 13:37:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741469872; x=1742074672; 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=m0Bj6u5XWk2deTKslAV1isfZbUtFm4cHL8zSvqgOqZ4=; b=ICssHP8GDR9s84FTt2chVMNbElp5iTX8Ec/9I22dK47yvv8BbaRXW3t6aA2dcQSSY/ /KTeSM1JG5BLsP3BudR+veD5fHYR4JrTfNPFOllkwxe3sJH51pws/gGb8/yBrEu1bUk2 gpw+yq9vKLtoW0yjOiv2boc7EvepSPp+qUUdT+mwOkYjVCsI3DyDZnMLPhXw83Jwe9a6 vhzOh5Oiz6uW0M9QqpX6cLyMnqOEOXesRrIW8A7DDQVJQkige/9SHhI3/xRvxOm4cVS2 UlugNRwZ1usYw6kQM1CpdXtLKaCjNFy552T6jVMM5fLDmKxkQLwI7VjhnKXsnx0l/dtE 4m3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741469872; x=1742074672; 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=m0Bj6u5XWk2deTKslAV1isfZbUtFm4cHL8zSvqgOqZ4=; b=q5XEmWmMK5TKk49w2U5mPD4gW+EsXS6w/nCR+G1NzfGAF70f2fJ3jT3uSh8b5t16Sg YDMG9Qd1CYb775Gl5oNs9HwDfhragpccAGSQkOmX1G7/5BYsfGLMb+J3BVrLpoia7Uzj CHUe9Qogbm5Rox0tv1cblA2tCG8rSNDDbRCptvNKk0DSDXljI8dWDnHV48+cBifzfKuj lbuSJrW6LeR7tCBAj5uJvcGALJhyBY4gaFdT328XdCmue14q32DoL/BVhn6U9mmSnTub YOsdFzegW+DWeQdvdVLjTBLnV8Z7nu/bAldOs2nWcDY47fCq5q3uppX5GIc13pzt4MQW NJMg== X-Gm-Message-State: AOJu0Yzhz4BhTYb1k2zNPdOmwRrCPG9xTInn6PD2Kawpu0nZc3SqEHz/ hfuMZnyIrdaIu9sC4T0tNv8qcSanSRWaaspHLbctPHfMVEzQUN2iJ+6tH/zyLvGvBQjTs62Al88 UwZY= X-Gm-Gg: ASbGncs7VSvTXl7hm4ZNJfUFeyZaVzGBrLUI27QbEbaRhGY9MyKJweo/NUXDKUCmOX8 ydUt8T8AqdgeojDQtPt8pStxgzDz+pLj5BpL1l8fe4JEFzIcuXAKlM87voqroF/o6xn48xrSuz0 IsBMoo2EdgJg8wzDXmL38KdJqZli+5kurimI24megP+X01RLbEcxvJBnhLw53IXYhc54nc7a+VE 5iqGbK8Z518lqccOcuCFNZ0rQ+449MLlomUTNwGcIOySEDr2BgXDpzDwj2tYrRyGQMIWOf6AxQF L5tKaMS7BtxAXR4CGVYOfFdm6GQLbHyyrZbEcWWlCEENDrPZJ5vG2/7WZxdDbDwtPPKcz7zggVG 6N5WDtLn2oQ+7sNdzO3I= X-Received: by 2002:a5d:59af:0:b0:390:de66:cc0c with SMTP id ffacd0b85a97d-39132de1bbcmr5447541f8f.46.1741469871767; Sat, 08 Mar 2025 13:37:51 -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-3912c0e2b8bsm9963609f8f.64.2025.03.08.13.37.49 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 13:37:51 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, BALATON Zoltan Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrey Smirnov , Bernhard Beschow , Jean-Christophe Dubois , Guenter Roeck , qemu-block@nongnu.org, Bin Meng , qemu-arm@nongnu.org Subject: [PATCH v4 13/14] hw/sd/sdhci: Implement Freescale eSDHC as TYPE_FSL_ESDHC Date: Sat, 8 Mar 2025 22:36:39 +0100 Message-ID: <20250308213640.13138-14-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308213640.13138-1-philmd@linaro.org> References: <20250308213640.13138-1-philmd@linaro.org> MIME-Version: 1.0 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=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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é --- 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 eb8380187b5..966a1751f50 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -162,6 +162,8 @@ DECLARE_INSTANCE_CHECKER(SDHCIState, SYSBUS_SDHCI, DECLARE_CLASS_CHECKERS(SDHCIClass, SYSBUS_SDHCI, TYPE_SYSBUS_SDHCI) +#define TYPE_FSL_ESDHC "fsl-esdhc" + #define TYPE_IMX_USDHC "imx-usdhc" #define TYPE_S3C_SDHCI "s3c-sdhci" diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 234a6e4a1fe..d5cc0bf1458 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1653,7 +1653,37 @@ static void sdhci_bus_class_init(ObjectClass *klass, void *data) sbc->set_readonly = sdhci_set_readonly; } -/* --- qdev i.MX eSDHC --- */ +/* --- Freescale eSDHC (MPC8569ERM Rev.2 from 06/2011) --- */ + +static const MemoryRegionOps fsl_esdhc_mmio_ops = { + .read = sdhci_read, + .write = sdhci_write, + .valid = { + .min_access_size = 4, + .unaligned = false + }, + .endianness = DEVICE_BIG_ENDIAN, +}; + +static void fsl_esdhc_class_init(ObjectClass *oc, void *data) +{ + SDHCIClass *sc = SYSBUS_SDHCI_CLASS(oc); + + sc->iomem_size = 0x1000; + sc->io_ops = &fsl_esdhc_mmio_ops; + sc->ro.capareg = 0x01e30000; + sc->reset.sdmasysad = 8; + sc->reset.blkcnt = 8; + sc->reset.prnsts = 0xff800000; + sc->reset.hostctl1 = 0x20; /* Endian mode (address-invariant) */ + sc->reset.clkcon = 0x8000; + sc->reset.norintstsen = 0x013f; + sc->reset.errintstsen = 0x117f; + + sdhci_common_class_init(oc, data); +} + +/* --- qdev i.MX uSDHC --- */ #define USDHC_MIX_CTRL 0x48 @@ -1983,6 +2013,11 @@ static const TypeInfo sdhci_types[] = { .class_size = sizeof(SDHCIClass), .class_init = sdhci_sysbus_class_init, }, + { + .name = TYPE_FSL_ESDHC, + .parent = TYPE_SYSBUS_SDHCI, + .class_init = fsl_esdhc_class_init, + }, { .name = TYPE_IMX_USDHC, .parent = TYPE_SYSBUS_SDHCI, From patchwork Sat Mar 8 21:36:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 871562 Delivered-To: patch@linaro.org Received: by 2002:a5d:64ce:0:b0:38f:210b:807b with SMTP id f14csp328827wri; Sat, 8 Mar 2025 13:40:26 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWgNKEGYaBdPGwM1Nnc9xme7GvhlYuNi+c2XNAYMQGEOdhN4Zep6FQWFmnZpYKjRNHaz5QEUw==@linaro.org X-Google-Smtp-Source: AGHT+IFGQrpAo1bWOQ0XrPMdDuHyeLoD+JLpvzu42iwLOrYpeJVVLoK7eml/5Sjpmk89CsAXhiUD X-Received: by 2002:ad4:5c8e:0:b0:6e8:fb44:5bda with SMTP id 6a1803df08f44-6e900609592mr135550526d6.19.1741470026054; Sat, 08 Mar 2025 13:40:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1741470026; cv=none; d=google.com; s=arc-20240605; b=ln03sWr7UM5NJIdLbuveErxIwiLpTwTljFIIdISoDcxAAs4yUuaa33XEMXeUTdEzSz DNNZ4IuCbJBQf3eUGTbK92wZngazPketiPwWViRFgX6TACtZDUtKzSMu6nB1pF5Tzmh5 hbRXVdbtrIkkakpu1J6OY6FrWWeuHd5ZCRasQAnWUhhfFnqr93CicvECSUpmXgOIr74h xEhwodjrrz9yiSPzArzHWO0nlo2Pi5ZqcvfFsVlFlCc3z9Z/K+IAlCPfW63CGvIYNnPG QeSy2jiCJx1ZtlaJpF4dkX5oiDYZvm2MYB3Q+xzcAP4GSLfzWfMrDGTs6sLESNAgz/3m hGnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=JLtBjh/f3t9o68uNAMfvmOYu9CkLCOLT8MqoCkDG4gs=; fh=0aqMpdNpISQJCzOYtHef9CdeEduyrfTLGfdd21icOMA=; b=bEcNlWXH5ciEYbGwFU3bZBkeF5f5/ZkBPfFhHvG74CN434dioGSgk33Y30U7jupj67 cOsvgka35taYBi/NkKjXYOTyJ6PY2Z9082jhT729VTssQ376h0zx5/8QR9quigip2KmG 6Atj4C+Uobm7XHcVfXzU9Kbjswn5hWUxjHGjx0nzTCg7NDYTDCcyCcWzOI2hjW7Oy4Xj zpXrP1bEfkW5Hbh3J13mlpna0Hev4miGVYyYj0BWu+k2+JorMMPdtQGRlZB93wtZdxNc XWJv4CzHCC9jS/aqQB8hv++J4YylBzcAVZs/Kr24adBkSRT6HrQY8VxGV1fu1v7Sl2AB DQHA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=L+sR3UUO; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6e8f7466eebsi62372736d6.391.2025.03.08.13.40.25 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Mar 2025 13:40:26 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=L+sR3UUO; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tr1tf-0001LH-CL; Sat, 08 Mar 2025 16:39:51 -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 1tr1rs-0005tT-PS for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:38:04 -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 1tr1rq-00043J-7c for qemu-devel@nongnu.org; Sat, 08 Mar 2025 16:38:00 -0500 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-43cf05f0c3eso760895e9.0 for ; Sat, 08 Mar 2025 13:37:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741469876; x=1742074676; 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=JLtBjh/f3t9o68uNAMfvmOYu9CkLCOLT8MqoCkDG4gs=; b=L+sR3UUOzHeFUgqEDIAfDjHC4CY9u4/+goO/j3xHzqcQOuzA3339hzwuE+VoW5355R jjxKS6cLln7M/FZnXdQufKByeJK/LN88OvFe+K6OahlVgM6IqyBeP+o2YvJyIt4T2s61 lNU3A+lQePHv7mQTUIRsmP88ynadOPLaELyLDhpq5uQMdGbbvo4h7gFgLdVg7Y2WoFco PHumpJgbcmCkPNqVNEUGF1L+G+fFN1DfOVnp1QV2flxBA5FQqyGA1XXTY7+r2oEVPpgM 3dAB9STHd+PkKEpZrUDnWWGuldLKAcsMmnhv0nj54sL+BitzHsyq+jyUc0zOnu/2NK9F p2KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741469876; x=1742074676; 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=JLtBjh/f3t9o68uNAMfvmOYu9CkLCOLT8MqoCkDG4gs=; b=rbA1VJUVu+DpjIRlkJUoIufL3fvQwQN4pY6kjA+5aL+ZnOn8BOexw+Nd8lltm8WqhB 5BhHv3LtHDjDL5GHhAFTdHyOGncIVHjqtCY+7qhuXZVfKqCp7xRQCdb7+InzGw0NT6IZ 4KA0Bzg3PoU4d0styx/o4KoySwOigeGrrYDO/MKHesXumoAptWgc6+k9aq1RguFEhOni 6oE8Xm2IQfSrYQB6mkMJpsMJZAkeQ8ucSwqClGgWR67AZhy/vtgXUn0Quvi5Ut5AFgOU 1hNvbfSCwgSNkBjf0ZP2wswGaS4HpoA6jazFwDtCnHF4o4pWzz25QCTsoflT0PYr9yD0 mxjw== X-Gm-Message-State: AOJu0YwrF9vfs9hDRDrdrXK1K/id/edUNxXQAn+DTiV8vr4GTk5f10RD f0bvTw0vE2ZiHj+pnteSojnrCBKKptPGDeGNJev5PXaFw0g4B48uq4Z7bxaS4SkkVTK6zF0cH9o DWWY= X-Gm-Gg: ASbGncs+A8blFJRGCrl4QJ5YKBVJHxYk4dZ0C7QHl/+2iEFuVAPUggwIrn0/2xmFj3t Gl0Kmpj+jLm5sJSFOe1qWpVyQR+qWz4h1D4za00jFU7UcaS6dBakuo4N2ceIGVNEBw9esgvxXCx 80l1M85WSjFtIml/hSNwKsONZ76OLX2qS8u7//wOBNTjFZJHl02WiP5sUw24Wa8gPyAxbVgyRRy ZHvzwZZMHrnVX1zvlpSfVlUFI1pnVpyDA2a1U45F02e5Cfy6HldAt/Qqv7m03Exxpl8ew5yEXZA J3sBVFyuwM0ge0UpEvtreoB8dQjEf9PWIKDpALe7PtoWmYGF+2Tk/6hEU1Lr0r/sVHemcz/rlMw xwOS4iVjQWhKcvbVMK3A= X-Received: by 2002:a05:600c:3ba5:b0:43c:eea9:f45a with SMTP id 5b1f17b1804b1-43ceea9f8f8mr7896745e9.4.1741469876521; Sat, 08 Mar 2025 13:37:56 -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-43cec60d122sm21374995e9.18.2025.03.08.13.37.55 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 08 Mar 2025 13:37:56 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, BALATON Zoltan Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Maydell , qemu-ppc@nongnu.org, Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrey Smirnov , Bernhard Beschow , Jean-Christophe Dubois , Guenter Roeck , qemu-block@nongnu.org, Bin Meng , qemu-arm@nongnu.org Subject: [PATCH v4 14/14] hw/ppc/e500: Replace generic SDHCI by Freescale eSDHC Date: Sat, 8 Mar 2025 22:36:40 +0100 Message-ID: <20250308213640.13138-15-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250308213640.13138-1-philmd@linaro.org> References: <20250308213640.13138-1-philmd@linaro.org> MIME-Version: 1.0 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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é Reviewed-by: Bernhard Beschow --- 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 e85e000f054..7d15c926887 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -1027,20 +1027,12 @@ void ppce500_init(MachineState *machine) /* eSDHC */ if (pmc->has_esdhc) { - dev = qdev_new(TYPE_UNIMPLEMENTED_DEVICE); - qdev_prop_set_string(dev, "name", "esdhc"); - qdev_prop_set_uint64(dev, "size", MPC85XX_ESDHC_REGS_SIZE); - s = SYS_BUS_DEVICE(dev); - sysbus_realize_and_unref(s, &error_fatal); - memory_region_add_subregion(ccsr_addr_space, MPC85XX_ESDHC_REGS_OFFSET, - sysbus_mmio_get_region(s, 0)); - /* * Compatible with: * - SD Host Controller Specification Version 2.0 Part A2 * (See MPC8569E Reference Manual) */ - dev = qdev_new(TYPE_SYSBUS_SDHCI); + dev = qdev_new(TYPE_FSL_ESDHC); qdev_prop_set_uint8(dev, "sd-spec-version", 2); qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_BIG); s = SYS_BUS_DEVICE(dev);