9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: G. David Butler gdb@dbSystems.com
Subject: [9fans] Re: etherelnk3.c
Date: Sat, 13 Dec 1997 12:04:26 -0600	[thread overview]
Message-ID: <19971213180426.75p3QpcSNxxfyZXxfyoyM-eyh9rSNmeIq7ENT7_48m8@z> (raw)

Hello All!

I've just started the process of back porting the brazil
etherelnk3 driver to Plan9.  I would like some feedback
from this list (9fans) about some of the porting issues.

The primary goal of this effort is to get the support of
the newer 3com cards into Plan9.  I don't want to change
the way it is used though.  In other words, you still use
ether0=type=3C509 in plan9.ini.  It professes to support:

/*
 * Etherlink III and Fast EtherLink adapters.
 * Product ID:
 *	9150 ISA	3C509[B]
 *	9050 ISA	3C509[B]-TP
 *	9450 ISA	3C509[B]-COMBO
 *	9550 ISA	3C509[B]-TPO
 *
 *	9350 EISA	3C579
 *	9250 EISA	3C579-TP
 *
 *	5920 EISA	3C592-[TP|COMBO|TPO]
 *	5970 EISA	3C597-TX	Fast Etherlink 10BASE-T/100BASE-TX
 *	5971 EISA	3C597-T4	Fast Etherlink 10BASE-T/100BASE-T4
 *	5972 EISA	3C597-MII	Fast Etherlink 10BASE-T/MII
 *
 *	5900 PCI	3C590-[TP|COMBO|TPO]
 *	5950 PCI	3C595-TX	Fast Etherlink Shared 10BASE-T/100BASE-TX
 *	5951 PCI	3C595-T4	Fast Etherlink Shared 10BASE-T/100BASE-T4
 *	5952 PCI	3C595-MII	Fast Etherlink 10BASE-T/MII
 *
 *	9000 PCI	3C900-TPO	Etherlink III XL PCI 10BASE-T
 *	9001 PCI	3C900-COMBO	Etherlink III XL PCI 10BASE-T/10BASE-2/AUI
 *	9050 PCI	3C905-TX	Fast Etherlink XL Shared 10BASE-T/100BASE-TX
 *	9051 PCI	3C905-T4	Fast Etherlink Shared 10BASE-T/100BASE-T4
 *
 *	9058 PCMCIA	3C589[B]-[TP|COMBO]
 *
 *	627C MCA	3C529
 *	627D MCA	3C529-TP
 */

After a quick perusal of the code, we have a big decision
to make.  This brazil driver does not use RingBuf, it uses
Blocks.  It also moves the Ctlr structure out of ether.h
and into the driver .c file.  The former change allows
more data to be buffered and the latter allows driver
specific data to be localized.  These are both "good" things.

Devether.c is not compatible with either of these changes,
so we have to either update the entire ethernet subsystem to
use Blocks, or make this driver use RingBufs and dirty the
ether.h Card and Ctlr structures with the overhead of this
driver.

To limit the scope of this effort I vote for changing this
driver to RingBufs and creating a structure in the driver
that I will hang off Ctlr.Card.dp8390 since that is not used
in the 3com stuff.  By doing this I will also provide the
changes I have done to support multiple ethernet cards.
This affects other parts of the system, but at least we will
get more functionality than we have now.

Since this effort is for the Plan9 community, I didn't want
remove functionality from this driver without a discussion.

If it is decided that we update the ethernet subsystem, perhaps
we can get Jim to provide further details to make future
backports easier :-)  In addition, we need someone to coordinate
the overall structure and own devether.c and ether.h.  Then
we need volunteers to work on all of the current drivers to
bring them into the fold.

Are we ready to build a team to do Plan9 enhancement/development?
We could use the FreeBSD model.  Or do we want to leave the
system as it is with Lucent as keeper of the updates?

Comments?

David Butler
gdb@dbSystems.com




             reply	other threads:[~1997-12-13 18:04 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-12-13 18:04 G.David [this message]
1997-12-14 16:37 G.David
1997-12-15 17:43 Eric
1997-12-15 18:14 G.David
1997-12-24  4:30 jim
1997-12-29 20:25 Eric
1997-12-30  1:20 G.David
1997-12-30 19:05 Eric
1997-12-31  2:41 jim
1997-12-31  3:51 G.David
1997-12-31  5:16 jim
1997-12-31  6:49 G.David
1997-12-31  8:54 Nigel
1997-12-31 15:10 jim
1997-12-31 17:14 Eric
1998-01-02 21:54 jim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=19971213180426.75p3QpcSNxxfyZXxfyoyM-eyh9rSNmeIq7ENT7_48m8@z \
    --to=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).