[vortex] linux vortex driver

Edward Pilatowicz ed.p@sun.com
Fri, 06 Apr 2001 19:39:53 -0700


Hello, my name is Edward.

I was looking at the linux 3c59x driver and I had a quick question.

I was looking at what the driver does to support 3c556 cards
that is different from other 3com cards cards.

In the code, it seems that after interrupts, there is a write to
a different set of pci registers.  The code I am talking about is
as follows:

                fn_st_addr = pci_resource_start (pdev, 2);
                if (fn_st_addr)
                        vp->cb_fn_base = ioremap(fn_st_addr, 128);
                printk(KERN_INFO "%s: CardBus functions mapped %8.8lx->%p\n",
                           dev->name, fn_st_addr, vp->cb_fn_base);
	...
        if (vp->cb_fn_base)  /* The PCMCIA people are idiots. */
                writel(0x8000, vp->cb_fn_base + 4);

The mapping happens during initialization and the write to the mapped
registers happens in two different locations.

There are no comments really explaining what is being done other than
some acknowledgment of interrupts.

I was looking for some more information as to what's going on here.
I am looking to support this card in another driver and I want to
make sure that I'm actually doing this operation at an appropriate
time.  Since I don't know exactly what it's doing, this is difficult. :)

Can you help me out?

Thanks

Ed