linux-mips
[Top] [All Lists]

Re: Problems with PCMCIA on AMD dbau1100

To: Pete Popov <ppopov@embeddedalley.com>
Subject: Re: Problems with PCMCIA on AMD dbau1100
From: Josh Green <jgreen@users.sourceforge.net>
Date: Tue, 21 Dec 2004 11:38:52 -0800
Cc: linux-mips@linux-mips.org
In-reply-to: <41C8536E.5060507@embeddedalley.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1103628665.22113.16.camel@SillyPuddy.localdomain> <41C8536E.5060507@embeddedalley.com>
Sender: linux-mips-bounce@linux-mips.org
On Tue, 2004-12-21 at 08:46 -0800, Pete Popov wrote:
> If all the config files are setup properly, you should start pcmcia 
> with /etc/rc.d/init.d/pcmcia start. That will also run the cardmgr. 
> Without the cardmgr, nothing will happen. If you're loading the 
> modules manuall, modprobe au1x00_ss, then ds.o, the execute cardmgr 
> and at that point the card should be detected.
> 

Ok, so there should be a ds.ko compiled then, which I'm not getting
(there is a ds.o in the build tree, but it doesn't get installed as a
module).  I'm still trying to figure out why this is.

> > One thing to note is that I get a few warnings during the PCMCIA build:
> > 
> >   CC [M]  drivers/pcmcia/au1000_generic.o
> > drivers/pcmcia/au1000_generic.c: In function
> > `au1x00_pcmcia_socket_probe':
> > drivers/pcmcia/au1000_generic.c:425: warning: integer constant is too
> > large for "long" type
> > drivers/pcmcia/au1000_generic.c:433: warning: integer constant is too
> > large for "long" type
> > 
> > The first warning is related to the following code (second is similar
> > but for socket 1):
> > 
> >     skt->virt_io = (void *)
> >             ((u32)ioremap((ioaddr_t)AU1X_SOCK0_IO, 0x1000) -
> >             (u32)mips_io_port_base);
> > 
> > 
> > AU1X_SOCK0_IO is defined as 0xF00000000 which is a 36 bit number, not
> > sure if that will cause a problem or not (since ioremap is using phys_t
> > which is 32 bit). 
> 
> phys_t is 64 bit if 64BIT is enabled. Make sure you have the 36bit 
> I/O support enabled. CONFIG_64BIT_PHYS_ADDR has to be defined.
> 

I made sure that was enabled (it isn't very evident that it has to be, I
found that out from the code), but still got the same warnings.  I don't
suppose there is the possibility that 'unsigned long long' isn't 64 bit
on MIPS?  I changed the #ifdef CONFIG_64BIT_PHYS_ADDR to '#if 1' in
include/asm/types.h (for the typedef phys_t) just to make sure, and got
the same result (those warnings).

> > Perhaps this truncation is intentional though.
> > 
> > Thanks in advance for any helpful pointers. Best regards,
> >     Josh Green
> 
> I tested pcmcia a couple of months ago when I updated the driver. 
> I'll retest it in the next few days and send you additional 
> instructions.
> 
> Pete
> 

Thank you very much for the info, it gives me a better idea of what I
should be seeing.  I'll keep probing to see if I can figure out whats
going on.  Best regards,
        Josh Green

Attachment: signature.asc
Description: This is a digitally signed message part

<Prev in Thread] Current Thread [Next in Thread>