RE: Successful master window access

From: Heater, Daniel (GE Infrastructure) <hidden>
Date: 2004-06-02 14:38:26

Sorry I didn't respond to your earlier post. This was a holiday weekend
in the US, and I've been trying to catch up.

To answer your earlier question:
Did VMIC run into similar problems when trying to run the driver
module on the VMIVME7050 (750FX/GX IBM  PowerPC board)?
Because it is not yet in the list of supported boards?
We have not done that port yet, but I'm sure the same problem exists.
While vme_dma_read() and vme_dma_write() worked already, even
on the PowerPC,
vme_peek() and vme_poke() (both based on PCI master windows)
did not work.

Today I successfully made accesses using that functions with
my modified module,
giving me the desired results:

1st test: MVME2100 (PPC) master - MVME162 (68k) slave
vme_dma_read -A <VME address @ slave board> -d VME_D32
vme_peek -A <VME address @ slave board> -d VME_D32
Produced the same result for both accesses.

2nd test: MVME2100 (PPC) master - MVME162 (68k) slave
vme_dma_write -A <VME address @ slave board> -d VME_D32 0xDEADFACE
vme_peek -A <VME address @ slave board> -d VME_D32
Produced the written value on reading.

It seems, though I have to verify 1st, doing two things did the trick:

1.) Acquiring the PCI Window address range from the PCI bus
address range of the
bridge's PCI bus.
2.) Writing a help function that converts the physical
address to a PCI bus
address (doing nothing for x86, and on PPC doing a
conversion). Only this
address may be used when writing to the Universe window registers.

It seems this may be a solution that should work for both platforms.

Somehow I'm very excited and happy! :)
Very cool.
I will go clean up that code, test it more thoroughly (with
tracers enabled),
focus on slave windows afterwards, and maybe even get to test
it on a VMIVME7698
- to verify it is still correct on Intel.

When I got something more substantial than the current hack,
I'll submit it to
you, of course.
Fantastic, you're a good guy!

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