[alsa-devel] [PATCH 3/9] ASoC: amd: dma driver changes for BT I2S controller instance
Mukunda,Vijendar
vijendar.mukunda at amd.com
Fri Feb 23 08:01:26 CET 2018
On Monday 19 February 2018 10:15 PM, Mark Brown wrote:
> On Fri, Feb 16, 2018 at 01:03:48PM +0530, Vijendar Mukunda wrote:
>
>> Implemented dma driver changes to support BT I2S controller
>> instance.
> Some sort of description of the changes would make this a lot easier to
> review.
We will update the description as mentioned below.
With in ACP, There are three I2S controllers can be configured/enabled( I2S SP, I2S MICSP, I2S BT).
Default enabled I2S controller instance is I2S SP.
This patch provides required changes to support I2S BT controller Instance.
>
>> + if (strcmp(prtd->cpu_dai->name, "designware-i2s.1.auto") == 0) {
>> + adata->i2s_play_instance = I2S_SP_INSTANCE;
>> + adata->i2ssp_renderbytescount = 0;
>> + }
>> + if (strcmp(prtd->cpu_dai->name, "designware-i2s.3.auto") == 0) {
>> + adata->i2s_play_instance = I2S_BT_INSTANCE;
>> + adata->i2sbt_renderbytescount = 0;
>> + }
> This strcmp on what looks like an autogenerated DAI name seems a bit
> fragile, especially given that we just silently accept cases where we
> fail to match anything. Why are we doing things this way rather than
> at least using explicitly set names?
ACP DMA Driver implemented based on ACP 2.x stack .It uses Designware I2S controller.
AMD Gpu Driver creates device instances for playback & capture scenarios for both the I2S controller instances.( I2S SP & I2S BT).
It has fixed mapping as mentioned below.
designware-i2s.1.auto cpu dai will be used for I2S SP Instance playback device.
designware-i2s.2.auto cpu dai will be used for I2S SP Instance capture device.
designware-i2s.3.auto cpu dai will be used for I2S BT Instance playback device.
designware-i2s.4.auto cpu dai will be used for I2S BT Instance capture device.
We will add error checks for failure case.
>
>> + if (adata->asic_type != CHIP_CARRIZO) {
>> + if (adata->play_i2sbt_stream &&
>> + adata->play_i2sbt_stream->runtime) {
> As ever please use switch statements for quirking, it makes life easier
> when more variants appear.
There are only two variants (Carrizo & Stoney) based on ACP 2.x stack.
Switch statement is not required here as this condition is specific to Carrizo only.
More information about the Alsa-devel
mailing list