On Thu, May 28, 2015 at 12:31:08PM +0100, Liam Girdwood wrote:
[ 2.000642] byt-rt5645 byt-rt5645: ASoC: CPU DAI baytrail-pcm-audio not registered
We are seeing a lot of these. Can you confirm whether this driver has probed ? If not can you see it's ACPI ID listed under /sys/bus/acpi/devices.
If it's not probing, it may also have a different ACPI ID compared to the reference driver. You may have to add an entry to sst-acpi.c i.e.
static struct sst_acpi_mach baytrail_machines[] = { { "10EC5640", "byt-rt5640", "intel/fw_sst_0f28.bin-48kHz_i2s_master" }, { "193C9890", "byt-max98090", "intel/fw_sst_0f28.bin-48kHz_i2s_master" }, {} };
Liam
Yes I already added an element in this list, I wrote:
static struct sst_acpi_mach baytrail_machines[] = { { "10EC5640", "byt-rt5640", "intel/fw_sst_0f28.bin-48kHz_i2s_master" }, { "10EC5648", "byt-rt5645", "intel/fw_sst_0f28.bin-48kHz_i2s_master" }, { "193C9890", "byt-max98090", "intel/fw_sst_0f28.bin-48kHz_i2s_master" }, {} };
because in the i2c bus i saw: [zio@asus linux-next]$ ls /sys/bus/acpi/devices/ | grep 10EC 10EC5648:00
About the probe, if I understood what you mean, the driver fails to probe because of the DSP boot timeout.
The probe function is called, I added some debug:
static int sst_byt_pcm_dev_probe(struct platform_device *pdev) { struct sst_pdata *sst_pdata = dev_get_platdata(&pdev->dev); int ret;
ret = sst_byt_dsp_init(&pdev->dev, sst_pdata); if (ret < 0) { pr_info("sst_byt_pcm_dev_probe failed dsp init\n"); return -ENODEV; }
ret = snd_soc_register_platform(&pdev->dev, &byt_soc_platform); if (ret < 0) { pr_info("sst_byt_pcm_dev_probe failed register platform\n"); goto err_plat; }
ret = snd_soc_register_component(&pdev->dev, &byt_dai_component, byt_dais, ARRAY_SIZE(byt_dais)); if (ret < 0) { pr_info("sst_byt_pcm_dev_probe failed register component\n"); goto err_comp; }
return 0;
err_comp: snd_soc_unregister_platform(&pdev->dev); err_plat: sst_byt_dsp_free(&pdev->dev, sst_pdata); return ret; }
and in dmesg I got:
[zio@asus ~]$ dmesg | grep probe [ 1.794754] sst_byt_pcm_dev_probe failed dsp init
Thanks, Michele