| 8c53b9b7 | 15-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
dma/dpaa: add QDMA stall workaround for ERR050265
Non-prefetchable read setting in the source descriptor may be required for targets other than local memory. Prefetchable read setting will offer bet
dma/dpaa: add QDMA stall workaround for ERR050265
Non-prefetchable read setting in the source descriptor may be required for targets other than local memory. Prefetchable read setting will offer better performance for misaligned transfers in the form of fewer transactions and should be set if possible. This patch also fixes QDMA stall issue due to unaligned transactions.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
show more ...
|
| bdcb782a | 15-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
dma/dpaa: add workaround for ERR050757
ERR050757 on LS104x indicates:
For outbound PCIe read transactions, a completion buffer is used to store the PCIe completions till the data is passed back to
dma/dpaa: add workaround for ERR050757
ERR050757 on LS104x indicates:
For outbound PCIe read transactions, a completion buffer is used to store the PCIe completions till the data is passed back to the initiator. At most 16 outstanding transactions are allowed and maximum read request is 256 bytes. The completion buffer size inside the controller needs to be at least 4KB, but the PCIe controller has 3 KB of buffer. In case the size of pending outbound read transactions of more than 3KB, the PCIe controller may drop the incoming completions without notifying the initiator of the transaction, leaving transactions unfinished. All subsequent outbound reads to PCIe are blocked permanently. To avoid qDMA hang as it keeps waiting for data that was silently dropped, set stride mode for qDMA.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
show more ...
|
| 1686d809 | 15-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
dma/dpaa: support burst capacity API
This patch improves the dpaa qdma driver and adds dpaa_qdma_burst_capacity API which returns the remaining space in the descriptor ring.
Signed-off-by: Jun Yang
dma/dpaa: support burst capacity API
This patch improves the dpaa qdma driver and adds dpaa_qdma_burst_capacity API which returns the remaining space in the descriptor ring.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
show more ...
|
| f1d30e27 | 15-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
dma/dpaa: refactor driver
This patch refactor the DPAA DMA driver code with changes: - HW descriptors rename and update with details. - update qdma engine and queue structures - using rte_ring AP
dma/dpaa: refactor driver
This patch refactor the DPAA DMA driver code with changes: - HW descriptors rename and update with details. - update qdma engine and queue structures - using rte_ring APIs for enqueue and dequeue.
Signed-off-by: Jun Yang <jun.yang@nxp.com> Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
show more ...
|
| b52af62f | 15-Oct-2024 |
Jun Yang <jun.yang@nxp.com> |
dma/dpaa2: limit max descriptor number
For non-SG format, the index is saved in FD with DPAA2_QDMA_FD_ATT_TYPE_OFFSET(13) bits width.
The max descriptor number of ring is power of 2, so the eventua
dma/dpaa2: limit max descriptor number
For non-SG format, the index is saved in FD with DPAA2_QDMA_FD_ATT_TYPE_OFFSET(13) bits width.
The max descriptor number of ring is power of 2, so the eventual max number is: ((1 << DPAA2_QDMA_FD_ATT_TYPE_OFFSET) / 2)
Signed-off-by: Jun Yang <jun.yang@nxp.com>
show more ...
|