> No, it shouldn't -- rx_bd_base is of type "cbd_t *", so the multiplication > already happens as part of pointer arithmetic. ---Yes, you are right. I made a basic mistake.
But now I have another question. The SMC1 params can be relocated to any offset of the DPRAM on a 64 byte boundary, not as the SCC1, which must be at 0x8000 offset of the DPRAM. The SMC1 params base is set at 0x87FC offset of the DPRAM. So if I want SMC1 params start at 0x200 in DPRAM , I should set 0x200 to the 0x87FC offset of the DPRAM. I have see this code in u-boot, but I can not find this code in neither cpm_uart_cpm2.c nor cpm_uart_core.c. Should I add these code to cpm_uart_core.c? --dp_mem = cpm_dpram_addr(0x87fc); --out_be16(dp_mem, SMC1_BASE); ----- Original Message ----- From: "Scott Wood" <scottw...@freescale.com> To: "hellohello" <hellohello...@163.com> Cc: <linuxppc-dev@lists.ozlabs.org> Sent: Friday, May 21, 2010 1:06 AM Subject: Re: Problem of PowerPc 82xx when using smc > On Thu, May 20, 2010 at 04:58:27PM +0800, hellohello wrote: >> >> I find a problem in >> drivers/serial/cpm_uart/cpm_uart_cpm2.c: >> int cpm_uart_allocbuf(struct uart_cpm_port *pinfo, unsigned int is_con) >> { >> ... ... >> pinfo->tx_bd_base = pinfo->rx_bd_base + pinfo->rx_nrfifos; >> /*The above line should be :*/ >> pinfo->tx_bd_base = pinfo->rx_bd_base + sizeof(cbd_t) * pinfo->rx_nrfifos; > > No, it shouldn't -- rx_bd_base is of type "cbd_t *", so the multiplication > already happens as part of pointer arithmetic. > >> return 0; >> } >> >> Where to get the newest code for kernel? > > git.kernel.org > >> How to know whether it is already patched by anyone else? Just search in >> this mail list? > > As well as the current git tree. > > -Scott > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/linuxppc-dev _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev