[PATCH v2 0/5] fbdev: tdfxfb: Make "unbooted" cards work

Daniel Palmer posted 5 patches 2 months ago
drivers/video/fbdev/tdfxfb.c | 155 +++++++++++++++++++++++++++++++++++
1 file changed, 155 insertions(+)
[PATCH v2 0/5] fbdev: tdfxfb: Make "unbooted" cards work
Posted by Daniel Palmer 2 months ago
Currently voodoo cards that weren't booted by the video BIOS aren't
usable because the hardware is never brought up.

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 will be staring at
"no signal detected".

This series implements manually booting cards using the
values from the video BIOS' own table. Currently this only works
for the voodoo 3.

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 and
an Amiga 4000 with a mediator PCI bridge.

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.

v2:
  - Fix up some poor 3am English mistakes in the cover letter.
  - Limit this to the voodoo 3. The BIOS layout is different
    for the 4/5 apparently.
  - Fixed the valid sashiko complaints - mainly clearing the
    framebuffer memory before fbcon might have bound, retaining
    the current behaviour if we can't get the video BIOS to get
    the config parameters.
  - Tweaked the wording of some of the commit messages.

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 | 155 +++++++++++++++++++++++++++++++++++
 1 file changed, 155 insertions(+)

-- 
2.53.0
Re: [PATCH v2 0/5] fbdev: tdfxfb: Make "unbooted" cards work
Posted by Helge Deller 2 months ago
On 7/31/26 14:19, Daniel Palmer wrote:
> Currently voodoo cards that weren't booted by the video BIOS aren't
> usable because the hardware is never brought up.
> 
> 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 will be staring at
> "no signal detected".
> 
> This series implements manually booting cards using the
> values from the video BIOS' own table. Currently this only works
> for the voodoo 3.
> 
> 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 and
> an Amiga 4000 with a mediator PCI bridge.
> 
> 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.
> 
> v2:
>    - Fix up some poor 3am English mistakes in the cover letter.
>    - Limit this to the voodoo 3. The BIOS layout is different
>      for the 4/5 apparently.
>    - Fixed the valid sashiko complaints - mainly clearing the
>      framebuffer memory before fbcon might have bound, retaining
>      the current behaviour if we can't get the video BIOS to get
>      the config parameters.
>    - Tweaked the wording of some of the commit messages.
> 
> 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 | 155 +++++++++++++++++++++++++++++++++++
>   1 file changed, 155 insertions(+)
New series applied to fbdev.

Thanks!
Helge