13 Jan
2023
13 Jan
'23
6:11 p.m.
if (is_dmic_dev && is_sdw_dev) {
switch (acp_data->sdw_master_count) {
case 1:
acp_data->pdev_mask = ACP63_SDW_PDM_DEV_MASK;
acp_data->pdev_count = ACP63_SDW0_PDM_MODE_DEVS;
break;
case 2:
acp_data->pdev_mask = ACP63_SDW_PDM_DEV_MASK;
acp_data->pdev_count = ACP63_SDW0_SDW1_PDM_MODE_DEVS;
break;
so the cover letter is indeed wrong and confuses two controllers for two managers.
ACP IP has two independent manager instances driven by separate controller each which are connected in different power domains.
we should create two separate ACPI companion devices for separate manager instance. Currently we have limitations with BIOS. we are going with single ACPI companion device. We will update the changes later.
Humm, this is tricky. The BIOS interface isn't something that can be changed at will on the kernel side, you'd have to maintain two solutions with a means to detect which one to use.
Or is this is a temporary issue on development devices, then that part should probably not be upstreamed.