/* * Copyright 2012 Advanced Micro Devices, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. *
*/
struct atif_sbios_requests {
u16 size; /* structure size in bytes (includes size field) */
u32 pending; /* pending sbios requests */
u8 panel_exp_mode; /* panel expansion mode */
u8 thermal_gfx; /* thermal state: target gfx controller */
u8 thermal_state; /* thermal state: state id (0: exit state, non-0: state) */
u8 forced_power_gfx; /* forced power state: target gfx controller */
u8 forced_power_state; /* forced power state: state id */
u8 system_power_src; /* system power source */
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 input_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;
static_assert(ATIF_QBTC_MAX_DATA_POINTS == MAX_LUMINANCE_DATA_POINTS);
static_assert(sizeof(struct atif_qbtc_data_point) == sizeof(struct amdgpu_dm_luminance_data));
/* ATCS */ #define ATCS_FUNCTION_VERIFY_INTERFACE 0x0 /* ARG0: ATCS_FUNCTION_VERIFY_INTERFACE * ARG1: none * OUTPUT: * WORD - structure size in bytes (includes size field) * WORD - version * DWORD - supported functions bit vector
*/ /* supported functions vector */ # define ATCS_GET_EXTERNAL_STATE_SUPPORTED (1 << 0) # define ATCS_PCIE_PERFORMANCE_REQUEST_SUPPORTED (1 << 1) # define ATCS_PCIE_DEVICE_READY_NOTIFICATION_SUPPORTED (1 << 2) # define ATCS_SET_PCIE_BUS_WIDTH_SUPPORTED (1 << 3) # define ATCS_SET_POWER_SHIFT_CONTROL_SUPPORTED (1 << 7) #define ATCS_FUNCTION_GET_EXTERNAL_STATE 0x1 /* ARG0: ATCS_FUNCTION_GET_EXTERNAL_STATE * ARG1: none * OUTPUT: * WORD - structure size in bytes (includes size field) * DWORD - valid flags mask * DWORD - flags (0: undocked, 1: docked)
*/ /* flags */ # define ATCS_DOCKED (1 << 0) #define ATCS_FUNCTION_PCIE_PERFORMANCE_REQUEST 0x2 /* ARG0: ATCS_FUNCTION_PCIE_PERFORMANCE_REQUEST * ARG1: * WORD - structure size in bytes (includes size field) * WORD - client id (bit 2-0: func num, 7-3: dev num, 15-8: bus num) * WORD - valid flags mask * WORD - flags * BYTE - request type * BYTE - performance request * OUTPUT: * WORD - structure size in bytes (includes size field) * BYTE - return value
*/ /* flags */ # define ATCS_ADVERTISE_CAPS (1 << 0) # define ATCS_WAIT_FOR_COMPLETION (1 << 1) /* request type */ # define ATCS_PCIE_LINK_SPEED 1 /* performance request */ # define ATCS_REMOVE 0 # define ATCS_FORCE_LOW_POWER 1 # define ATCS_PERF_LEVEL_1 2 /* PCIE Gen 1 */ # define ATCS_PERF_LEVEL_2 3 /* PCIE Gen 2 */ # define ATCS_PERF_LEVEL_3 4 /* PCIE Gen 3 */ /* return value */ # define ATCS_REQUEST_REFUSED 1 # define ATCS_REQUEST_COMPLETE 2 # define ATCS_REQUEST_IN_PROGRESS 3 #define ATCS_FUNCTION_PCIE_DEVICE_READY_NOTIFICATION 0x3 /* ARG0: ATCS_FUNCTION_PCIE_DEVICE_READY_NOTIFICATION * ARG1: none * OUTPUT: none
*/ #define ATCS_FUNCTION_SET_PCIE_BUS_WIDTH 0x4 /* ARG0: ATCS_FUNCTION_SET_PCIE_BUS_WIDTH * ARG1: * WORD - structure size in bytes (includes size field) * WORD - client id (bit 2-0: func num, 7-3: dev num, 15-8: bus num) * BYTE - number of active lanes * OUTPUT: * WORD - structure size in bytes (includes size field) * BYTE - number of active lanes
*/
#define ATCS_FUNCTION_POWER_SHIFT_CONTROL 0x8 /* ARG0: ATCS_FUNCTION_POWER_SHIFT_CONTROL * ARG1: * WORD - structure size in bytes (includes size field) * WORD - dGPU id (bit 2-0: func num, 7-3: dev num, 15-8: bus num) * BYTE - Device ACPI state * BYTE - Driver state * OUTPUT: none
*/
#endif
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.14Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.