From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CE3D536BCE8 for ; Thu, 30 Jul 2026 18:26:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.180 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785436021; cv=none; b=piIcE5+pLEb7baxmKV7oTrk5P7mSZYa9fMCumUjwNsLKlRejiSQJ2zpuWnL1d1Z0+orBjn2jZGBXmwVBIrflondbAMhflokXNSpyN+Z3ToGQq+ko8deh0Ti0J5V0VpwEjfXmIogWRt0+K4LRaBQDTcsyHuf/dkuGtwTiYEozRkE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785436021; c=relaxed/simple; bh=4uPIsF/07nQWiK7hORjMXqOAIOO9PCBxhA5CHSppplA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=pzsssZBLn0YoGhyDI0AzlCZLIwq07JGOJA9M+PsnXbeEUd4NFGz2PbnULHaVPfDknsJ7Hag5SKDSWScorDIJjqDFAbuhSYinMVKD6dXAYkthOsLh1DVoETjLYjePwml3Ov2MzrR368f8Bd+gxscE5tBYoYd71FmkYMzpoAdSqPs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=0x0f.com; spf=pass smtp.mailfrom=0x0f.com; dkim=pass (1024-bit key) header.d=0x0f.com header.i=@0x0f.com header.b=e/jx8N3H; arc=none smtp.client-ip=209.85.210.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=0x0f.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=0x0f.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=0x0f.com header.i=@0x0f.com header.b="e/jx8N3H" Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-84862b0d5f8so194741b3a.3 for ; Thu, 30 Jul 2026 11:26:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=0x0f.com; s=google; t=1785436019; x=1786040819; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=wO9ENFeIo1i8UFssNPgLpbWODUeNcQJ8iH/TKOtI5vc=; b=e/jx8N3H95jNGXHuawqGLIv7mL5GiIkUFq/e6lsyZoAEvdxPbgMf9YMjku4E33Z6vh to4tE+I5m2gCEHoxQlc2KZ/C+HlfPZrtTwfKaaH3TDHKgqguLw3tncgGfodeYcFWQYv+ xjl0mcuu4VwIbrErkAQdG8UVzpNytnzAC1mY4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785436019; x=1786040819; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=wO9ENFeIo1i8UFssNPgLpbWODUeNcQJ8iH/TKOtI5vc=; b=oCQ0jHoOP7BLAeAIBXY2Ux+ASX+jZVUDXIqD9n+dSgKFKtSK1fIYLEjn2m9quxGRRT +P0tTNBH3cU46h2t/TceMmqqhOCTJoATl3o6/Uj0bNfNM03vpfsycw9VX///1LICSTS7 H0pBH3+JNtj7bTjgTqjEi/vU6o1Zh1gZlCobCMRUkS23BoWZpYB2Au3FOboohvUTa+N0 5j2xAv/k5dcdqTL/UNSEkZ8QxWfkR/pbJvpckt9w1Lo0nK95dnSuJJC+cVYOb1z0tAxg 0qRTL8bIeSmnMxgEIUgDk2j7zNOppVz572MwavoTPRyMqCBxw4kwRCLGEEtu+T/MPtLW K+Aw== X-Forwarded-Encrypted: i=1; AHgh+RrzHvyYvkOYh+TeEFd+6xk6b05tY7k7NAXHPhf+W70yUlBWTYofhza5NC2vazBj++fiLjunGLgiupXBeoU=@vger.kernel.org X-Gm-Message-State: AOJu0YznlJruStAo4VlOxpXOOVv41QQUjsJ2783NCRcbaCtVdjVeggzJ Q/RENYg8OgNYwIlfQSJ786BS3xE8lDNqogH0uNlBbmbOyAuQhEAjO9bMwCnOHn9MwGw= X-Gm-Gg: AR+sD11FdNPjsY0DYF+cQwZjLF3RBLG1Xs2l3V1ZrikQYfOkvjbQfWipW8ZsZ6jMusq 5hCB9U5Cl5LpwLdvDo0tX1uYmsyNSVMqbHTwNSfdt9UxYTqfr8HQtDSAml4ZR7mBZ5ZGiXOLxWX e3vpU3RRktIKbzGN4aV0+CJgHm/S1C+nLpJX5BO0skafuRFRjtN9CMYDaEYF3b3zyRdW15BjeXT U8JZFA55WD5YWMkzuPDVlpg2zHgnw19Tk8Cqhuq53vWs2doXVZQgMQkza171e2WgE6vxNczyzHL BqmPVwrux7l940/58FpGrajUzwg/0hh6XxxZYGEQYTJmktcFYAxO29HKkqk6OjsxWI38zKNgZKI R+ynid/sm9NNwmXa7vkZBXnlX0N6s+ioYNc8osXAhxtRxQdVc5InuJttIcy5++Tb/ubBt7CuvLy AzE5FpZe0kZX+JonXxe4/Olkp4CFw2hGpduSm4nMGLFiY58h/isFyP X-Received: by 2002:a05:6a00:13a1:b0:848:6ef9:f5ca with SMTP id d2e1a72fcca58-84ebc421141mr3212810b3a.63.1785436018914; Thu, 30 Jul 2026 11:26:58 -0700 (PDT) Received: from shiro ([2400:4162:2428:2ffe:f84d:1f36:28ac:c15e]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-84ea0378b18sm3428806b3a.48.2026.07.30.11.26.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jul 2026 11:26:58 -0700 (PDT) From: Daniel Palmer To: deller@gmx.de Cc: linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Daniel Palmer Subject: [PATCH 0/5] fbdev: tdfxfb: Make "unbooted" cards work Date: Fri, 31 Jul 2026 03:26:35 +0900 Message-ID: <20260730182640.2808572-1-daniel@0x0f.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Currently using voodoo cards that weren't booted by the video BIOS aren't usable. This means if you happen to have a proper - non-x86 - computer, another card is the primary or you have a new BIOS that cannot run the video BIOS tdfxfb would probe but you be staring at "no signal detected". This series implements manually booting cards using the values from the video BIOS' own table. Debugging was partially assisted by Claude Fable 5. I could not work out why this would not work for months so I told it to create a voodoo 3 emulation for QEMU to compare the BIOS against my code. That made it obvious my init sequence matched the BIOS but the VGA core wasn't running. This has been tested on a real voodoo 3 in an x86-64 board. I have some patches to add an interface for doing 3D rendering that are not included in this series and 3D rendering is also working so as far as I can tell everything is good. Daniel Palmer (5): fbdev: tdfxfb: Add helper to read config table from BIOS fbdev: tdfxfb: Attempt to detect if the card wasn't booted fbdev: tdfxfb: Manually boot unbooted cards fbdev: tdfxfb: Wake the VGA core before programming the CRTC fbdev: tdfxfb: Program the initial video mode drivers/video/fbdev/tdfxfb.c | 151 +++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) -- 2.53.0