Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Takashi Iwai <tiwai@suse.de>, Jaroslav Kysela <perex@perex.cz>
Cc: ALSA development <alsa-devel@alsa-project.org>
Subject: Re: [alsa-devel] [PATCH] ASoC: Skylake SST driver - blacklist the PCI device IDs for the auto probe
Date: Mon, 23 Sep 2019 18:34:48 -0500	[thread overview]
Message-ID: <d963eeed-723a-2d88-866c-cf16ac6cf6fc@linux.intel.com> (raw)
In-Reply-To: <s5htv92k8tb.wl-tiwai@suse.de>

On 9/23/19 4:21 PM, Takashi Iwai wrote:
> On Mon, 23 Sep 2019 22:35:14 +0200,
> Jaroslav Kysela wrote:
>>
>> Dne 23. 09. 19 v 20:24 Pierre-Louis Bossart napsal(a):
>>> On 9/23/19 11:57 AM, Jaroslav Kysela wrote:
>>>> There are basically three drivers for the PCI devices for
>>>> the recent Intel hardware with the build-in DSPs. The legacy HDA
>>>> driver has dmic_detect module option for the auto detection
>>>> of the platforms with the digital microphone. Because the SOF
>>>> driver is preferred, just skip PCI probe in the Skylake SST
>>>> driver when the PCI device ID clashes by default. The user
>>>> can override the auto behaviour with the pci_binding
>>>> module parameter.
>>>
>>> Thanks Jaroslav for re-opening this mutual-exclusion issue.
>>>
>>> I think we want to deal with this in two alternate ways
>>> 1. static built-time exclusion based on Kconfigs
>>
>> Unfortunately, that's really an issue for the universal distros.
> 
> Right.  The Kconfig of Intel audio is already too messy even for now.
> We don't want more complexity just for covering some very corner
> case.
> 
> Practically seen, if SOF Kconfig is enabled, we may assume that SOF is
> preferred in general.  I don't think of any big need of yet another
> static configuration.
> 
>>> 2. probe-time exclusion based on quirks (CPU ID + DMI)
>>>
>>> For example with a SKL/KBL/APL chromebook w/ DMIC we'd want to use the
>>> SST driver and for GLK+ we want to use SOF. For any device with
>>> HDAudio+DMIC we'd want SOF, same for any device with SoundWire when it's
>>> fully supported.
>>>
>>> I can't recall if I shared the patches I worked on a couple of months
>>> ago, but they are still at https://github.com/thesofproject/linux/pull/927
>>
>> Thanks for pointing me to this. It does not address the legacy HDA, but it's a
>> step forward.
> 
> The legacy HD-audio stuff is resolved with the recent DMIC detection
> on 5.4, I suppose?
> 
>>> the first part essentially does the same thing as this patch, the second
>>> relies on quirks. I've been busy with other things but indeed it's high
>>> time we closed this for distributions.
>>
>> Yes, and I have to say, it's too late for the hardware vendors right now. I
>> will probably apply my patch to our distribution (I don't care too much about
>> chromebooks - the user can change the module/driver behaviour manually) until
>> we have a better code.
>>
>>>> Boot log from Lenovo Carbon X1 (7th gen) with the default settings:
>>>>
>>>>     snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, aborting probe
>>>>     snd_soc_skl 0000:00:1f.3: SOF driver is preferred on this platform, aborting probe
>>>>     sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
>>>>     sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
>>>>     ....
>>>>
>>>> Perhaps, it may be more wise to create one shared module and all
>>>> three drivers should call the driver detection routine(s) from one
>>>> place.
>>>
>>> We did look into this and it's a bit complicated in terms of plumbing.
>>
>> Could you elaborate more here? I believe that for the runtime environment
>> where all drivers are compiled in the kernel, it might make sense to have this
>> code at one place and installed only once for all three (or may be four in the
>> soundwire future) drivers.
>>
>> We should have one straight way which driver/module is used. The separate
>> conditions in the mentioned drivers will cause problems. Also, it will
>> simplify things for the end user. One module parameter (in the driver selector
>> library) is better than three or four to make things working (if the DMI /
>> whatever table is not preset correctly for the new hardware).
> 
> Well, one question is where to put this option.  I thought of HD-audio
> core in the past, but it's not always the common place any longer.
> We may introduce yet another common module just for an option, but it
> sounds little appealing to me in comparison with the needed
> resources.
> 
> Basically the deployment of SST is only for the already existing
> devices, and all newer should go for SOF.  And, the pattern Pierre
> mentioned should cover almost all use cases.  This made me believing
> that a simple switch is no mandatory request.
> 
> In anyway, Jaroslav's patch looks like a good starting point.  We can
> build up a few more exceptions (SKl/KBl/APL Chromebooks with DMIC) on
> top of it, then we've done mostly, right?

Yes, there are only a handful of quirks really.


_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

  reply	other threads:[~2019-09-23 23:35 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-23 16:57 [alsa-devel] [PATCH] ASoC: Skylake SST driver - blacklist the PCI device IDs for the auto probe Jaroslav Kysela
2019-09-23 18:24 ` Pierre-Louis Bossart
2019-09-23 20:35   ` Jaroslav Kysela
2019-09-23 21:21     ` Takashi Iwai
2019-09-23 23:34       ` Pierre-Louis Bossart [this message]
2019-09-24  6:46         ` Jaroslav Kysela
2019-09-24  7:31           ` Takashi Iwai
2019-09-24 13:41           ` Pierre-Louis Bossart
2019-09-24 17:29             ` Jaroslav Kysela
2019-09-24 19:27               ` Pierre-Louis Bossart
2019-09-27 15:31 ` Cezary Rojewski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d963eeed-723a-2d88-866c-cf16ac6cf6fc@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=perex@perex.cz \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox