On 29/06/2021 06:59, Tamseel Shams wrote:
When DMA is used for TX and RX by serial driver, it should
pass the DMA device pointer to DMA API instead of UART device
pointer. DMA device should be used for DMA API because only
the DMA device is aware of how the device connects to the memory.
There might be an extra level of address translation due to a
SMMU attached to the DMA device. When serial device is used for
DMA API, the DMA API will have no clue of the SMMU attached to
the DMA device.
This patch is necessary to fix the SMMU page faults
which is observed when a DMA(with SMMU enabled) is attached
to UART for transfer.
Signed-off-by: Tamseel Shams <redacted>
Signed-off-by: Ajay Kumar <redacted>
---
Changes since v1:
1. Rebased the patch on "tty-next" branch of TTY driver tree
Changes since v2:
1. Updated the commit message.
2. Changed the comment description
Changes since v3:
1. Removed the null pointer check for "dma", "dma->tx_chan" and
"dma->rx_chan" and instead sending DMA device pointer while calling
DMA API.
Changes since v4:
1. Fixed the alignments of arguments.
drivers/tty/serial/samsung_tty.c | 46 +++++++++++++++++---------------
1 file changed, 25 insertions(+), 21 deletions(-)
Acked-by: Krzysztof Kozlowski <redacted>
Best regards,
Krzysztof