Hi, Arnd > -----Original Message----- > > #define DRIVER_NAME "fsl-lpuart" > > #define DEV_NAME "ttyLP" > > #define UART_NR 6 > > @@ -121,6 +132,26 @@ struct lpuart_port { > > struct clk *clk; > > unsigned int txfifo_size; > > unsigned int rxfifo_size; > > + > > +#ifdef CONFIG_SERIAL_FSL_LPUART_DMA > > + bool lpuart_dma_use; > > + struct dma_chan *dma_tx_chan; > > + struct dma_chan *dma_rx_chan; > > + struct dma_async_tx_descriptor *dma_tx_desc; > > + struct dma_async_tx_descriptor *dma_rx_desc; > > + dma_addr_t dma_tx_buf_bus; > > + dma_addr_t dma_rx_buf_bus; > > + dma_cookie_t dma_tx_cookie; > > + dma_cookie_t dma_rx_cookie; > > + unsigned char *dma_tx_buf_virt; > > + unsigned char *dma_rx_buf_virt; > > + unsigned int dma_tx_bytes; > > + unsigned int dma_rx_bytes; > > + int dma_tx_in_progress; > > + int dma_rx_in_progress; > > + unsigned int dma_rx_timeout; > > + struct timer_list lpuart_timer; > > +#endif > > }; > > This part will result in a slight increase in data size even if dma > support is turned off at compile time. > Yes, someone also want me define a independent struct for dma and allocate the memory when dma be use. But I think this way will add a more memory access time, like a->b->c and a->c. And the variable about dma is just a few bytes but used frequently. So I think I'd better define the variable about dma in lpuart_port struct. ��.n��������+%������w��{.n�����{��ǫ����{ay�ʇڙ���f���h������_�(�階�ݢj"��������G����?���&��