Attention is currently required from: Patrick Rudolph, Christian Walter. Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/50383 )
Change subject: mb/prodrive/hermes: Configure 'internal audio' ......................................................................
Patch Set 2:
(1 comment)
File src/mainboard/prodrive/hermes/hda_verb.c:
https://review.coreboot.org/c/coreboot/+/50383/comment/4ef999f0_f5f0366b PS2, Line 186: verbs = malloc(sizeof(u32) * 4); : if (!verbs) : return NULL; : : *verb_table_size = 0; : : if (board_cfg->internal_audio_connection == 0) { : static u32 verb_data[] = { : AZALIA_PIN_CFG(0, 0x1b, 0x411111f0), : }; : memcpy(&verbs[*verb_table_size], verb_data, sizeof(verb_data)); : *verb_table_size += sizeof(verb_data) / sizeof(u32); : : } else if (board_cfg->internal_audio_connection == 1) { : static u32 verb_data[] = { : AZALIA_PIN_CFG(0, 0x1b, 0x02214c40), : }; : memcpy(&verbs[*verb_table_size], verb_data, sizeof(verb_data)); : *verb_table_size += sizeof(verb_data) / sizeof(u32); : } else { : static u32 verb_data[] = { : AZALIA_PIN_CFG(0, 0x1b, AZALIA_PIN_DESC( : INTEGRATED, : INTERNAL, : NA, : SPEAKER, : TYPE_UNKNOWN, : COLOR_UNKNOWN, : false, : 0xf, : 0)), : }; : memcpy(&verbs[*verb_table_size], verb_data, sizeof(verb_data)); : *verb_table_size += sizeof(verb_data) / sizeof(u32); : } : : /* Leak verbs */ : return verbs;
It is. As the following (to be written) patch also configures verbs.
Most of the boilerplate is because of the need to use a static array. If the mainboard callback can program the verb table, the result looks better IMHO: CB:50389