m8260_cpm_hostalloc() data reads incorrect data
Petersen, David (MED, GEMS-IT)
David.Petersen at med.ge.com
Fri Nov 7 01:52:55 EST 2003
I am working on a platform with an mpc8270 processor running a
kernel from the latest 2.4 development tree. I have created a driver based
on uart.c for one of the SCCs.
The receive buffers are allocated using the m8260_cpm_hostalloc(). I am
getting receive interrupts and verfied that the data is written by the cpm
to the correct physical memory location using a logic analyzer. However the
data that is read from the buffer is incorrect. As a sanity check, I
allocated my buffers using m8260_cpm_dpalloc() and I then read the correct
data.
I've looked through the hostalloc function as well as the
__alloc_bootmem() function that initially allocates two pages of data for
the CPM in mpc8260_cpm_reset(). It is unclear to me how this memory can be
in a PAGE_NO_CACHE region as it needs to be for the CPM. I'm not sure if it
is something in my system initialization that would put the memory that
alloc_bootmem() uses in a noncacheable area or if the memory initially
allocated for the CPM in mpc8260_cpm_reset() needs to be done differently.
Tom
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list