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 | 377 | /* Enable tx dma mode */ |
| 378 | 378 | ucon = rd_regl(port, S3C2410_UCON); |
| 379 | 379 | ucon &= ~(S3C64XX_UCON_TXBURST_MASK | S3C64XX_UCON_TXMODE_MASK); |
| 380 | − ucon |= (dma_get_cache_alignment() >= 16) ? | |
| 381 | − S3C64XX_UCON_TXBURST_16 : S3C64XX_UCON_TXBURST_1; | |
| 380 | + ucon |= S3C64XX_UCON_TXBURST_1; | |
| 382 | 381 | ucon |= S3C64XX_UCON_TXMODE_DMA; |
| 383 | 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 | 673 | S3C64XX_UCON_DMASUS_EN | |
| 675 | 674 | S3C64XX_UCON_TIMEOUT_EN | |
| 676 | 675 | S3C64XX_UCON_RXMODE_MASK); |
| 677 | − ucon |= S3C64XX_UCON_RXBURST_16 | | |
| 676 | + ucon |= S3C64XX_UCON_RXBURST_1 | | |
| 678 | 677 | 0xf << S3C64XX_UCON_TIMEOUT_SHIFT | |
| 679 | 678 | S3C64XX_UCON_EMPTYINT_EN | |
| 680 | 679 | S3C64XX_UCON_TIMEOUT_EN | |