Using IDMA1 ( or IDMA2 ) on 860

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


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


** Sent via the linuxppc-embedded mail list. See

More information about the Linuxppc-embedded mailing list