HSD #15015895772-7: firmware: stratix10-rsu: Fix the dma mapping direction when allocating buffer.
During buffer allocation we need to map with DMA_TO_DEVICE
for cache clean operation before sending it down to ATF.
Note: This is a temperory fix. the correct fix needs
to be investigated.
Signed-off-by: Mahesh Rao <[email protected]>
diff --git a/drivers/firmware/stratix10-rsu.c b/drivers/firmware/stratix10-rsu.c
index e37f22c..a6d6a50 100644
--- a/drivers/firmware/stratix10-rsu.c
+++ b/drivers/firmware/stratix10-rsu.c
@@ -1016,8 +1016,11 @@ static int stratix10_rsu_probe(struct platform_device *pdev)
}
if (priv->is_smmu_enabled) {
+ /* TODO: the below fix for DMA_TO_DEVICE is a temporary workaround.
+ * Need to investigate for correct fix.
+ */
priv->rsu_dma_handle = dma_map_single(dev, priv->get_spt_response_buf,
- RSU_GET_SPT_RESP_LEN, DMA_FROM_DEVICE);
+ RSU_GET_SPT_RESP_LEN, DMA_TO_DEVICE);
ret = dma_mapping_error(dev, priv->rsu_dma_handle);
if (ret) {
dev_err(dev,