Matt DeVillier has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/39883 )
Change subject: soc/intel/skylake: Hook up GMA ACPI brightness controls ......................................................................
soc/intel/skylake: Hook up GMA ACPI brightness controls
Add struct i915_gpu_controller_info for boards to supply info needed to generate ACPI backlight control SSDT. Hook into soc/common implementation by implementing intel_igd_get_controller_info().
Change-Id: I70e280e54d78e69a335f9a382261193c593ce430 Signed-off-by: Matt DeVillier matt.devillier@gmail.com --- M src/soc/intel/skylake/chip.h M src/soc/intel/skylake/graphics.c 2 files changed, 15 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/83/39883/1
diff --git a/src/soc/intel/skylake/chip.h b/src/soc/intel/skylake/chip.h index 178ab03..1170b57 100644 --- a/src/soc/intel/skylake/chip.h +++ b/src/soc/intel/skylake/chip.h @@ -19,6 +19,7 @@ #include <arch/acpi_device.h> #include <device/i2c_simple.h> #include <drivers/i2c/designware/dw_i2c.h> +#include <drivers/intel/gma/i915.h> #include <intelblocks/cfg.h> #include <intelblocks/gspi.h> #include <intelblocks/lpc_lib.h> @@ -583,6 +584,9 @@
/* Enable/Disable Sata test mode */ u8 SataTestMode; + + /* i915 struct for GMA backlight control */ + struct i915_gpu_controller_info gfx; };
typedef struct soc_intel_skylake_config config_t; diff --git a/src/soc/intel/skylake/graphics.c b/src/soc/intel/skylake/graphics.c index daa6eaa..00681e5 100644 --- a/src/soc/intel/skylake/graphics.c +++ b/src/soc/intel/skylake/graphics.c @@ -19,6 +19,7 @@ #include <device/pci.h> #include <device/pci_ops.h> #include <device/resource.h> +#include <drivers/intel/gma/i915.h> #include <drivers/intel/gma/i915_reg.h> #include <drivers/intel/gma/libgfxinit.h> #include <intelblocks/graphics.h> @@ -185,3 +186,13 @@ printk(BIOS_DEBUG, "current = %lx\n", current); return current; } + +struct i915_gpu_controller_info *intel_igd_get_controller_info(void) +{ + struct device *dev = pcidev_on_root(SA_DEV_SLOT_IGD, 0); + if (!dev || !dev->enabled) + return NULL; + + struct soc_intel_skylake_config *chip = dev->chip_info; + return &chip->gfx; +}