From c6529c7c0aadf200f187078244fbeea13ed5303a Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Tue, 1 Nov 2022 11:42:28 -0600 Subject: [PATCH] soc/intel/alderlake: Hook up GMA ACPI brightness controls Add function needed to generate ACPI backlight control SSDT, along with Kconfig values for accessing the registers. Tested by adding gfx register on system76/lemp11. Backlight controls work on Windows 10 and Linux 6.1. Change-Id: I1cc33bf0121ff44aea68a7e3615c5e58e2ab6ce2 Signed-off-by: Tim Crawford Reviewed-on: https://review.coreboot.org/c/coreboot/+/69076 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons --- src/soc/intel/alderlake/Kconfig | 12 ++++++++++++ src/soc/intel/alderlake/Makefile.inc | 1 + src/soc/intel/alderlake/chip.h | 4 ++++ src/soc/intel/alderlake/graphics.c | 11 +++++++++++ 4 files changed, 28 insertions(+) create mode 100644 src/soc/intel/alderlake/graphics.c diff --git a/src/soc/intel/alderlake/Kconfig b/src/soc/intel/alderlake/Kconfig index cbc02e75e5..08d4132f61 100644 --- a/src/soc/intel/alderlake/Kconfig +++ b/src/soc/intel/alderlake/Kconfig @@ -484,4 +484,16 @@ config BUILDING_WITH_DEBUG_FSP help Set this option if debug build of FSP is used. +config INTEL_GMA_BCLV_OFFSET + default 0xc8258 + +config INTEL_GMA_BCLV_WIDTH + default 32 + +config INTEL_GMA_BCLM_OFFSET + default 0xc8254 + +config INTEL_GMA_BCLM_WIDTH + default 32 + endif diff --git a/src/soc/intel/alderlake/Makefile.inc b/src/soc/intel/alderlake/Makefile.inc index a4c6336449..7f808ffa6e 100644 --- a/src/soc/intel/alderlake/Makefile.inc +++ b/src/soc/intel/alderlake/Makefile.inc @@ -32,6 +32,7 @@ ramstage-y += elog.c ramstage-y += espi.c ramstage-y += finalize.c ramstage-y += fsp_params.c +ramstage-y += graphics.c ramstage-y += hsphy.c ramstage-y += lockdown.c ramstage-y += me.c diff --git a/src/soc/intel/alderlake/chip.h b/src/soc/intel/alderlake/chip.h index a1a8fb3922..46721b0b84 100644 --- a/src/soc/intel/alderlake/chip.h +++ b/src/soc/intel/alderlake/chip.h @@ -4,6 +4,7 @@ #define _SOC_CHIP_H_ #include +#include #include #include #include @@ -647,6 +648,9 @@ struct soc_intel_alderlake_config { * Default is set to 0 and set to 1 to skip the MBP HOB. */ bool skip_mbp_hob; + + /* i915 struct for GMA backlight control */ + struct i915_gpu_controller_info gfx; }; typedef struct soc_intel_alderlake_config config_t; diff --git a/src/soc/intel/alderlake/graphics.c b/src/soc/intel/alderlake/graphics.c new file mode 100644 index 0000000000..f2c792c0d8 --- /dev/null +++ b/src/soc/intel/alderlake/graphics.c @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include +#include + +const struct i915_gpu_controller_info * +intel_igd_get_controller_info(const struct device *const dev) +{ + const struct soc_intel_alderlake_config *const chip = dev->chip_info; + return &chip->gfx; +}