Thread (6 messages) flat view 6 messages, 3 authors, 2002-10-09

Re: very minor 405GP and 405GPr PCI difference

From: David Gibson <hidden>
Date: 2002-10-09 02:14:03

On Tue, Oct 08, 2002 at 12:39:39PM -0700, Todd Poynor wrote:
David Gibson wrote:
quoted
quoted
Rainier (NP4GS3) PMM1 is setup specially in the existing code, is this
no longer needed?

Well, I don't know if it's necessary - it's not there, because I
didn't notice the difference in the Rainier code before.  Now that I
do look at it, I'm confused: it appears to be setting up both PMM0 and
PMM1 to map from the same PLB addresses, but the manual specifically
prohibits overlapping PMM ranges.
And the code used for MontaVista's products has diverged somehow; it has
an empty bios_fixup but code in a different place that does something
different:

	/* plb address 0x8000 0000 will be set to pci address 0x8000 0000
	which
	   corresponds to PCI 9030 Dev 0x10 BAR4 */
	out_le32((void*)PMM1LA,0x80000000);
	out_le32((void*)PMM1MA,0xFFFE0001);    /* PLB range is 128KB */
	out_le32((void*)PMM1PCILA,0x80000000);
	out_le32((void*)PMM1PCIHA,0x00000000);
Well, it may be in a different place, but it looks like it has the
same problem.  It is still establishing a PCI window at PLB address
0x80000000, which is the same address used for the PMM0 window - or is
that also different in the MV kernel?
I'll try to figure out the story on this, but everything NP4GS3-related
seems to be murky...  NP4GS3 will probably need a custom bios_fixup that
does the above (among other things), can worry about that platform later.
I'd be trying to work out what that mapping's actually for, first.  I
still can't see how it can possibly work - if there are overlapping
PMM windows, what actually happens to accesses in that (PLB) range?
quoted
quoted
This code is fragile and tends to break on certain platforms in ways
that can't be explained by the available documentation.  I can help test
the unified version on Walnut/Sycamore/Ash if needed.

Do you mean the existing code, or my proposed patch (or both).  That
would be great if you could test the code on those machines -  I don't
have a Sycamore or Ash, and I'd have to drag the Walnut out again to
test on it.
Yes, I can test your proposed code on those machines.
--
David Gibson			| For every complex problem there is a
david@gibson.dropbear.id.au	| solution which is simple, neat and
				| wrong.
http://www.ozlabs.org/people/dgibson

** 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