2.6.x kernels & PCI-to-PCMCIA bridges [again]

Komuro komurojun at mbn.nifty.com
Wed Jun 30 08:31:56 EDT 2004


>> >Actually, its right.  You've programmed the memory start/stop registers
>> >with sys_start and sys_stop.  Since card_start = 0, you want accesses
>> >to physical address "sys_start" to correspond with card address
>> >"card_start".  So, if card_start = 0, you need to program the offset
>> >register (I365_W_OFF) with -sys_start to achieve the required address
>> >on the PCMCIA bus.
>> 


See the following example, please.

We assume that mem->sys_start is 0x0a0000000
and we want mem->card_start = 0. 
Note that 0x0a0000000 is 32bit number.

((mem->card_start - mem->sys_start) >> 12) & 0x3fff
= ((0 - 0x0a0000000) >> 12 ) & 0x3fff
= (0x60000000 >> 12) & 0x3fff
= 0x60000 & 0x3fff
= 0  
strange and wrong!

Best Regards
Komuro





More information about the linux-pcmcia mailing list