On Fri, 30 Mar 2001, Andreas Hofer wrote:
> BTW I really do not understand why they forgot to implement the
> adjustable bus size for PCMCIA memory.
It actually is. You select it with the proper ldr/str instruction:
ldr/str 32 bit access
ldrb/strb 8 bit access
ldrh/strh 16 bit access, but the sequence depends on IOCS16
It's normal that memcpy() is totally unaware of the opcode it should use
with the PCMCIA area since it is designed for memory to memory copy. In
your case you need a special function to force the proper opcode to be used,
or you can even write your own hand-optimized copy function in assembly.
You won't gain any performance by switching to the static bank since the
processor will stall anyway while the serialized 16 bit access are performed
by the hardware.
> Since the hardware hooked up
> to PCMCIA slots is 16Bit (at most) it would have made a lot sense to
> default to 16Bit width.
Most PCMCIA drivers already use inw()/outw()/insw()/outsw() which gets
translated into ldrh/strh opcodes in the end. So the 16 bit width isn't a
problem.
Nicolas
_______________________________________________
http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
Please visit the above address for information on this list.