Messages in this thread | ![/](/images/icornerl.gif) | | Date | Mon, 24 Sep 2007 13:22:01 -0500 | From | Scott Wood <> | Subject | Re: [PATCH4/4] [POWERPC] Fix cpm_uart driver |
| |
Jochen Friedrich wrote: > Scott Wood schrieb: >> Jochen Friedrich wrote: >>> >>> In cpm_uart_core, functions cpm_uart_init_bd and cpm_uart_init_scc >>> an offset into DP RAM is calculated by substracting a physical >>> memory constant from an virtual address. This patch fixes the >>> problem by converting the virtual address into a physical >>> first. >> >> Huh? DPRAM_BASE is a virtual address. With this patch, you'd be >> subtracting a virtual address from a physical address. > > Thanks for pointing me to it. So the bug is in cpm_uart_cpm1.h assigning > a physical memory to DPRAM_BASE (at least on ARC=ppc). cpm_uart_cpm2.h > seems to be correct though. I'll submit a new patch for this.
cpmp is a physical address on arch/ppc? /me looks at arch/ppc/8xx_io/commproc.c
Yikes. Please don't change cpm_uart_cpm1.h, as it's correct for arch/powerpc, and there are numerous other places that assume cpmp is virtual (including in the very same function that assigns it a physical address).
You could fix arch/ppc if you want, though it may be easier to wait for it to die, and insist on identity maps in the meantime. :-)
-Scott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |