From a0b0d42d691f163b0a5a8268da1087c9c5f28eaa Mon Sep 17 00:00:00 2001 From: Furquan Shaikh Date: Fri, 21 Feb 2020 09:57:54 -0800 Subject: gfx: Move drivers/generic/gfx to drivers/gfx/generic This change creates gfx directory under drivers/ so that all drivers handling gfx devices can be located in the same place. In follow-up CLs, we will be adding another driver that handles gfx devices. This change also updates the names used within the driver from *generic_gfx* to *gfx_generic*. In addition to that, mainboard drallion using this driver is updated to match the correct path and Kconfig name. TEST=Verified that drallion still builds. Change-Id: I377743e0f6d770eed143c7b6041dab2a101e6252 Signed-off-by: Furquan Shaikh Reviewed-on: https://review.coreboot.org/c/coreboot/+/39047 Tested-by: build bot (Jenkins) Reviewed-by: Tim Wawrzynczak Reviewed-by: Mathew King --- src/drivers/gfx/generic/chip.h | 56 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/drivers/gfx/generic/chip.h (limited to 'src/drivers/gfx/generic/chip.h') diff --git a/src/drivers/gfx/generic/chip.h b/src/drivers/gfx/generic/chip.h new file mode 100644 index 0000000000..5e855e3853 --- /dev/null +++ b/src/drivers/gfx/generic/chip.h @@ -0,0 +1,56 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2019 Google LLC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef __DRIVERS_GFX_GENERIC_CHIP_H__ +#define __DRIVERS_GFX_GENERIC_CHIP_H__ + +/* Config for electronic privacy screen */ +struct drivers_gfx_generic_privacy_screen_config { + /* Is privacy screen available on this graphics device */ + int enabled; + /* ACPI namespace path to privacy screen detection function */ + const char *detect_function; + /* ACPI namespace path to privacy screen status function */ + const char *status_function; + /* ACPI namespace path to privacy screen enable function */ + const char *enable_function; + /* ACPI namespace path to privacy screen disable function */ + const char *disable_function; +}; + +/* Config for an output device as defined in section A.5 of the ACPI spec */ +struct drivers_gfx_generic_device_config { + /* ACPI device name of the output device */ + const char *name; + /* The address of the output device. See section A.3.2 */ + unsigned int addr; + /* Electronic privacy screen specific config */ + struct drivers_gfx_generic_privacy_screen_config privacy; +}; + +/* Config for an ACPI video device defined in Appendix A of the ACPI spec */ +struct drivers_gfx_generic_config { + /* + * ACPI device name of the graphics card, "GFX0" will be used if name is + * not set + */ + const char *name; + /* The number of output devices defined */ + int device_count; + /* Config for output devices */ + struct drivers_gfx_generic_device_config device[5]; +}; + +#endif /* __DRIVERS_GFX_GENERIC_CHIP_H__ */ -- cgit v1.2.3