[PATCH 1/7] ASoC: Intel: Skylake: Remove superfluous chip initialization
Cezary Rojewski
cezary.rojewski at intel.com
Mon Mar 9 14:57:33 CET 2020
On 2020-03-06 21:52, Pierre-Louis Bossart wrote:
> On 3/5/20 8:53 AM, Cezary Rojewski wrote:
>> Skylake driver does the controller init operation twice:
>> - first during probe (only to stop it just before scheduling probe_work)
>> - and during said probe_work where the actual correct sequence is
>> executed
>>
>> To properly complete boot sequence when iDisp codec is present, bus
>> initialization has to be called only after _i915_init() finishes.
>> With additional _reset_list preceding _i915_init(), iDisp codec never
>> gets the chance to enumerate on the link. Remove the superfluous
>> initialization to address the issue.
>
> Have you tested with with DRM built-in and as a module? that was enough
> to trigger race conditions in the past on Dell XPS9350.
>
DRM is quite a tree, you got to be more specific. Tested with i915=m and
DRM=m. I hope we mean the same thing when mentioning 'race'. There is an
obvious initialization race between hda bus drv and i915 which requires
one to follow a tight operation order in order to not lose i915 codec on
hda link and thus be able to enumerate it properly.
On top of that, as you mentioned (by the link) this series addresses
missing DMIC configuration in conjunction with HDA +/- iDisp AND shields
against no-NHLT configuration. On Dell XPS 9350 lack on of NHLT was the
biggest problem - that's why I'd like that issue not to be forgotten about.
Czarek
More information about the Alsa-devel
mailing list