[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: PCMCIA card 32bit and Sonypi module clash



On Mon, 15 Jan 2007 22:51:17 +0100
Mattia Dongili <malattia@linux.it> wrote:

> On Sun, Jan 14, 2007 at 09:35:32PM +0100, Benedek Frank wrote:
> [...]
> > This is what I see in /proc/ioports (only the necessary parts)
> > 
> > 1000-10ff : PCI CardBus #01
> >   1080-109f : Sony Programable I/O Device
> > 
> > This obviously shows that Sonypi is under the PCI CardBus's range,
> > hence when I have a card inserted, sonypi is overruled. My WiFi card
> > is a 32bit card, and I wouldnt like giving up on that.
> 
> hmmm... just a quick question: did you try playing with
> /etc/pcmcia/config.opts exclude/include
> 

Hi

Yes, I thought about that, however that is for the PCMCIA port assignment, which goes with the 16bit cards, but for the 32 bit CARDBUS cards, Hotplug is assigning the ioports, so changing the above mentioned file does nothing for us here.

Meantime, I found the solution, I mean I was given the solution from Stelian, the developer of the sonypi code.

Turns out the kernel is at fault, as it should not give out any port to Cardbus nor PCMCIA as a matter of fact for any PCI devices below 0x4000 however my Cardbus got the 0x1000 which caused the crazy confusion.

A quick edit of

include/asm-i386/pci.h

file`s following section:

extern unsigned long pci_mem_start;
#define PCIBIOS_MIN_IO          0x1000
#define PCIBIOS_MIN_MEM         (pci_mem_start)
#define PCIBIOS_MIN_CARDBUS_IO  0x4000

You basically need to change PCIBIOS_MIN_IO from 0x1000 to 0x4000 and then compile the kernel.

This fixed the issue, and now the ioport for sonypi is allocated right.

I will file a bugfix for the kernel, as per Stelian`s suggestion.

Thanks for all ideas,

Ben



Reply to: