Attention is currently required from: Eric Lai, Kapil Porwal, Nick Vaccaro, Subrata Banik, Won Chung.
Matt DeVillier has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/80174?usp=email )
Change subject: mb/google/brya/var/*: Use name 'LCD0' for internal panel output ......................................................................
Patch Set 3:
(2 comments)
Commit Message:
https://review.coreboot.org/c/coreboot/+/80174/comment/53b4c3e9_1d9fba90 : PS2, Line 9: The GMA driver generates the brightness controls expecting the name : LCD0
not sure if the original code has added w/ the same intention. […]
so, the GMA driver ACPI has two parts - the dsdt, which contains the brightness level list and the actual brightness control functions, and the ssdt which contains the panel definition as well as the methods which call the brightness functions in the DSDT. See: src/drivers/intel/gma/acpi/*.asl
For boards which define a panel in devicetree (e.g., `register "gfx" = "GMA_DEFAULT_PANEL(0)"`), the SSDT will contain code scoped to SB.PCI0.GFX0 which includes a _DOD method, the LCD0 device, and the _BCL, _BCM, and _BCQ ACPI methods.
The problem is, for boards which use drivers/gfx/generic, they also create a _DOD method in the scope of the display controller, which for Intel iGPUs is SB.PCI0.GFX0. This is not valid ACPI, and Windows chokes.
My solution is to add the brightness control hooks to the drivers/gfx/generic code, and drop the panel definition in devicetree, so there is no duplicate _DOD method, and brightness controls still function properly. Renaming the panel device from LCD to LCD0 ensures the two halves are in sync.
https://review.coreboot.org/c/coreboot/+/80174/comment/b093fa6d_b2a7ef08 : PS2, Line 14: functional.
no need warp.
Done