diff options
-rw-r--r-- | src/drivers/gfx/generic/chip.h | 7 | ||||
-rw-r--r-- | src/drivers/gfx/generic/generic.c | 4 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/drivers/gfx/generic/chip.h b/src/drivers/gfx/generic/chip.h index d60082372b..1a666a27eb 100644 --- a/src/drivers/gfx/generic/chip.h +++ b/src/drivers/gfx/generic/chip.h @@ -4,6 +4,7 @@ #define __DRIVERS_GFX_GENERIC_CHIP_H__ #include <acpi/acpi_device.h> +#include <acpi/acpi_pld.h> /* Config for electronic privacy screen */ struct drivers_gfx_generic_privacy_screen_config { @@ -35,6 +36,9 @@ struct drivers_gfx_generic_device_config { unsigned int addr; /* Electronic privacy screen specific config */ struct drivers_gfx_generic_privacy_screen_config privacy; + /* Physical location of connection point */ + bool use_pld; + struct acpi_pld pld; }; /* Config for an ACPI video device defined in Appendix A of the ACPI spec */ @@ -47,7 +51,8 @@ struct drivers_gfx_generic_config { /* The number of output devices defined */ int device_count; /* Config for output devices */ - struct drivers_gfx_generic_device_config device[5]; + /* 1 DDIA + 1 DDIB + max 4 TCP = up to 6 GFX devices */ + struct drivers_gfx_generic_device_config device[6]; }; #endif /* __DRIVERS_GFX_GENERIC_CHIP_H__ */ diff --git a/src/drivers/gfx/generic/generic.c b/src/drivers/gfx/generic/generic.c index 7c6076c9f4..0ab16767eb 100644 --- a/src/drivers/gfx/generic/generic.c +++ b/src/drivers/gfx/generic/generic.c @@ -128,6 +128,10 @@ static void gfx_fill_ssdt_generator(const struct device *dev) acpigen_write_name_integer("_STA", 0xF); gfx_fill_privacy_screen_dsm(&config->device[i].privacy); + + if (config->device[i].use_pld) + acpigen_write_pld(&config->device[i].pld); + acpigen_pop_len(); /* Device */ } acpigen_pop_len(); /* Scope */ |