Subject: Re: m8xx_pcmcia driver ported to v2.6

From: Pantelis Antoniou <[email-masked]>
Date: Thu, 12 May 2005 09:06:27 +0300

Mark Chambers wrote:
>>There is one pending problem: the M8xx does not accept 
>>access to non present ioports (an exception is triggered),
>>which is quite common while inserting/removing cards.
>>
>>We've hacked around this in our tree, Panto once mentioned 
>>that another PPC's do handle those exceptions fine (?).
>>
> 
> 
> Ah yes, I remember this problem from the 68360 days.
> 
> This is a matter of how you set up the option register ORx
> for a particular chip select.  You can choose external or 
> internal acknowledge.  You can have both at the same time:
> if you set up the ORx for the maximum number of wait states
> and also select external acknowledge, the cycle will end
> with the external acknowledge, or end with the maximum
> wait states if no external ack is generated.  Also note that
> the internal/external ack bit can be changed on the fly - so,
> for instance, you could turn external ack on once a card
> was inserted.  
> 
> As I recall, some PCMCIA cards can have VERY long
> cycles in the configuration space, so even the maximum 
> number of wait states in ORx may not be sufficient.
> 
> Mark Chambers
> _______________________________________________
> Linuxppc-embedded mailing list
> [email-masked]
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
> 
> 

Unfortunately this does not work on 8xx since the PCMCIA
port is not on a chip select. It's a different peripheral
and always expectes a DTACK to terminate the cycle.

To get over this problem we need to do something more drastic.

Take a look at the __do_in_asm macro in include/asm-ppc/io.h.

Regards

Pantelis