public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [BETA] First test release of Tigon3 driver
@ 2002-02-26  0:59 David S. Miller
  2002-02-26  3:43 ` nick
                   ` (3 more replies)
  0 siblings, 4 replies; 33+ messages in thread
From: David S. Miller @ 2002-02-26  0:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: jgarzik, linux-net


This is to announce the first test release of a new Broadcom Tigon3
driver written by Jeff and myself.  Get it at:

ftp://ftp.kernel.org/pub/linux/kernel/people/davem/TIGON3/tg3.patch.gz

The patch is against 2.4.18 but there is no reason it should be
difficult to apply this patch to any other tree.

It is meant to replace Broadcom's driver because frankly their driver
is junk and would never be accepted into the tree.  For an example of
why their driver is junk, note that the resulting object file from our
driver is less than half the size of Broadcom's.  That kind of bloat
is simply unacceptable.  Next, Broadcom's driver is still way
non-portable, ioremap() pointers are still dereferenced directly among
other things.  Finally, their driver is just plain buggy, they have
code which tries to use page_address() on pages which are potentially
in highmem and that is guarenteed to oops.

There are other problems with their driver too, just ask as I'm in a
good mood to grind my axe about this stuff :-)

We would also like to give Broadcom a big "no thanks" because
their lawyers refused to give Jeff the documentation for the Tigon3
chipset using an NDA that would allow him to write a GPL'd driver
based upon said documentation.  This means that all that we know about
the hardware has been reverse engineered from Broadcom's GPL'd driver
plus some experimenting.  It is why this driver has taken so long to
finish, because it is hard to find incentive for this kind of brack
breaking work when the vendor is totally uncooperative.

I personally think Broadcom has some hidden agenda that requires that
their driver be "the one".  So instead of just complaining about such
stupid policy, we've done something about it by doing our own driver
with all the problems fixed.

We'd really appreciate if people would test this thing out as hard
as they can.  I can tell you that I've personally only been able to
test out the following scenerios so far:

1) Both big-endian and little-endian platforms.
2) 64-bit on big-endian side, 32-bit on little-endian side.
3) IOMMU based PCI dma platform on 64-bit/big-endian side,
   non-IOMMU based PCI dma platform on 32-bit little-endian side.
4) 10baseT half duplex, 100baseT full duplex
5) Copper based connectors, as that is all that Jeff and I have.

Gigabit and fibre are the big areas where our testing has been
lacking.  We have also not done any tuning of the driver at all,
although we do consider the driver feature complete.

^ permalink raw reply	[flat|nested] 33+ messages in thread
* Re: [BETA] First test release of Tigon3 driver
@ 2002-03-12  0:57 Timothy Ngo
  2002-03-12  1:21 ` Alan Cox
  2002-03-12  6:47 ` David S. Miller
  0 siblings, 2 replies; 33+ messages in thread
From: Timothy Ngo @ 2002-03-12  0:57 UTC (permalink / raw)
  To: linux-kernel; +Cc: tngo, gignatin, gyoung

This statement is a response to the recent negative comments about the
Broadcom Gigabit
ethernet driver by the Linux community.

Our Gigabit ethernet driver was written as a GPL'ed open source driver to
support various 2.2.x and 2.4.x Linux kernels. The primary objectives were
to support Intel
i386 and ia64 platforms and provide high performance especially in server
type
applications. The driver was also written in a way that proprietary
information about the hardware would not be unnecessarily disclosed. This is
necessary to protect our intellectual property and to keep a competitive
edge in the highly competitive Gigabit NIC marketplace.

We don't claim to be Linux experts but no one knows about our hardware more
than we do. At this point, we cannot support the Linux open source community
to write their
own driver. Doing so would require us to disclose too much proprietary
information about
our hardware and put us in a competitive disadvantage in the Gigabit
marketplace. We stronly
believe our driver is solid and provides high performance for our customers.
In one
benchmark test, we've achieved better than 1.8 Gigabit total throughput
using jumbo frames. While
our emphasis has been on Intel i386 and ia64 platforms, our recent versions
of the driver are also
known to work on PowerPC, Sparc, and alpha platforms. While we welcome any
constructive suggestions on improving our driver in anyway, we want to point
out that there are
different styles to writing a device driver, not just the style advocated by
a couple of
arrogant Linux people.

Here more details comments to the Dave Miller's email on Broadcom Driver.

> >It is meant to replace Broadcom's driver because frankly their driver
> > is junk and would never be accepted into the tree.  For an example of
> > why their driver is junk, note that the resulting object file from our
> > driver is less than half the size of Broadcom's.  That kind of bloat
> > is simply unacceptable.

[BRCM] Our driver is 117K, Intel's driver is 82K, the Altima driver is 82K.
It has
a lot of features and carries all backward compatible for all chips
including
firmware.

> > Next, Broadcom's driver is still way
> > non-portable, ioremap() pointers are still dereferenced directly among
> > other things.

[BRCM] The driver was changed to use readl/writel macro in version 2.0.31 on
12/14/01 when we started testing on other non-Intel platforms and added
big-endian support. Prior to that we only supported Intel platforms and
direct access is not a problem on Intel platforms.

> > Finally, their driver is just plain buggy, they have
> > code which tries to use page_address() on pages which are potentially
> > in highmem and that is guarenteed to oops.

[BRCM] It is true that the driver uses page_address() in one subroutine that
is
used to workaround a problem on the very early 5700 chip. But this routine
is not used at all, it was there intially to support early rev of the
silicon.
It was removed in later version of the Broadcom driver.

Regards,

Timothy Ngo




^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2002-03-12  6:50 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-02-26  0:59 [BETA] First test release of Tigon3 driver David S. Miller
2002-02-26  3:43 ` nick
2002-02-26  4:40   ` David S. Miller
2002-02-26 11:22     ` Sebastian Heidl
2002-02-26 11:24       ` David S. Miller
2002-02-26 11:39         ` Sebastian Heidl
2002-02-26 13:13           ` David S. Miller
2002-02-26 13:57 ` Thomas Langås
2002-02-26 14:59   ` David S. Miller
2002-02-26 15:40     ` Thomas Langås
2002-02-26 16:09       ` __skb_dequeue irq race ? Bjorn Wesen
2002-02-27  2:56       ` [BETA] First test release of Tigon3 driver David S. Miller
     [not found]         ` <20020227102450.B23121@stud.ntnu.no>
2002-02-27  9:31           ` David S. Miller
2002-02-27 11:05         ` Thomas Langås
2002-02-27 11:34           ` David S. Miller
2002-02-27 11:56             ` Thomas Langås
2002-02-27 12:06               ` David S. Miller
2002-02-27 12:24                 ` Thomas Langås
2002-02-27 12:28                   ` David S. Miller
2002-02-27 16:03                     ` Thomas Langås
2002-02-27 16:10                       ` Arjan van de Ven
2002-02-27 17:25                         ` Thomas Langås
2002-02-27 18:37                         ` Zach Brown
2002-02-27 18:46                           ` Zach Brown
2002-02-27 19:42                         ` Thomas Langås
2002-02-27 16:30                       ` Chris Friesen
2002-02-26 17:22 ` Greg KH
2002-02-27  4:13   ` David S. Miller
2002-02-26 18:08 ` Pasi Kärkkäinen
2002-02-27  2:12   ` David S. Miller
  -- strict thread matches above, loose matches on Subject: below --
2002-03-12  0:57 Timothy Ngo
2002-03-12  1:21 ` Alan Cox
2002-03-12  6:47 ` David S. Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox