pcie: EDMA: fix EDMA init condition.

EDMA library needs to be initialized if there is change in EDMA
channel config or when cookie is NULL. Set the condition accordingly.

Bug 3622706
Bug 3877429

Change-Id: If919752cce08e203aa9d0b501f26f2e00b523575
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2717246
(cherry picked from commit 7434fc757e6c4b23aeb91b73f8e2a62f080c6d24)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2815926
Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Nagarjuna Kristam
2022-05-24 11:48:21 +05:30
committed by mobile promotions
parent 2b9e2da317
commit b26885400f

View File

@@ -200,7 +200,7 @@ static int edmalib_common_test(struct edmalib_common *edma)
edma->tsz = (u64)edma->stress_count * (nents_per_ch) * (u64)edma->dma_size * 8UL;
if (!edma->cookie && (edma->prev_edma_ch != edma->edma_ch)) {
if (!edma->cookie || (edma->prev_edma_ch != edma->edma_ch)) {
dev_info(edma->fdev, "%s: re-init edma lib prev_ch(%x) != current chans(%x)\n",
__func__, edma->prev_edma_ch, edma->edma_ch);
edma->cookie = tegra_pcie_edma_initialize(&info);