The src_maxburst and dst_maxburst have been changed to 1 but the settings of the UCON register aren't changed yet. They should be changed as well according to the dmaengine slave config.
Unified · Split
| @@ -377,8 +377,7 @@ static void enable_tx_dma(struct s3c24xx_uart_port *ourport) · 376 unmodified lines | |||
| 377 | /* Enable tx dma mode */ | 377 | /* Enable tx dma mode */ |
| 378 | ucon = rd_regl(port, S3C2410_UCON); | 378 | ucon = rd_regl(port, S3C2410_UCON); |
| 379 | ucon &= ~(S3C64XX_UCON_TXBURST_MASK | S3C64XX_UCON_TXMODE_MASK); | 379 | ucon &= ~(S3C64XX_UCON_TXBURST_MASK | S3C64XX_UCON_TXMODE_MASK); |
| 380 | ucon |= (dma_get_cache_alignment() >= 16) ? | 380 | ucon |= S3C64XX_UCON_TXBURST_1; |
| 381 | S3C64XX_UCON_TXBURST_16 : S3C64XX_UCON_TXBURST_1; | ||
| 382 | ucon |= S3C64XX_UCON_TXMODE_DMA; | 381 | ucon |= S3C64XX_UCON_TXMODE_DMA; |
| 383 | wr_regl(port, S3C2410_UCON, ucon); | 382 | wr_regl(port, S3C2410_UCON, ucon); |
| 384 | 383 | ||
| @@ -674,7 +673,7 @@ static void enable_rx_dma(struct s3c24xx_uart_port *ourport) · 289 unmodified lines | |||
| 674 | S3C64XX_UCON_DMASUS_EN | | 673 | S3C64XX_UCON_DMASUS_EN | |
| 675 | S3C64XX_UCON_TIMEOUT_EN | | 674 | S3C64XX_UCON_TIMEOUT_EN | |
| 676 | S3C64XX_UCON_RXMODE_MASK); | 675 | S3C64XX_UCON_RXMODE_MASK); |
| 677 | ucon |= S3C64XX_UCON_RXBURST_16 | | 676 | ucon |= S3C64XX_UCON_RXBURST_1 | |
| 678 | 0xf << S3C64XX_UCON_TIMEOUT_SHIFT | | 677 | 0xf << S3C64XX_UCON_TIMEOUT_SHIFT | |
| 679 | S3C64XX_UCON_EMPTYINT_EN | | 678 | S3C64XX_UCON_EMPTYINT_EN | |
| 680 | S3C64XX_UCON_TIMEOUT_EN | | 679 | S3C64XX_UCON_TIMEOUT_EN | |