VME: Prevent D16 cycles being split into 8-bit blocks
authorMartyn Welch <martyn.welch@ge.com>
Thu, 19 Jul 2012 16:48:46 +0000 (17:48 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Jul 2012 22:39:39 +0000 (15:39 -0700)
commit363e2e6f9e2d9ca53fb87e3988e2a225dc879aa4
tree98e316e22bea15046819c1d44338b99bc48009fe
parent59e32c490e476dba2938dde9fd4d4eaf5d0f8121
VME: Prevent D16 cycles being split into 8-bit blocks

The memcpy_fromio() and memcpy_toio() functions use the __memcpy() function,
at least on x86. This function carries out transfers smaller than 32 bits as
multiple 8 bit transfers, causing a single (aligned) 16 bit transfer to be
split into 2 8 bit transfers which may not be supported by the target VME
device.

The commit 53059aa05988761a738fa8bc082bbf3c5d4462d1 fixed this for the
ca91cx42, however this was not fixed for the tsi148 at the time. This patch
uses the same algorithm to fix the tsi148.

Reported-by: Daniel Lambert <daniel.lambert@clermont.in2p3.fr>
Signed-off-by: Martyn Welch <martyn.welch@ge.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/vme/bridges/vme_tsi148.c