X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fppc%2F8xx_io%2Fcommproc.c;h=c81ae84424eb4f3c8d1dfb442e051f91e9f85dee;hb=73c4d347a0c98eb6599aefd1f9a91b4b071dd5e0;hp=2688504d62bf28bbec473aaf53210a1af2b82632;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/arch/ppc/8xx_io/commproc.c b/arch/ppc/8xx_io/commproc.c index 2688504d6..c81ae8442 100644 --- a/arch/ppc/8xx_io/commproc.c +++ b/arch/ppc/8xx_io/commproc.c @@ -286,7 +286,7 @@ m8xx_cpm_hostalloc(uint size) #define BRG_UART_CLK_DIV16 (BRG_UART_CLK/16) void -cpm_setbrg(uint brg, uint rate) +m8xx_cpm_setbrg(uint brg, uint rate) { volatile uint *bp; @@ -336,7 +336,8 @@ void m8xx_cpm_dpinit(void) * with the processor and the microcode patches applied / activated. * But the following should be at least safe. */ - rh_attach_region(&cpm_dpmem_info, (void *)CPM_DATAONLY_BASE, CPM_DATAONLY_SIZE); + rh_attach_region(&cpm_dpmem_info, cp->cp_dpmem + CPM_DATAONLY_BASE, + CPM_DATAONLY_SIZE); } /* @@ -345,55 +346,59 @@ void m8xx_cpm_dpinit(void) * Now it returns the actuall physical address of that area. * use m8xx_cpm_dpram_offset() to get the index */ -uint cpm_dpalloc(uint size, uint align) +void *m8xx_cpm_dpalloc(int size) { void *start; unsigned long flags; spin_lock_irqsave(&cpm_dpmem_lock, flags); - cpm_dpmem_info.alignment = align; start = rh_alloc(&cpm_dpmem_info, size, "commproc"); spin_unlock_irqrestore(&cpm_dpmem_lock, flags); - return (uint)start; + return start; } -EXPORT_SYMBOL(cpm_dpalloc); +EXPORT_SYMBOL(m8xx_cpm_dpalloc); -int cpm_dpfree(uint offset) +int m8xx_cpm_dpfree(void *addr) { int ret; unsigned long flags; spin_lock_irqsave(&cpm_dpmem_lock, flags); - ret = rh_free(&cpm_dpmem_info, (void *)offset); + ret = rh_free(&cpm_dpmem_info, addr); spin_unlock_irqrestore(&cpm_dpmem_lock, flags); return ret; } -EXPORT_SYMBOL(cpm_dpfree); +EXPORT_SYMBOL(m8xx_cpm_dpfree); -uint cpm_dpalloc_fixed(uint offset, uint size, uint align) +void *m8xx_cpm_dpalloc_fixed(void *addr, int size) { void *start; unsigned long flags; spin_lock_irqsave(&cpm_dpmem_lock, flags); - cpm_dpmem_info.alignment = align; - start = rh_alloc_fixed(&cpm_dpmem_info, (void *)offset, size, "commproc"); + start = rh_alloc_fixed(&cpm_dpmem_info, addr, size, "commproc"); spin_unlock_irqrestore(&cpm_dpmem_lock, flags); - return (uint)start; + return start; } -EXPORT_SYMBOL(cpm_dpalloc_fixed); +EXPORT_SYMBOL(m8xx_cpm_dpalloc_fixed); -void cpm_dpdump(void) +void m8xx_cpm_dpdump(void) { rh_dump(&cpm_dpmem_info); } -EXPORT_SYMBOL(cpm_dpdump); +EXPORT_SYMBOL(m8xx_cpm_dpdump); -void *cpm_dpram_addr(uint offset) +int m8xx_cpm_dpram_offset(void *addr) +{ + return (u_char *)addr - ((immap_t *)IMAP_ADDR)->im_cpm.cp_dpmem; +} +EXPORT_SYMBOL(m8xx_cpm_dpram_offset); + +void *m8xx_cpm_dpram_addr(int offset) { return ((immap_t *)IMAP_ADDR)->im_cpm.cp_dpmem + offset; } -EXPORT_SYMBOL(cpm_dpram_addr); +EXPORT_SYMBOL(m8xx_cpm_dpram_addr);