[ Upstream commit 1b290ef023b3eeb4f4688b582fecb773915ef937 ]
Add alternative topology binary file name based on used machine driver
and fallback to use this name after failed attempt to load topology file
with name based on NHLT.
This change addresses multiple issues with current mechanism, for
example - there are devices without NHLT table, and that currently
results in tplg_name being empty.
Signed-off-by: Mateusz Gorski <mateusz.gorski@xxxxxxxxxxxxxxx>
Reviewed-by: Cezary Rojewski <cezary.rojewski@xxxxxxxxx>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
Link: https://lore.kernel.org/r/20200427132727.24942-2-mateusz.gorski@xxxxxxxxxxxxxxx
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
---
This functionality is merged on upstream kernel and widely used. Merging
it to LTS kernel would improve the user experience and resolve some of the
problems regarding topology naming that the users are facing.
What problems are people facing, and what kernel(s) are you asking for
this to be ported to, and why can't people just use 5.8 or newer if they
have this new hardware?
thanks,
greg k-h
I forgot to add - I wanted this change to be merged to stable 5.4
kernel. Please let me know if I should resend this patch with this
information included.
As for the user issues - topology binary file name is currently created
according to information from NHLT. The problem is, that some laptops
(for example Dell XPS 13) do not have NHLT at all. This results in
topology binary name being empty (" ").
This patch adds alternative name based on loaded machine driver.
It applies not only to new hardware, please note that the mentioned Dell
XPS 13 is based on Kabylake. This issue existed on upstream from the
beginning of Skylake driver and was only recently addressed.