[alsa-devel] writing an alsa driver
Michele Curti
michele.curti at gmail.com
Thu May 28 14:53:25 CEST 2015
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 at 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 at asus ~]$ dmesg | grep probe
[ 1.794754] sst_byt_pcm_dev_probe failed dsp init
Thanks,
Michele
More information about the Alsa-devel
mailing list