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

From: Timothy Miller (miller_at_techsource.com)
Date: 10/22/04

  • Next message: Greg KH: "Re: [PATCH] fix recently introduced race in IBM PPC4xx I2C driver"
    Date:	Fri, 22 Oct 2004 15:56:23 -0400
    To: Jeff Garzik <jgarzik@pobox.com>
    
    

    Jeff Garzik wrote:
    > Timothy Miller wrote:
    >

    >
    >> 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).

    Sure, but those standards had time to evolve to where they are. I don't
    have that luxury in many respects.

    >
    >
    >> 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.

    Ok, let me say this: I will not change something I don't have to
    change, but I'm not going to be held back (and hold everyone else back)
    by some mistake I made in the past.

    >
    >> 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.

    Fair enough, although the problem of a competitor getting the jump on us
    that way is yet to be addressed.

    -
    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: Greg KH: "Re: [PATCH] fix recently introduced race in IBM PPC4xx I2C driver"

    Relevant Pages

    • Re: Linux Firewall/LoadBalancer
      ... The bonding driver originally came from Donald Becker's beowulf patches for ... Build kernel with the bonding driver ... "Bonding driver support" in the "Network device support" section. ... so the bonding driver will automatically load when the bond0 interface is ...
      (Security-Basics)
    • Re: COM correct choice for my application?
      ... A device driver communicates ... functionality. ... > I am developing a custom piece of hardware that connects to the computer ... > to my code at compile-time (just the interface I have defined). ...
      (microsoft.public.win32.programmer.ole)
    • [PATCH] IPMI driver updates, part 2
      ... It has been far too long since the last IPMI driver updates, ... This second part adds the "System Interface" driver. ...
      (Linux-Kernel)
    • [2.6 patch] remove comx driver docs
      ... info on the driver for Baycom style amateur radio modems ... -LMI) protocols are available as link-level protocol. ... -The COMX driver set has a new type of user interface based on the /proc ... -To create the interface 'comx0' which is the first channel of a COMX card: ...
      (Linux-Kernel)
    • [2.6 patch] remove the documentation for the legacy CDROM drivers
      ... This patch removes the documentation for the removed legacy CDROM drivers. ... SC1200 WDT DRIVER ... LaTeX document on standardizing the CD-ROM programming interface. ... THIS DRIVER WILL WORK WITH THE CD-ROM DRIVES LISTED, ...
      (Linux-Kernel)