From nobody Wed Sep 23 08:40:39 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) client-ip=78.46.105.101; envelope-from=seabios-bounces@seabios.org; helo=coreboot.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) smtp.mailfrom=seabios-bounces@seabios.org; dmarc=fail(p=none dis=none) header.from=jablonski.xyz Return-Path: Received: from coreboot.org (mail.coreboot.org [78.46.105.101]) by mx.zohomail.com with SMTPS id 178525095980890.16676182913227; Tue, 28 Jul 2026 08:02:39 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTPA id 18B3F54E477; Tue, 28 Jul 2026 15:02:28 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) (fhigh-a7-smtp.messagingengine.com [103.168.172.158]) by coreboot.org (Postfix) with ESMTP id D6DC754E471 for ; Tue, 28 Jul 2026 14:54:46 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by mailfhigh.phl.internal (Postfix) with ESMTP id 06A351400141; Tue, 28 Jul 2026 10:54:46 -0400 (EDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by phl-compute-04.internal (MEProxy); Tue, 28 Jul 2026 10:54:46 -0400 Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) 28 Jul 2026 10:54:45 -0400 (EDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by chomposaur (OpenSMTPD) with ESMTPA id 3c036ba5; Tue, 28 Jul 2026 14:54:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jablonski.xyz; h=cc:cc:content-transfer-encoding:content-type:date:date:from :from:in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm1; t=1785250486; x= 1785336886; bh=+/jGnjWtIHwWJ7UkPM9N0MGTIXDjpXVoXt5jbrAYWmI=; b=X cSObsrvPQNxhfMV6dQlOESUagzztIoqH+HC7ffcFoUYP4x0a1tjmGdA6y6lWAe8b 20RBalAWuEhoneQ83iiORycCmDi2E1jKhyNAuuYvG8uriwhXLv3W12TKl+FmYOcV W1J6zQ6PxpfdMscU4QU9BIzzhs6YPusOcKYdgw3aXQc7JK9yp96pwknh0Zm7DRHa ltyKSXvrSea2U2e4c8IA9H7nn2HZhkNsQx+2AK13VmPyy5CF8WYN0i94XOi+zf/g 1PRkKmQ3gh130fbvLwuowpe0JZ109aOq+Vu6+qgr5JtOInySFEc+5+bsqYL1tzN6 BqOEsy/s4iYL03DpLK4mQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; t=1785250486; x=1785336886; bh=+ /jGnjWtIHwWJ7UkPM9N0MGTIXDjpXVoXt5jbrAYWmI=; b=nxozfC9tZY6ZpkYom vW9ViD1+kRyVjuF8/kkGTCthFa1Bu7TZ+1izZWmVCKvywjvQDdrlJ1uOhHBtJduY T6pe9TyePDui+ceSZTaAc2sOJgv6GdfZTqnVdeIIYgQCpYKK/YFyN1MAE7At5h6A aKxf1WI/U19hPHhkHbuy2Hvn22GnDZWcMl5pbheAzkn6V7Tah4DZAPoa4KbvDUUB VPeFpq6EA8w8UsSEPcM1QedAXuoG7VPGVw/uoY6Ao3qfRkgtiy1di6qkosaUzJHu YjpOIY89/I3ZjV44BQz/r7Z3bZsOu+DaTDdwSYoBcLD2sCBv7qaoQsQwsTqVfzhV OcAtQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTFeyaZhp11HNPmlcBpKk+tddj3NWQb3+uIDKRITpwiFJ9Zxmm4rFSxYFt3VPVJq/+ 6u9idYRs6skZrRtDPOGnLevLAiwM+JEO3PPGYD90VrOZu3fT3zl6I+ZeWNQsm+H9ywE/KM 0AF+Q0WzMgG+TrEU8ESQfowM0XnwUJiMGZe1oErulshYxoELrtmtdY5eq+vOfLWA4IwCp7 J9HqbLw/VCBNGsH7C1+lyERApkSdq45zbhz8cCp/3+5nMwtJmr/rZDzjsX+SDdD0E7pI7p w1H5Y1CDOaJ67AGqpU0IdN8+paeKoG9pVGiBo42EruR0QC6MMdZxl1k33B82YgqamEmHOW 7tPc10c5BY3jHeWulmoNakZXCZ1Lo8IDe6hkOyR6IKsmI2aEPd3jez+BPuKmVlQe8dHu9A R68jxSdwNTDy2TVlTfjaUYJRlRPwZhqzmGX31OBtrJcxKgtgoC6DYxVh/KYtBsMWQsF5vB kg+M5Nx1pMT2LUBD2qKcQ8CHa2/0om1o1GCIcjDssuKsQL+3XLh92YMUmpB/0kb9jv05jK QiiBk2LVnnACE0ZhCmA9DSV6azNMO9Fgx5qf0zVZ/8tcGs9dyJaOJypIWCtftuPaeCcbeC VSDvIicg0Wm/XKh+9gnmD8Alr+d/5mAlqj6AYGznsx4EYl20Dht1FJgASRdw X-ME-Proxy: Feedback-ID: ib26944c1:Fastmail From: Chad Jablonski To: seabios@seabios.org Date: Tue, 28 Jul 2026 10:54:36 -0400 Message-ID: <20260728145436.1613730-3-chad@jablonski.xyz> In-Reply-To: <20260728145436.1613730-1-chad@jablonski.xyz> References: <20260728145436.1613730-1-chad@jablonski.xyz> MIME-Version: 1.0 X-Spam-Level: *** Message-ID-Hash: TXRRSQRGQR47YXSHMDO6RCG2ECQOGFSW X-Message-ID-Hash: TXRRSQRGQR47YXSHMDO6RCG2ECQOGFSW X-MailFrom: chad@jablonski.xyz X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-seabios.seabios.org-0; header-match-seabios.seabios.org-1; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header Cc: BALATON Zoltan , Gerd Hoffmann , Chad Jablonski X-Mailman-Version: 3.3.11b1 Precedence: list Subject: [SeaBIOS] [PATCH v2 2/2] atiext: Fix bios tables for radeon KMS driver List-Id: SeaBIOS mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable Authentication-Results: coreboot.org; auth=pass smtp.auth=mailman@coreboot.org smtp.mailfrom=seabios-bounces@seabios.org X-Spamd-Bar: --- X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZM-MESSAGEID: 1785250960762158500 Content-Type: text/plain; charset="utf-8" This fixes two issues when running ati-vga with model=3Drv100 under QEMU using a KMS driver. First, the radeon KMS driver does an additional check when looking up COMBI= OS table entries. It checks a header size field to validate that the entry falls in the header region. Prior to this patch that size field is zero which causes the driver to fallback to another method (CLOCK_CNTL registers) also resulting in bad values and a division by zero. Second, the connector info section needs a non-zero value in the DDC type field. Zero causes the radeon driver to fail to initialize the DDC bus and then no connectors are found. DDC_DVI (0x2) is used here so that the GPIO_DVI_DDC register is used for the radeon. From what I have seen r128 drivers ignore this field entirely. Tested on Debian Squeeze (Linux 2.6.32) and Debian Trixie (Linux 6.12.94). Signed-off-by: Chad Jablonski Reviewed-by: Paul Menzel --- vgasrc/atiext.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/vgasrc/atiext.c b/vgasrc/atiext.c index f003eea8..073408ba 100644 --- a/vgasrc/atiext.c +++ b/vgasrc/atiext.c @@ -347,7 +347,9 @@ static void ati_i2c_edid_rage128(void) // radeonfb needs the pll information, otherwise it'll crash with a // division by zero ... struct ati_main_table_s { - u8 pad_0[48]; + u8 pad_0[6]; + u8 size; + u8 pad_7[41]; u16 pll_table; u8 pad_50[30]; u16 connector_table; @@ -374,7 +376,9 @@ struct ati_connector_table_s { } PACKED; =20 extern u16 _rom_header_ati_table_anchor; -static struct ati_main_table_s ati_main_table VAR16 __aligned(16); +static struct ati_main_table_s ati_main_table VAR16 __aligned(16) =3D { + .size =3D sizeof(struct ati_main_table_s), +}; static struct ati_pll_table_s ati_pll_table VAR16 __aligned(16) =3D { .sclk =3D 23000, .mclk =3D 23000, @@ -386,7 +390,7 @@ static struct ati_pll_table_s ati_pll_table VAR16 __ali= gned(16) =3D { static struct ati_connector_table_s ati_connector_table VAR16 __aligned(16= ) =3D { .num_chip =3D 0x10, .num_connector =3D 1, - .flags =3D 0x3000, + .flags =3D 0x3200, // type DVI-I and use DVI DDC }; =20 static void --=20 2.54.0 _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org