Thread (6 messages) flat view 6 messages, 2 authors, 2001-08-20

Re: Using IDMA1 ( or IDMA2 ) on 860

From: John Francis <hidden>
Date: 2001-08-20 19:16:55

Dan,
quoted
/* version2 of GetChipAddress this WORKS why? */
Because you can't directly access physical bus
addresses from
the kernel.  They have to be mapped to some virtual
address.
The IMMR is mapped to a well known address that can
generally
be used anywhere in the kernel.  Anything else must
be mapped,
as your example shows.  Just make sure you do this
_once_,
don't keep calling ioremap() over and over or you
will exhaust
the VM space and get a different address every time.


	-- Dan
Thanks for all your help and education. One last
question on this, if I have a pointer that is returned
by doing ioremap_noncache() if I want to assign this
pointer in buffer descriptor setup should i be doing
__pa () correct? Will __pa() translate that address
back to the actual physical address?

John


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