Thread (2 messages) 2 messages, 2 authors, 2000-10-20

Re: ppc_ide_md.insw

From: Adrian Cox <hidden>
Date: 2000-10-20 09:08:28

Possibly related (same subject, not in this thread)

Neil Russell wrote:
They are used by macros in include/asm-ppc/ide.h called "insw" and "outsw".
I know they are called because I have traced them.  You can just fix the
versions in the arch/ppc/kernel directory to do what you want.
I'm using the 2.2 bitkeeper kernel, and there are no macros in
include/asm-ppc/ide.h:
~/linux-bk/linuxppc_2_2> grep insw include/asm-ppc/*
grep: include/asm-ppc/SCCS: Is a directory
include/asm-ppc/ide.h:        void        (*insw)(ide_ioreg_t port, void
*buf, int ns);
include/asm-ppc/ide.h:void ide_insw(ide_ioreg_t port, void *buf, int
ns);
include/asm-ppc/io.h:#define insw(port, buf, ns)	_insw_ns((unsigned
short *)((port)+_IO_BASE), (buf), (ns))
include/asm-ppc/io.h:extern void _insw(volatile unsigned short *port,
void *buf, int ns);
include/asm-ppc/io.h:#define insw_ns(port, buf, ns)	_insw_ns((unsigned
short *)((port)+_IO_BASE), (buf), (ns))
include/asm-ppc/io.h:extern void _insw_ns(volatile unsigned short *port,
void *buf, int ns);
Normally, there is logic to convert 16-bit accesses from a CPU into a pair
of 8-bit accesses for IDE (a hangover from the ISA bus).  Our hardware does
this but I'm not entirely convinced that this is necessary.  Anyhow, if you
are using one of the PPCs in the 8xx family, or the 8260 you can define a
chip select line for IDE that has an 8-bit bus width, obviating any need
to change software.
I've got a CF card on PortX of an MPC107. The MPC107 breaks the 16-bit
read into two 8-bit reads, in the wrong order. This is not a simple
endianness problem, as this ordering doesn't correctly advance the
internal counter of the CF card.

- Adrian Cox, AG Electronics

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help