public inbox for linux-kernel@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox