Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?

From: Jeff Garzik (jgarzik_at_pobox.com)
Date: 10/22/04

  • Next message: Barry K. Nathan: "[PATCH][2.4] ELF fixes for executables with huge BSS (2/2)"
    Date:	Fri, 22 Oct 2004 15:33:23 -0400
    To: Timothy Miller <miller@techsource.com>
    
    

    Timothy Miller wrote:
    > AGP and PCI are very similar in terms of the state machine, although the
    > signal drivers are different. I expect we'll come out with PCI and AGP
    > versions first and then PCIE soon after. Any "early access" developer
    > boards would be PCI-only.

    That's certainly quite reasonable.

    > At this moment, I'm taking a cue from the Linux driver ABI and thinking
    > that standardizing the interface would be more limiting than helpful.

    No offense, but I strongly disagree :)

    Standardizing the hardware interface lowers the cost of doing an OS
    driver for every chip maker that implements the interface. The more
    chip makers that implement the interface, the greater the cost savings.

    Concrete examples:
    * IDE BMDMA interface on PCI. Practically every ATA chipset in
    production supports this interface. As a consequence, each individual
    ATA driver mainly involves setting chip-specific timings, and not much else.

    * tulip (ethernet MAC). Its ring and register designs were widely
    imitated across ethernet NICs; as a result, each ethernet driver is
    mainly a "paint by numbers" affair.

    * the new AHCI SATA interface, which Intel has on all its new
    motherboards, and SiS soon will as well (as will others, I hope).

    > While it might be a pain to have to carry around multiple driver
    > versions, the fact that it's all open source kinda makes it easy to make
    > drastic changes without hurting anything.

    Ever-changing hardware and firmware interfaces are a huge pain. I've
    been writing and maintaining drivers for years... I feel this pain every
    day :)

    You want to design a hardware interface that allows you to upgrade and
    enhance your hardware over time, while keeping the changes to the
    hardware<->OS interface itself to a _bare minimum_. That's why I
    suggested the microcontroller+GPU approach. The microcontroller's
    firmware can be used to mask the transition between GPU revisions.

    Drivers live for many years, even decades, and long after the hardware
    they support has been EOL'd. It's in everybody's best interests to keep
    the changes to the drivers to a minimum.

    > Plus, I don't expect to get it perfect the first time. The first design

    Part of open source is open development. If you develop the hardware
    interface in public, actively soliciting feedback during development,
    you'll wind up with a much better interface.

    Regards,

            Jeff

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Barry K. Nathan: "[PATCH][2.4] ELF fixes for executables with huge BSS (2/2)"

    Relevant Pages

    • [PATCH 0/2] PCI-X/PCI-Express read control interfaces
      ... This patch set introduces a PCI-X / PCI-Express read byte count control ... Instead of letting every driver to directly read/write to PCI ... config space for that, an interface is provided. ... values are set by the BIOS and left unchanged by device drivers. ...
      (Linux-Kernel)
    • Re: Build your own add-on board for PCI bus
      ... If you want a simple WLAN interface for WiFi consider PRISM chipset ... a WiFi card and software drivers. ... How difficult would it be to control a single pci device ...
      (comp.arch.embedded)
    • Re: Harddisk for the Atari ST
      ... > Yes but there is no ACSI command for determining drive size. ... > that we're not going to be using your drivers for a moment, ... > I can't implement a 3rd party hardware solution if the computer throws ... then I have to tell my interface what to do. ...
      (comp.sys.atari.st)
    • Re: add additional NIC to sparcstation 4?
      ... One interface is on the motherboard. ... Any sbus card with drivers in your OS should work. ... 'qfe' would be the most popular drivers to support such hardware. ...
      (comp.unix.solaris)
    • Re: add additional NIC to sparcstation 4?
      ... One interface is on the motherboard. ... Any sbus card with drivers in your OS should work. ... 'qfe' would be the most popular drivers to support such hardware. ...
      (comp.unix.questions)