ASoC: Intel: sof_sdw: remove FOUR_SPEAKER quirks
This patch removes a confusion between speakers and amplifiers. The existing code keeps track of the number of amplifiers and reports it in the 'cfg-amp' component string. The number of speakers is defined with quirks, but those quirks are not consistently added: in the MeteorLake case, none of the supported platforms used such a quirk, and UCM does not use the values reported anyways. The notion of 'FOUR_SPEAKERS' is also obsolete now with some platforms having more than four speakers. Let's just remove all this and only report the number of amplifiers. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20240411220347.131267-6-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
b10cb955c6
commit
744866d28f
@ -27,7 +27,7 @@ static void log_quirks(struct device *dev)
|
||||
dev_dbg(dev, "quirk realtek,jack-detect-source %ld\n",
|
||||
SOF_JACK_JDSRC(sof_sdw_quirk));
|
||||
if (sof_sdw_quirk & SOF_SDW_FOUR_SPK)
|
||||
dev_dbg(dev, "quirk SOF_SDW_FOUR_SPK enabled\n");
|
||||
dev_err(dev, "quirk SOF_SDW_FOUR_SPK enabled but no longer supported\n");
|
||||
if (sof_sdw_quirk & SOF_SDW_TGL_HDMI)
|
||||
dev_dbg(dev, "quirk SOF_SDW_TGL_HDMI enabled\n");
|
||||
if (sof_sdw_quirk & SOF_SDW_PCH_DMIC)
|
||||
@ -80,8 +80,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "098F"),
|
||||
},
|
||||
.driver_data = (void *)(RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
.driver_data = (void *)(RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -89,8 +88,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0990"),
|
||||
},
|
||||
.driver_data = (void *)(RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
.driver_data = (void *)(RT711_JD2),
|
||||
},
|
||||
/* IceLake devices */
|
||||
{
|
||||
@ -141,8 +139,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A5D")
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -151,8 +148,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A5E")
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -162,7 +158,6 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
SOF_SDW_PCH_DMIC |
|
||||
SOF_SDW_FOUR_SPK |
|
||||
SOF_BT_OFFLOAD_SSP(2) |
|
||||
SOF_SSP_BT_OFFLOAD_PRESENT),
|
||||
},
|
||||
@ -173,8 +168,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "Ripto"),
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
SOF_SDW_PCH_DMIC |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
SOF_SDW_PCH_DMIC),
|
||||
},
|
||||
{
|
||||
/*
|
||||
@ -258,8 +252,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A32")
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -290,7 +283,6 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
SOF_SDW_PCH_DMIC |
|
||||
SOF_SDW_FOUR_SPK |
|
||||
SOF_BT_OFFLOAD_SSP(2) |
|
||||
SOF_SSP_BT_OFFLOAD_PRESENT),
|
||||
},
|
||||
@ -301,8 +293,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0AF0")
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -311,8 +302,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0AF3"),
|
||||
},
|
||||
/* No Jack */
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -321,8 +311,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0AFE")
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -331,8 +320,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0AFF")
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -341,8 +329,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B00")
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -351,8 +338,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B01")
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -361,8 +347,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B11")
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -371,8 +356,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B12")
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -400,8 +384,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B29"),
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -429,8 +412,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0BDA")
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -449,8 +431,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0C10"),
|
||||
},
|
||||
/* No Jack */
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -459,8 +440,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0C11")
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -469,8 +449,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0C40")
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
{
|
||||
.callback = sof_sdw_quirk_cb,
|
||||
@ -479,8 +458,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0C4F")
|
||||
},
|
||||
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
|
||||
RT711_JD2 |
|
||||
SOF_SDW_FOUR_SPK),
|
||||
RT711_JD2),
|
||||
},
|
||||
/* MeteorLake devices */
|
||||
{
|
||||
@ -2010,9 +1988,7 @@ static int mc_probe(struct platform_device *pdev)
|
||||
amp_num += codec_info_list[i].amp_num;
|
||||
|
||||
card->components = devm_kasprintf(card->dev, GFP_KERNEL,
|
||||
"cfg-spk:%d cfg-amp:%d",
|
||||
(sof_sdw_quirk & SOF_SDW_FOUR_SPK)
|
||||
? 4 : 2, amp_num);
|
||||
"cfg-amp:%d", amp_num);
|
||||
if (!card->components)
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -45,6 +45,7 @@ enum {
|
||||
};
|
||||
|
||||
#define SOF_JACK_JDSRC(quirk) ((quirk) & GENMASK(3, 0))
|
||||
/* Deprecated and no longer supported by the code */
|
||||
#define SOF_SDW_FOUR_SPK BIT(4)
|
||||
#define SOF_SDW_TGL_HDMI BIT(5)
|
||||
#define SOF_SDW_PCH_DMIC BIT(6)
|
||||
|
Loading…
x
Reference in New Issue
Block a user