Skip to content

Commit 744866d

Browse files
plbossartbroonie
authored andcommitted
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 <[email protected]> Reviewed-by: Bard Liao <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent b10cb95 commit 744866d

File tree

2 files changed

+23
-46
lines changed

2 files changed

+23
-46
lines changed

sound/soc/intel/boards/sof_sdw.c

Lines changed: 22 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ static void log_quirks(struct device *dev)
2727
dev_dbg(dev, "quirk realtek,jack-detect-source %ld\n",
2828
SOF_JACK_JDSRC(sof_sdw_quirk));
2929
if (sof_sdw_quirk & SOF_SDW_FOUR_SPK)
30-
dev_dbg(dev, "quirk SOF_SDW_FOUR_SPK enabled\n");
30+
dev_err(dev, "quirk SOF_SDW_FOUR_SPK enabled but no longer supported\n");
3131
if (sof_sdw_quirk & SOF_SDW_TGL_HDMI)
3232
dev_dbg(dev, "quirk SOF_SDW_TGL_HDMI enabled\n");
3333
if (sof_sdw_quirk & SOF_SDW_PCH_DMIC)
@@ -80,17 +80,15 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
8080
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
8181
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "098F"),
8282
},
83-
.driver_data = (void *)(RT711_JD2 |
84-
SOF_SDW_FOUR_SPK),
83+
.driver_data = (void *)(RT711_JD2),
8584
},
8685
{
8786
.callback = sof_sdw_quirk_cb,
8887
.matches = {
8988
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
9089
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0990"),
9190
},
92-
.driver_data = (void *)(RT711_JD2 |
93-
SOF_SDW_FOUR_SPK),
91+
.driver_data = (void *)(RT711_JD2),
9492
},
9593
/* IceLake devices */
9694
{
@@ -141,8 +139,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
141139
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A5D")
142140
},
143141
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
144-
RT711_JD2 |
145-
SOF_SDW_FOUR_SPK),
142+
RT711_JD2),
146143
},
147144
{
148145
.callback = sof_sdw_quirk_cb,
@@ -151,8 +148,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
151148
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A5E")
152149
},
153150
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
154-
RT711_JD2 |
155-
SOF_SDW_FOUR_SPK),
151+
RT711_JD2),
156152
},
157153
{
158154
.callback = sof_sdw_quirk_cb,
@@ -162,7 +158,6 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
162158
},
163159
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
164160
SOF_SDW_PCH_DMIC |
165-
SOF_SDW_FOUR_SPK |
166161
SOF_BT_OFFLOAD_SSP(2) |
167162
SOF_SSP_BT_OFFLOAD_PRESENT),
168163
},
@@ -173,8 +168,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
173168
DMI_MATCH(DMI_PRODUCT_NAME, "Ripto"),
174169
},
175170
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
176-
SOF_SDW_PCH_DMIC |
177-
SOF_SDW_FOUR_SPK),
171+
SOF_SDW_PCH_DMIC),
178172
},
179173
{
180174
/*
@@ -258,8 +252,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
258252
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A32")
259253
},
260254
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
261-
RT711_JD2 |
262-
SOF_SDW_FOUR_SPK),
255+
RT711_JD2),
263256
},
264257
{
265258
.callback = sof_sdw_quirk_cb,
@@ -290,7 +283,6 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
290283
},
291284
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
292285
SOF_SDW_PCH_DMIC |
293-
SOF_SDW_FOUR_SPK |
294286
SOF_BT_OFFLOAD_SSP(2) |
295287
SOF_SSP_BT_OFFLOAD_PRESENT),
296288
},
@@ -301,8 +293,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
301293
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0AF0")
302294
},
303295
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
304-
RT711_JD2 |
305-
SOF_SDW_FOUR_SPK),
296+
RT711_JD2),
306297
},
307298
{
308299
.callback = sof_sdw_quirk_cb,
@@ -311,8 +302,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
311302
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0AF3"),
312303
},
313304
/* No Jack */
314-
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
315-
SOF_SDW_FOUR_SPK),
305+
.driver_data = (void *)(SOF_SDW_TGL_HDMI),
316306
},
317307
{
318308
.callback = sof_sdw_quirk_cb,
@@ -321,8 +311,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
321311
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0AFE")
322312
},
323313
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
324-
RT711_JD2 |
325-
SOF_SDW_FOUR_SPK),
314+
RT711_JD2),
326315
},
327316
{
328317
.callback = sof_sdw_quirk_cb,
@@ -331,8 +320,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
331320
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0AFF")
332321
},
333322
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
334-
RT711_JD2 |
335-
SOF_SDW_FOUR_SPK),
323+
RT711_JD2),
336324
},
337325
{
338326
.callback = sof_sdw_quirk_cb,
@@ -341,8 +329,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
341329
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B00")
342330
},
343331
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
344-
RT711_JD2 |
345-
SOF_SDW_FOUR_SPK),
332+
RT711_JD2),
346333
},
347334
{
348335
.callback = sof_sdw_quirk_cb,
@@ -351,8 +338,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
351338
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B01")
352339
},
353340
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
354-
RT711_JD2 |
355-
SOF_SDW_FOUR_SPK),
341+
RT711_JD2),
356342
},
357343
{
358344
.callback = sof_sdw_quirk_cb,
@@ -361,8 +347,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
361347
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B11")
362348
},
363349
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
364-
RT711_JD2 |
365-
SOF_SDW_FOUR_SPK),
350+
RT711_JD2),
366351
},
367352
{
368353
.callback = sof_sdw_quirk_cb,
@@ -371,8 +356,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
371356
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B12")
372357
},
373358
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
374-
RT711_JD2 |
375-
SOF_SDW_FOUR_SPK),
359+
RT711_JD2),
376360
},
377361
{
378362
.callback = sof_sdw_quirk_cb,
@@ -400,8 +384,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
400384
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B29"),
401385
},
402386
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
403-
RT711_JD2 |
404-
SOF_SDW_FOUR_SPK),
387+
RT711_JD2),
405388
},
406389
{
407390
.callback = sof_sdw_quirk_cb,
@@ -429,8 +412,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
429412
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0BDA")
430413
},
431414
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
432-
RT711_JD2 |
433-
SOF_SDW_FOUR_SPK),
415+
RT711_JD2),
434416
},
435417
{
436418
.callback = sof_sdw_quirk_cb,
@@ -449,8 +431,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
449431
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0C10"),
450432
},
451433
/* No Jack */
452-
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
453-
SOF_SDW_FOUR_SPK),
434+
.driver_data = (void *)(SOF_SDW_TGL_HDMI),
454435
},
455436
{
456437
.callback = sof_sdw_quirk_cb,
@@ -459,8 +440,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
459440
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0C11")
460441
},
461442
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
462-
RT711_JD2 |
463-
SOF_SDW_FOUR_SPK),
443+
RT711_JD2),
464444
},
465445
{
466446
.callback = sof_sdw_quirk_cb,
@@ -469,8 +449,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
469449
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0C40")
470450
},
471451
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
472-
RT711_JD2 |
473-
SOF_SDW_FOUR_SPK),
452+
RT711_JD2),
474453
},
475454
{
476455
.callback = sof_sdw_quirk_cb,
@@ -479,8 +458,7 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
479458
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0C4F")
480459
},
481460
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
482-
RT711_JD2 |
483-
SOF_SDW_FOUR_SPK),
461+
RT711_JD2),
484462
},
485463
/* MeteorLake devices */
486464
{
@@ -2010,9 +1988,7 @@ static int mc_probe(struct platform_device *pdev)
20101988
amp_num += codec_info_list[i].amp_num;
20111989

20121990
card->components = devm_kasprintf(card->dev, GFP_KERNEL,
2013-
"cfg-spk:%d cfg-amp:%d",
2014-
(sof_sdw_quirk & SOF_SDW_FOUR_SPK)
2015-
? 4 : 2, amp_num);
1991+
"cfg-amp:%d", amp_num);
20161992
if (!card->components)
20171993
return -ENOMEM;
20181994

sound/soc/intel/boards/sof_sdw_common.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ enum {
4545
};
4646

4747
#define SOF_JACK_JDSRC(quirk) ((quirk) & GENMASK(3, 0))
48+
/* Deprecated and no longer supported by the code */
4849
#define SOF_SDW_FOUR_SPK BIT(4)
4950
#define SOF_SDW_TGL_HDMI BIT(5)
5051
#define SOF_SDW_PCH_DMIC BIT(6)

0 commit comments

Comments
 (0)