lkml.org 
[lkml]   [2000]   [Feb]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: PCMCIA still doesn't work for 2.3.46-pre2


On Tue, 15 Feb 2000, Wakko Warner wrote:
>
> I have some questions. I noticed when I boot, my 2 slots have pre-allocated
> IRQs (one time I got both cards on the same irq and every other time, the
> top slot is always IRQ5 which is already allocated by the PCI bios to pci
> sound card. my 3c575 doesn't work very well being on IRQ5 when transfering
> files)

This is the PCI interrupt that gets allocated for the controller itself.

That interrupt also gets used for all true cardbus cards.

The allocation logic is probably slightly off, though. The code tries to
avoid allocating an interrupt that is not used for anything else, but the
code in question is new and might have problems. This particular irq
selection is handled by the generic PCI interrupt code, see
pcibios_lookup_irq() in arch/i386/kernel/pci-pc.c..

> Since the IRQs are preallocated, inserting an 8-bit or 16-bit card causes
> another IRQ to be allocated. I'm not sure if the cardmgr (pcmcia-cs 3.1.8)
> needs to understand how to do this, or the cards should be allocated on the
> fly by another program. cardmgr would assign irq 3 to one of the cards
> (irq3 is not used on this box, IRport disabled)

A 16-bit PCMCIA card gets an ISA interrupt, and here the logic is
completely different - it's not the same irq pin as the PCI interrupt, and
we just search for a completely unused irq that matches the irq list that
we know the controller can generate.

> One more question. Was there a reason for having a seperate (modules here)
> pci_socket.o and yenta.o? ATM, the debian /etc/pcmcia.conf wants a single
> module for the controller. /etc/init.d/pcmcia uses insmod to load it,
> obviously, telling it yenta won't allow ds.o to load, using pci_socket won't
> load.

The only real reason is that pci_socket.c can handle any kind of PCI
PCCARD controller, while yenta.c just implements one specific class of
controllers (namely the true cardbus ones). Right now any non-cardbus
controller (whether it is PCI or ISA) just falls back on the i82365 code.

In the future, there might be non-cardbus PCI PCCARD controllers. Although
the way things are looking, that kind of hardware is getting pretty
scarce..

Linus


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

\
 
 \ /
  Last update: 2005-03-22 13:56    [W:0.119 / U:0.352 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site