ASoC: tegra: propagate slave_id info to DMA engine

ADMAIF default channel FIFO size is different depending on Tegra210 and
Tegra186 (and later). There is a guideline from HW that FIFO size of
ADMAIF channel should be same as the corrpsonding mapped DMA channel.
Commit 8c0d5ea47d21 ("dmaengine: tegra210-adma: override ADMA FIFO size")
updates FIFO size based on 'slave_id' info. Current patch passes the
'slave_id' information to DMA engine.

Following are the original commits from where the changes have been
manually cherry picked.
 - commit 34aa1f405069 ("ASoC: tegra-alt: T210 AHUB drivers")
 - commit 938afdfeea42 ("ASoC: tegra-alt: Alternative DAPM-based driver")

Also updated copyright info for Tegra PCM driver.

Bug 2845498

Change-Id: I6c748b94544bc22c21a43b731e43862592047c09
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-5.9/+/2356716
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Sameer Pujar
2020-06-06 23:04:58 +05:30
parent fe40005d9b
commit bcd452f7b1

View File

@@ -1097,6 +1097,7 @@ static int tegra_admaif_probe(struct platform_device *pdev)
CH_RX_REG(TEGRA_ADMAIF_RX_FIFO_READ, i); CH_RX_REG(TEGRA_ADMAIF_RX_FIFO_READ, i);
admaif->playback_dma_data[i].addr_width = 32; admaif->playback_dma_data[i].addr_width = 32;
admaif->playback_dma_data[i].slave_id = i + 1;
if (of_property_read_string_index(pdev->dev.of_node, if (of_property_read_string_index(pdev->dev.of_node,
"dma-names", (i * 2) + 1, "dma-names", (i * 2) + 1,
@@ -1108,6 +1109,7 @@ static int tegra_admaif_probe(struct platform_device *pdev)
} }
admaif->capture_dma_data[i].addr_width = 32; admaif->capture_dma_data[i].addr_width = 32;
admaif->capture_dma_data[i].slave_id = i + 1;
if (of_property_read_string_index(pdev->dev.of_node, if (of_property_read_string_index(pdev->dev.of_node,
"dma-names", "dma-names",