All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andries Brouwer <aeb@veritas.com>
To: Paul Gortmaker <p_gortmaker@yahoo.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] CONFIG_EISA note in Documentation/Configure.help
Date: Fri, 17 Nov 2000 23:01:46 +0100	[thread overview]
Message-ID: <20001117230146.A173@veritas.com> (raw)
In-Reply-To: <00111317072200.00727@localhost.localdomain> <20001114205950.A25349@veritas.com> <3A127070.7DEE2527@yahoo.com>
In-Reply-To: <3A127070.7DEE2527@yahoo.com>; from p_gortmaker@yahoo.com on Wed, Nov 15, 2000 at 06:16:00AM -0500

On Wed, Nov 15, 2000 at 06:16:00AM -0500, Paul Gortmaker wrote:

> > What use is knowing that a machine has EISA slots? As far as I can see
> > the only use is to ask for the EISA ID of the card.
> > Should we? I collected 1200 .cfg files and estimate that this is
> > less than 10% of what exists - we do not want a data base built
> > into the kernel, I think. But the kernel could collect these
> > EISA IDs at boot time, enabling drivers to inquire.
> 
> There could have been an API for EISA card probes if there 
> were enough drivers to demand it - but I guess there never was.
> Something like:
> 
> if (ioaddr=probe_EISA_ID("abc1234") == 0) return -ENODEV;

I see how to make

	if ((slot = probe_EISA_ID("abc1234")) == -1) return -ENODEV;

but have no idea how you want to find an ioaddr.

My code does something like

/*
 * EISA board N has a 4-byte ID that can be read from 0xNc80-0xNc83
 * return 0 for success, -1 for failure (no EISA card in slot) and
 * 1 when a card is present but still needs to be configured.
 */
static int
get_eisa_id(int board, char *id) {
        int idaddr = (board << 12) + 0x0c80;
        char val;

        outb(0xff, idaddr);
        val = inb(idaddr);
        if (val & 0x80)
                return -1;
        if ((val & 0xf0) == 0x70)
                return 1;
        id[0] = val;
        id[1] = inb(idaddr+1);
        id[2] = inb(idaddr+2);
        id[3] = inb(idaddr+3);
        return 0;
}

(I looked at this in order to get information in a situation
with several onboard chips. The EISA slot for them is 0,
but there is no obvious way to get at the ioaddr.)


> > (iv) Finally a question: does anyone know of a URL for the
> > EISA standard?
> 
> I recall looking about several years ago when I was playing
> with some drivers for old EISA ethernet cards.  Never found
> much of anything.  A couple of html-docs on a Digital EISA
> box which I found collecting dust in my personal archive of
> junk. (see below)

Thanks! However, I had these same docs.
(Labeled AA-Q0R6C-TET1.)


> > [PS I would like to be mistaken about the impossibility of
> > parsing the EISA configuration area. There is useful info
> > there, e.g. about dma and irq. It would be nice if this info
> > were available.]
> 
> I think you are mistaken - I have written several EISA drivers
> for network cards, and at least three of these I wrote having
> never seen the card at all  - only the .cfg file - which was
> enough for me to get the card I/O IRQ and so on.

Yes, the file is fine. But I only gave you the EISA configuration area.
Now what do you do? I don't know. As far as I can see only very
machine-dependent things work.

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

  parent reply	other threads:[~2000-11-17 22:32 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-11-14  0:07 [PATCH] CONFIG_EISA note in Documentation/Configure.help Steven Cole
2000-11-14 19:59 ` Andries Brouwer
2000-11-14 20:23   ` Jeff Garzik
2000-11-14 21:00     ` Andries Brouwer
     [not found]   ` <3A127070.7DEE2527@yahoo.com>
2000-11-17 22:01     ` Andries Brouwer [this message]
2000-11-17 23:24       ` Alan Cox
2000-11-18 11:26       ` Christer Weinigel
  -- strict thread matches above, loose matches on Subject: below --
2000-11-14 20:48 Steven Cole
2000-11-14 21:06 ` Jeff Garzik
2000-11-14 21:22 Steven Cole
2000-11-14 23:37 Andrzej Krzysztofowicz
2000-11-17 23:47 Andries.Brouwer

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=20001117230146.A173@veritas.com \
    --to=aeb@veritas.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=p_gortmaker@yahoo.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.