X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fserial%2Fcpm_uart%2Fcpm_uart_cpm1.c;h=a9ab04731a36ba6027c5746d6328364e6f840397;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=7c940b5b514310b9735cf10aec3d3eb8bbee0678;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/drivers/serial/cpm_uart/cpm_uart_cpm1.c b/drivers/serial/cpm_uart/cpm_uart_cpm1.c index 7c940b5b5..a9ab04731 100644 --- a/drivers/serial/cpm_uart/cpm_uart_cpm1.c +++ b/drivers/serial/cpm_uart/cpm_uart_cpm1.c @@ -130,20 +130,20 @@ int cpm_uart_allocbuf(struct uart_cpm_port *pinfo, unsigned int is_con) { int dpmemsz, memsz; u8 *dp_mem; - uint dp_addr; + uint dp_offset; u8 *mem_addr; - dma_addr_t dma_addr; + dma_addr_t dma_addr = 0; pr_debug("CPM uart[%d]:allocbuf\n", pinfo->port.line); dpmemsz = sizeof(cbd_t) * (pinfo->rx_nrfifos + pinfo->tx_nrfifos); - dp_mem = m8xx_cpm_dpalloc(dpmemsz); - if (dp_mem == NULL) { + dp_offset = cpm_dpalloc(dpmemsz, 8); + if (IS_DPERR(dp_offset)) { printk(KERN_ERR "cpm_uart_cpm1.c: could not allocate buffer descriptors\n"); return -ENOMEM; } - dp_addr = m8xx_cpm_dpram_offset(dp_mem); + dp_mem = cpm_dpram_addr(dp_offset); memsz = L1_CACHE_ALIGN(pinfo->rx_nrfifos * pinfo->rx_fifosize) + L1_CACHE_ALIGN(pinfo->tx_nrfifos * pinfo->tx_fifosize); @@ -155,13 +155,13 @@ int cpm_uart_allocbuf(struct uart_cpm_port *pinfo, unsigned int is_con) GFP_KERNEL); if (mem_addr == NULL) { - m8xx_cpm_dpfree(dp_mem); + cpm_dpfree(dp_offset); printk(KERN_ERR "cpm_uart_cpm1.c: could not allocate coherent memory\n"); return -ENOMEM; } - pinfo->dp_addr = dp_addr; + pinfo->dp_addr = dp_offset; pinfo->mem_addr = mem_addr; pinfo->dma_addr = dma_addr; @@ -183,7 +183,7 @@ void cpm_uart_freebuf(struct uart_cpm_port *pinfo) pinfo->tx_fifosize), pinfo->mem_addr, pinfo->dma_addr); - m8xx_cpm_dpfree(m8xx_cpm_dpram_addr(pinfo->dp_addr)); + cpm_dpfree(pinfo->dp_addr); } /* Setup any dynamic params in the uart desc */