Thread (7 messages) 7 messages, 4 authors, 2002-09-11

Caching in the MPC107

flat view

From: Adrian Cox <hidden>
Date: 2002-09-09 14:23:24

I've just been debugging an interesting problem with a new board that
uses a MPC107 bridge with a 7445 processor. The symptoms were that the
ethernet device never saw updated transmit descriptors unless another
bus master was active in the system.

The underlying problem is that linuxppc_2_4_devel only sets the
_PAGE_COHERENT flag on memory when CONFIG_SMP is enabled. This doesn't
allow for the fact that the MPC107 contains caches. The cache causing
the problem was the PCI-to-Local-Memory-Read-Buffer (PCMRB), which can
store two 32-byte cache lines.

This wouldn't have been seen on previous boards, because the 750 had
only MEI cache states, and the 7400 required the S state to be
explicitly enabled in MSSCR0. The S state cannot be disabled on the
7450, leading to the possibility of a cache line being allocated in both
the 7450 and the MPC107.

My current thinking is to produce a patch which introduces a new option:
CONFIG_CACHING_HOSTBRIDGE which boards combining the MPC107 and the
MPC7450 can set. This will probably be needed for Motorola's Valis or
Gyrus PMCs.

Comments?

-- Adrian Cox
http://www.humboldt.co.uk/


** Sent via the linuxppc-embedded 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