|
@@ -551,6 +551,17 @@ static int hdmi_channel_allocation(struct hdmi_eld *eld, int channels)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ if (!ca) {
|
|
|
|
|
+ /* if there was no match, select the regular ALSA channel
|
|
|
|
|
+ * allocation with the matching number of channels */
|
|
|
|
|
+ for (i = 0; i < ARRAY_SIZE(channel_allocations); i++) {
|
|
|
|
|
+ if (channels == channel_allocations[i].channels) {
|
|
|
|
|
+ ca = channel_allocations[i].ca_index;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
snd_print_channel_allocation(eld->info.spk_alloc, buf, sizeof(buf));
|
|
snd_print_channel_allocation(eld->info.spk_alloc, buf, sizeof(buf));
|
|
|
snd_printdd("HDMI: select CA 0x%x for %d-channel allocation: %s\n",
|
|
snd_printdd("HDMI: select CA 0x%x for %d-channel allocation: %s\n",
|
|
|
ca, channels, buf);
|
|
ca, channels, buf);
|