diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c index 06879d1dcabd..2d3fb005355d 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c | |||
@@ -319,14 +319,29 @@ static int acp_hw_init(void *handle) | |||
319 | return -ENOMEM; | 319 | return -ENOMEM; |
320 | } | 320 | } |
321 | 321 | ||
322 | i2s_pdata[0].quirks = DW_I2S_QUIRK_COMP_REG_OFFSET; | 322 | switch (adev->asic_type) { |
323 | case CHIP_STONEY: | ||
324 | i2s_pdata[0].quirks = DW_I2S_QUIRK_COMP_REG_OFFSET | | ||
325 | DW_I2S_QUIRK_16BIT_IDX_OVERRIDE; | ||
326 | break; | ||
327 | default: | ||
328 | i2s_pdata[0].quirks = DW_I2S_QUIRK_COMP_REG_OFFSET; | ||
329 | } | ||
323 | i2s_pdata[0].cap = DWC_I2S_PLAY; | 330 | i2s_pdata[0].cap = DWC_I2S_PLAY; |
324 | i2s_pdata[0].snd_rates = SNDRV_PCM_RATE_8000_96000; | 331 | i2s_pdata[0].snd_rates = SNDRV_PCM_RATE_8000_96000; |
325 | i2s_pdata[0].i2s_reg_comp1 = ACP_I2S_COMP1_PLAY_REG_OFFSET; | 332 | i2s_pdata[0].i2s_reg_comp1 = ACP_I2S_COMP1_PLAY_REG_OFFSET; |
326 | i2s_pdata[0].i2s_reg_comp2 = ACP_I2S_COMP2_PLAY_REG_OFFSET; | 333 | i2s_pdata[0].i2s_reg_comp2 = ACP_I2S_COMP2_PLAY_REG_OFFSET; |
334 | switch (adev->asic_type) { | ||
335 | case CHIP_STONEY: | ||
336 | i2s_pdata[1].quirks = DW_I2S_QUIRK_COMP_REG_OFFSET | | ||
337 | DW_I2S_QUIRK_COMP_PARAM1 | | ||
338 | DW_I2S_QUIRK_16BIT_IDX_OVERRIDE; | ||
339 | break; | ||
340 | default: | ||
341 | i2s_pdata[1].quirks = DW_I2S_QUIRK_COMP_REG_OFFSET | | ||
342 | DW_I2S_QUIRK_COMP_PARAM1; | ||
343 | } | ||
327 | 344 | ||
328 | i2s_pdata[1].quirks = DW_I2S_QUIRK_COMP_REG_OFFSET | | ||
329 | DW_I2S_QUIRK_COMP_PARAM1; | ||
330 | i2s_pdata[1].cap = DWC_I2S_RECORD; | 345 | i2s_pdata[1].cap = DWC_I2S_RECORD; |
331 | i2s_pdata[1].snd_rates = SNDRV_PCM_RATE_8000_96000; | 346 | i2s_pdata[1].snd_rates = SNDRV_PCM_RATE_8000_96000; |
332 | i2s_pdata[1].i2s_reg_comp1 = ACP_I2S_COMP1_CAP_REG_OFFSET; | 347 | i2s_pdata[1].i2s_reg_comp1 = ACP_I2S_COMP1_CAP_REG_OFFSET; |