Using IDMA1 ( or IDMA2 ) on 860

John Francis johnfrancsis at yahoo.com
Tue Aug 21 05:16:55 EST 2001


Dan,

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





More information about the Linuxppc-embedded mailing list