cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

video.h (2871B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __ACPI_VIDEO_H
      3#define __ACPI_VIDEO_H
      4
      5#include <linux/errno.h> /* for ENODEV */
      6#include <linux/types.h> /* for bool */
      7
      8struct acpi_video_brightness_flags {
      9	u8 _BCL_no_ac_battery_levels:1;	/* no AC/Battery levels in _BCL */
     10	u8 _BCL_reversed:1;		/* _BCL package is in a reversed order */
     11	u8 _BQC_use_index:1;		/* _BQC returns an index value */
     12};
     13
     14struct acpi_video_device_brightness {
     15	int curr;
     16	int count;
     17	int *levels;
     18	struct acpi_video_brightness_flags flags;
     19};
     20
     21struct acpi_device;
     22
     23#define ACPI_VIDEO_CLASS	"video"
     24
     25#define ACPI_VIDEO_DISPLAY_CRT  1
     26#define ACPI_VIDEO_DISPLAY_TV   2
     27#define ACPI_VIDEO_DISPLAY_DVI  3
     28#define ACPI_VIDEO_DISPLAY_LCD  4
     29
     30#define ACPI_VIDEO_DISPLAY_LEGACY_MONITOR 0x0100
     31#define ACPI_VIDEO_DISPLAY_LEGACY_PANEL   0x0110
     32#define ACPI_VIDEO_DISPLAY_LEGACY_TV      0x0200
     33
     34#define ACPI_VIDEO_NOTIFY_SWITCH		0x80
     35#define ACPI_VIDEO_NOTIFY_PROBE			0x81
     36#define ACPI_VIDEO_NOTIFY_CYCLE			0x82
     37#define ACPI_VIDEO_NOTIFY_NEXT_OUTPUT		0x83
     38#define ACPI_VIDEO_NOTIFY_PREV_OUTPUT		0x84
     39#define ACPI_VIDEO_NOTIFY_CYCLE_BRIGHTNESS	0x85
     40#define ACPI_VIDEO_NOTIFY_INC_BRIGHTNESS	0x86
     41#define ACPI_VIDEO_NOTIFY_DEC_BRIGHTNESS	0x87
     42#define ACPI_VIDEO_NOTIFY_ZERO_BRIGHTNESS	0x88
     43#define ACPI_VIDEO_NOTIFY_DISPLAY_OFF		0x89
     44
     45enum acpi_backlight_type {
     46	acpi_backlight_undef = -1,
     47	acpi_backlight_none = 0,
     48	acpi_backlight_video,
     49	acpi_backlight_vendor,
     50	acpi_backlight_native,
     51};
     52
     53#if IS_ENABLED(CONFIG_ACPI_VIDEO)
     54extern int acpi_video_register(void);
     55extern void acpi_video_unregister(void);
     56extern int acpi_video_get_edid(struct acpi_device *device, int type,
     57			       int device_id, void **edid);
     58extern enum acpi_backlight_type acpi_video_get_backlight_type(void);
     59extern void acpi_video_set_dmi_backlight_type(enum acpi_backlight_type type);
     60/*
     61 * Note: The value returned by acpi_video_handles_brightness_key_presses()
     62 * may change over time and should not be cached.
     63 */
     64extern bool acpi_video_handles_brightness_key_presses(void);
     65extern int acpi_video_get_levels(struct acpi_device *device,
     66				 struct acpi_video_device_brightness **dev_br,
     67				 int *pmax_level);
     68#else
     69static inline int acpi_video_register(void) { return -ENODEV; }
     70static inline void acpi_video_unregister(void) { return; }
     71static inline int acpi_video_get_edid(struct acpi_device *device, int type,
     72				      int device_id, void **edid)
     73{
     74	return -ENODEV;
     75}
     76static inline enum acpi_backlight_type acpi_video_get_backlight_type(void)
     77{
     78	return acpi_backlight_vendor;
     79}
     80static inline void acpi_video_set_dmi_backlight_type(enum acpi_backlight_type type)
     81{
     82}
     83static inline bool acpi_video_handles_brightness_key_presses(void)
     84{
     85	return false;
     86}
     87static inline int acpi_video_get_levels(struct acpi_device *device,
     88			struct acpi_video_device_brightness **dev_br,
     89			int *pmax_level)
     90{
     91	return -ENODEV;
     92}
     93#endif
     94
     95#endif