Re: 2.3.51 cardbus

From: Linus Torvalds (torvalds@transmeta.com)
Date: Sat Mar 11 2000 - 23:16:03 EST


On Sat, 11 Mar 2000, Wakko Warner wrote:
>
> What's the difference between cardwatcher(kernel) and the cardmgr(user)?

The kernel thread just watches for simple events, and handles those ("card
removed - tell the drivers and networking layer to not use it any more"
or "oh, some card was added, make sure it gets powered up etc").

cardmgr does anything more complex - actually identifying the card etc.

> > Note that sometimes a PCI interrupt is not available at all, at which
> > point the yenta driver falls back on trying to use a legacy interrupt even
> > for 32-bit CardBus cards (and will not use a CSC interrupt at all, instead
> > just using a timeout to check whether cards have been added or removed).
> > This =usually= works.
>
> What is CSC?

Card Status Change. It's the interrupt that happens when cards get
added/removed etc.

> > Actually, as far as I can tell, on the laptop side Sony makes some of the
> > best laptops available. I'm biased, because I like my laptops _small_, and
> > the Japanese laptop vendors tend to be more aggressive in the size
> > department (and many of the japanese models never make it to the US).
>
> Actually, my versa sx is smaller than most. I believe the panel is the same
> thickness as the sony, but the system is 1" thick.

1"? You have a brick. I don't think you even realize what "small" means
these days.

> How is the cdrom connected to the sony laptop? pc card? It doesn't have a
> builtin cdrom does it?

The VAIO I have is so small that a CD would basically not physically fit
inside it. The CD-ROM is external behind the cardbus interface. The floppy
is external behind USB.

It doesn't have aregular VGA connector: the machine is too thin to fit
one. Instead, it has a special thin connector and an adapter cable that I
take with me if I expect to need an external display.

We're talking 2 lbs.And at least I personally believe that the bigger
laptops will die out eventually, I just cannot even imagine carrying the
7-9 lbs monsters around any more.

And no, that belief is not because I work at Transmeta. I never really
liked laptops before I got this one.

> How about the pc card 574 card? We have one at work which was purchased by
> mistake (but being used)

The 574 isn't that interesting from the driver perspective, as it's a
16-bit card, and unlike the cardbus cards there is no way to make 16-bit
PCMCIA cards look truly transparently like their ISA counterparts. Very
different from the 575.

With 16-bit PCMCIA cards that share the chipset with some ISA card (like
the 3c574 and the3c509) you can share a lot of the core code, but it's
still going to be a matter of "this part is the PCMCIA part, and this part
is the actual core part".

The reason the CardBus support revamping happened is that CardBus really
is just a PCI bridge with hot-plug capability (and the old PCMCIA crud
thrown in for backwards compatibility). So there it is more than just
sharing code - it is fundamentally the _same_ driver.

> Mar 11 09:31:31 krillin kernel: eth0: Too much work in interrupt, status e003.
> Mar 11 09:31:31 krillin kernel: eth0: Host error, FIFO diagnostic register 0000.
> Mar 11 09:31:31 krillin last message repeated 32 times

Weird. My best guess would be that the driver ends up being so slow that
while it receives one packet the next packet has had time to arrive. Does
the above happen under heavy network load? Does a "ping -f -s 1000 name"
from another machine cause it reliably to happen, for example?

> Oh, by the way, the 575 driver can't be compiled in, I tried and it told me
> to go away <g>

This used to be true of the old tulip_cb.c driver too. Now that there is
just one tulip.c driver, the issue is moot. You can compile it in, and in
theory you can have a machine with both a CardBus tulip card and a regular
PCI card with the tulip chipset and they'll both be serviced by the same
driver.

(In practice that doesn't really happen, of course, but it does mean that
the same kernel image can work in two very different configurations)

> Why does acpi require an IRQ? I haven't used it since it uses an irq.

ACPI events cause interrupts. Things like "oh, somebody closed the lid on
me", or "duh, somebody pressed the 'go to sleep' keycombo" or things like
that.

APM can handle these events too, but has limitations (APM power management
is not very aggressive, and fundamentally cannot be, for example).

> Speaking of IRQs, what's the deal on machines (I have a supermicro p6dbe)
> that have PCI irq's >= 16. This would be nice if it would work on my
> laptop. My tyan s1832dl doesn't support those higher irq's (Wish it did)

It's the newer IO-APIC introduced for SMP, but available for UP systems
too. Needs BIOS support too. I've not seen a laptop that would do this,
although it is definitely not impossible (and you can compile a UP kernel
with IO-APIC support in it these days).

                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/



This archive was generated by hypermail 2b29 : Wed Mar 15 2000 - 21:00:20 EST