On Wed, May 1, 2013 at 12:10 AM, Michael Schmitz
<[email protected]> wrote:
> Another question: Is there a way to find out which physical address maps to
> a given ioremapped one?
>
> If I let the USB driver print the physical address, the ioremapped address,
> and the result of __pa() on the ioremapped one, I get:
>
> ISP116X probe: data 80000012 virt. 21098012 pa 21098012 , addr 80000016
> virt. 21096016 pa 21096016
>
> for the EtherNAT instance, and
>
> ISP116X probe: data 00000340 virt. 2109e340 pa 2109e340 , addr 00000360
> virt. 2109c360 pa 2109c360
>
> for the NetUSBee instance. In both cases ioremapped and __pa() are equal.
>
> I had hoped to get the physical address back from __pa() in the first
> instance, and check for _pa(reg) > 0x8000000 to differentiate between the
> two instances. Not so simple, apparently.

__pa() (and virt_to_phys()) only work for system RAM, where the mapping is
just the addition of an offset.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to