soc/intel/cnvi: Add HotPlugSupportInD3 Property

Add a DSD with the HotPlugSupportInD3, as when it RTD3, the device
will appear as not-present. This will cause Windows to constantly
try to enable it, causing an endless loop of the device becoming
visible.

Test=build and boot `starlabs/starlite_adl`, check CNVi is always
visible in device manager.

Change-Id: I598ab173074522e9d5af002782c5d3ec7691a815
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/87325
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Sean Rhodes 2025-04-15 20:02:13 +01:00 committed by Matt DeVillier
commit b81b7a2014

View file

@ -1051,9 +1051,18 @@ static void wifi_ssdt_write_properties(const struct device *dev, const char *sco
/* Wake capabilities */
acpigen_write_PRW(config->wake, ACPI_S3);
/* Add _DSD for DmaProperty property. */
if (config->add_acpi_dma_property)
acpi_device_add_dma_property(NULL);
if ((config->add_acpi_dma_property) || (config->cnvi_enable_gpio.pin_count)) {
struct acpi_dp *dsd = acpi_dp_new_table("_DSD");
/* Add _DSD for DmaProperty property. */
if (config->add_acpi_dma_property)
acpi_device_add_dma_property(dsd);
if (config->cnvi_enable_gpio.pin_count)
acpi_device_add_hotplug_support_in_d3(dsd);
acpi_dp_write(dsd);
}
}
/* Fill regulatory domain structure */