summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/include/amd_acpi.h
diff options
context:
space:
mode:
authorDavid Francis2018-11-26 17:44:06 +0100
committerAlex Deucher2018-11-26 21:54:39 +0100
commit206bbafe00dcacccf40e6f09e624329ec124201b (patch)
tree3324c64471524c6ea4c95add3ff2ee6bc9fe4114 /drivers/gpu/drm/amd/include/amd_acpi.h
parentdrm/amd: update ATIF functions in AMD ACPI header (diff)
downloadkernel-qcow2-linux-206bbafe00dcacccf40e6f09e624329ec124201b.tar.gz
kernel-qcow2-linux-206bbafe00dcacccf40e6f09e624329ec124201b.tar.xz
kernel-qcow2-linux-206bbafe00dcacccf40e6f09e624329ec124201b.zip
drm/amd: Query and use ACPI backlight caps
ACPI ATIF has a function called query backlight transfer characteristics. Among the information returned by this function is the minimum and maximum input signals for the backlight Call that function on ACPI init. When DM backlight device is updated, copy over the backlight caps into DM, but only once. Use the backlight caps in the backlight-to-dc calculation Signed-off-by: David Francis <David.Francis@amd.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/include/amd_acpi.h')
-rw-r--r--drivers/gpu/drm/amd/include/amd_acpi.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/include/amd_acpi.h b/drivers/gpu/drm/amd/include/amd_acpi.h
index 8980edfe5fa9..c72cbfe8f684 100644
--- a/drivers/gpu/drm/amd/include/amd_acpi.h
+++ b/drivers/gpu/drm/amd/include/amd_acpi.h
@@ -52,6 +52,30 @@ struct atif_sbios_requests {
u8 backlight_level; /* panel backlight level (0-255) */
} __packed;
+struct atif_qbtc_arguments {
+ u16 size; /* structure size in bytes (includes size field) */
+ u8 requested_display; /* which display is requested */
+} __packed;
+
+#define ATIF_QBTC_MAX_DATA_POINTS 99
+
+struct atif_qbtc_data_point {
+ u8 luminance; /* luminance in percent */
+ u8 ipnut_signal; /* input signal in range 0-255 */
+} __packed;
+
+struct atif_qbtc_output {
+ u16 size; /* structure size in bytes (includes size field) */
+ u16 flags; /* all zeroes */
+ u8 error_code; /* error code */
+ u8 ac_level; /* default brightness on AC power */
+ u8 dc_level; /* default brightness on DC power */
+ u8 min_input_signal; /* max input signal in range 0-255 */
+ u8 max_input_signal; /* min input signal in range 0-255 */
+ u8 number_of_points; /* number of data points */
+ struct atif_qbtc_data_point data_points[ATIF_QBTC_MAX_DATA_POINTS];
+} __packed;
+
#define ATIF_NOTIFY_MASK 0x3
#define ATIF_NOTIFY_NONE 0
#define ATIF_NOTIFY_81 1