Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3489d506 authored by Lars-Peter Clausen's avatar Lars-Peter Clausen Committed by Mark Brown
Browse files

ASoC: tegra: Use common DAI DMA data struct



Use the common DAI DMA data struct for tegra, this allows us to use the common
helper function to configure the DMA slave config based on the DAI DMA data.

Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Reviewed-by: default avatarStephen Warren <swarren@nvidia.com>
Tested-by: default avatarStephen Warren <swarren@nvidia.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 09ae3aaf
Loading
Loading
Loading
Loading
+7 −6
Original line number Original line Diff line number Diff line
@@ -35,6 +35,7 @@
#include <sound/pcm.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/soc.h>
#include <sound/dmaengine_pcm.h>


#include "tegra_asoc_utils.h"
#include "tegra_asoc_utils.h"
#include "tegra20_ac97.h"
#include "tegra20_ac97.h"
@@ -389,14 +390,14 @@ static int tegra20_ac97_platform_probe(struct platform_device *pdev)
	}
	}


	ac97->capture_dma_data.addr = mem->start + TEGRA20_AC97_FIFO_RX1;
	ac97->capture_dma_data.addr = mem->start + TEGRA20_AC97_FIFO_RX1;
	ac97->capture_dma_data.wrap = 4;
	ac97->capture_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
	ac97->capture_dma_data.width = 32;
	ac97->capture_dma_data.maxburst = 4;
	ac97->capture_dma_data.req_sel = of_dma[1];
	ac97->capture_dma_data.slave_id = of_dma[1];


	ac97->playback_dma_data.addr = mem->start + TEGRA20_AC97_FIFO_TX1;
	ac97->playback_dma_data.addr = mem->start + TEGRA20_AC97_FIFO_TX1;
	ac97->playback_dma_data.wrap = 4;
	ac97->capture_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
	ac97->playback_dma_data.width = 32;
	ac97->capture_dma_data.maxburst = 4;
	ac97->playback_dma_data.req_sel = of_dma[1];
	ac97->capture_dma_data.slave_id = of_dma[0];


	ret = snd_soc_register_dais(&pdev->dev, &tegra20_ac97_dai, 1);
	ret = snd_soc_register_dais(&pdev->dev, &tegra20_ac97_dai, 1);
	if (ret) {
	if (ret) {
+2 −2
Original line number Original line Diff line number Diff line
@@ -85,8 +85,8 @@


struct tegra20_ac97 {
struct tegra20_ac97 {
	struct clk *clk_ac97;
	struct clk *clk_ac97;
	struct tegra_pcm_dma_params capture_dma_data;
	struct snd_dmaengine_dai_dma_data capture_dma_data;
	struct tegra_pcm_dma_params playback_dma_data;
	struct snd_dmaengine_dai_dma_data playback_dma_data;
	struct regmap *regmap;
	struct regmap *regmap;
	int reset_gpio;
	int reset_gpio;
	int sync_gpio;
	int sync_gpio;
+7 −6
Original line number Original line Diff line number Diff line
@@ -41,6 +41,7 @@
#include <sound/pcm.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/soc.h>
#include <sound/dmaengine_pcm.h>


#include "tegra20_i2s.h"
#include "tegra20_i2s.h"


@@ -403,14 +404,14 @@ static int tegra20_i2s_platform_probe(struct platform_device *pdev)
	}
	}


	i2s->capture_dma_data.addr = mem->start + TEGRA20_I2S_FIFO2;
	i2s->capture_dma_data.addr = mem->start + TEGRA20_I2S_FIFO2;
	i2s->capture_dma_data.wrap = 4;
	i2s->capture_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
	i2s->capture_dma_data.width = 32;
	i2s->capture_dma_data.maxburst = 4;
	i2s->capture_dma_data.req_sel = dma_ch;
	i2s->capture_dma_data.slave_id = dma_ch;


	i2s->playback_dma_data.addr = mem->start + TEGRA20_I2S_FIFO1;
	i2s->playback_dma_data.addr = mem->start + TEGRA20_I2S_FIFO1;
	i2s->playback_dma_data.wrap = 4;
	i2s->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
	i2s->playback_dma_data.width = 32;
	i2s->playback_dma_data.maxburst = 4;
	i2s->playback_dma_data.req_sel = dma_ch;
	i2s->playback_dma_data.slave_id = dma_ch;


	pm_runtime_enable(&pdev->dev);
	pm_runtime_enable(&pdev->dev);
	if (!pm_runtime_enabled(&pdev->dev)) {
	if (!pm_runtime_enabled(&pdev->dev)) {
+2 −2
Original line number Original line Diff line number Diff line
@@ -155,8 +155,8 @@
struct tegra20_i2s {
struct tegra20_i2s {
	struct snd_soc_dai_driver dai;
	struct snd_soc_dai_driver dai;
	struct clk *clk_i2s;
	struct clk *clk_i2s;
	struct tegra_pcm_dma_params capture_dma_data;
	struct snd_dmaengine_dai_dma_data capture_dma_data;
	struct tegra_pcm_dma_params playback_dma_data;
	struct snd_dmaengine_dai_dma_data playback_dma_data;
	struct regmap *regmap;
	struct regmap *regmap;
};
};


+4 −3
Original line number Original line Diff line number Diff line
@@ -32,6 +32,7 @@
#include <sound/pcm.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/soc.h>
#include <sound/dmaengine_pcm.h>


#include "tegra20_spdif.h"
#include "tegra20_spdif.h"


@@ -318,9 +319,9 @@ static int tegra20_spdif_platform_probe(struct platform_device *pdev)
	}
	}


	spdif->playback_dma_data.addr = mem->start + TEGRA20_SPDIF_DATA_OUT;
	spdif->playback_dma_data.addr = mem->start + TEGRA20_SPDIF_DATA_OUT;
	spdif->playback_dma_data.wrap = 4;
	spdif->capture_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
	spdif->playback_dma_data.width = 32;
	spdif->capture_dma_data.maxburst = 4;
	spdif->playback_dma_data.req_sel = dmareq->start;
	spdif->playback_dma_data.slave_id = dmareq->start;


	pm_runtime_enable(&pdev->dev);
	pm_runtime_enable(&pdev->dev);
	if (!pm_runtime_enabled(&pdev->dev)) {
	if (!pm_runtime_enabled(&pdev->dev)) {
Loading