Attention is currently required from: Tarun Tuli, Eran Mitrani, Subrata Banik, Reka Norman, Nick Vaccaro.
Hello Tarun Tuli, Eran Mitrani, Subrata Banik, Reka Norman, Nick Vaccaro,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/70262
to look at the new patch set (#4).
Change subject: drivers/wifi/generic: Fix properties in generic-under-PCI device case ......................................................................
drivers/wifi/generic: Fix properties in generic-under-PCI device case
In the devicetree case where a generic device underneath the Intel PCI CNVi device carries the device properties, the incorrect device was passed to wifi_ssdt_write_properties.
In the below case, cnvi_wifi's child (i.e. generic 0) device contains correct chip configuration to generate the SSDT. Earlier, We were populating garbage data to the SSDT by using cnvi_wifi instead.
Devicetree entry: chip soc/intel/alderlake # more entries device ref cnvi_wifi on chip drivers/wifi/generic register "wake" = "GPE0_PME_B0" register "add_acpi_dma_property" = "true" device generic 0 on end end end # many more entries end
SSDT when generic-under-PCI (before this fix): _PRW is incorrect and _DSD is missing. Scope (_SB.PCI0.WFA3) { Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { Zero, 0x03 }) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { ToBuffer (Arg0, Local0) Return (Buffer (One) { 0x00 // . }) } }
SSDT when generic-under-PCI (after this fix): _PRW and _DSD are correctly populated. Scope (_SB.PCI0.WFA3) { Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x6D, 0x03 }) Name (_DSD, Package (0x02) // _DSD: Device-Specific Data { ToUUID ("70d24161-6dd5-4c9e-8070-705531292865"), Package (0x01) { Package (0x02) { "DmaProperty", One } } }) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { ToBuffer (Arg0, Local0) Return (Buffer (One) { 0x00 // . }) } }
SSDT when CNVi (unaffected by this fix): Scope (_SB.PCI0.CNVW) { Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x6D, 0x03 }) Name (_DSD, Package (0x02) // _DSD: Device-Specific Data { ToUUID ("70d24161-6dd5-4c9e-8070-705531292865"), Package (0x01) { Package (0x02) { "DmaProperty", One } } }) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { ToBuffer (Arg0, Local0) Return (Buffer (One) { 0x00 // . }) } }
BUG=b:259716145 TEST=Dump SSDT and see that _PRW and _DSD for CNVi device contains the value from the devicetree on google/kuldax.
Signed-off-by: Kapil Porwal kapilporwal@google.com Change-Id: I6f7d0b826ce067b40fa89d74f421d7018ecc3fbb --- M src/drivers/wifi/generic/acpi.c 1 file changed, 125 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/62/70262/4