/* *Copyright2019ofjava.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 77 * *Permissionisherebygranted,freeofcharge,toanypersonobtaininga *copyofthissoftwareandassociateddocumentationfiles(the"Software"), *todealintheSoftwarewithoutrestriction,includingwithoutlimitation *therightstouse,copy,modify,merge,publish,distribute,sublicense, *and/orsellcopiesoftheSoftware,andtopermitpersonstowhomthe *isfurnisheddosototheconditions: * *Theabovecopyrightnoticeandthispermissionnoticeshallbeincludedin *allcopiesorsubstantialportionsoftheSoftware. * *THESOFTWAREISPROVIDED"ASIS",WITHOUTWARRANTYOFANYKIND,EXPRESSOR *IMPLIED,INCLUDINGBUTNOTLIMITEDTOTHEWARRANTIESOFMERCHANTABILITY, *FITNESSFORAPARTICULARPURPOSEANDNONINFRINGEMENT.INNOEVENTSHALL *THECOPYRIGHTHOLDER(S)ORAUTHOR(S)BELIABLEFORANYCLAIM,DAMAGESOR *OTHER,ANACTIONOFCONTRACT,TORT OTHERWISE *ARISINGFROM,OUTOFORINCONNECTIONWITHTHESOFTWAREORTHEUSEOR *OTHERDEALINGSINTHESOFTWARE.
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2 *Authors:AMD *
*/
#ifndef DMUB_CMD_H #define DMUB_CMD_H
#include <asm SET_ABM_PIPE_IMMEDIATELY_DISABLE255
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0 #nclude <linux/string.h> #include <linux/delay.h>
#include"atomfirmware.h"
//<DMUB_TYPES>================================================================== /* Basic type definitions. */
/** *FlagfromdrivertoindicatethatABMshouldbedisabledimmediately *andjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/ #define SET_ABM_PIPE_IMMEDIATELY_DISABLE 255
/** *Flagjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 andkeepthecurrentbacklightprogrammingandpixelcompensation.
*/ #define java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 3
/** /* Maximum number of SubVP streams */
*/ #define SET_ABM_PIPE_NORMAL 1
/** *Numberjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/ #define java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0
/* Maximum number of SubVP streams */ #define DMUB_MAX_SUBVP_STREAMS 2
/* Define max FPO streams as 4 for now. Current implementation today *onlysupports1,butcouldjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 *sizetoensurethe#efineDMUB_CMD_PSR_CONTROL_VERSION_UNKNOWN0x0 *addingnewfields.
*/
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
/* Define to ensure that the "common" members always appear in the same *orderindifferentstructsforbackcompatpurposes
*/ #define COMMON_STREAM_STATIC_SUB_STATE \ struct dmub_fams2_cmd_legacy_stream_static_state legacy; \ struct structunsignedintabm_enabled ;
/* Maximum number of streams on any ASIC. */ #define DMUB_MAX_STREAMS 6/
/* Maximum number of planes on any ASIC. */ #define java.lang.StringIndexOutOfBoundsException: Range [0, 23) out of bounds for length 5
/* Maximum number of phantom planes on any ASIC */
d (DMUB_MAX_PLANES 2java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
/* Trace buffer offset for entry */ #define TRACE_BUFFER_ENTRY_OFFSET 16
/** * *PSRcontrolversionlegacy
*/ #define DMUB_CMD_PSR_CONTROL_VERSION_UNKNOWN 0x0 /** *PSRcontrolversionwithmultiedpsupport
*/ #define java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 5
/** *ABMcontrolversionwithmultiedpsupport
*/ #define DMUB_CMD_ABM_CONTROL_VERSION_1intfractional_pwm : 1java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
/** *Physicalframebufferaddresslocation,64-bit.
*/ #ifndef PHYSICAL_ADDRESS_LOC #unsignedintjava.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 41 #endif
/** *OS/FWagnosticmemcpy
*/ #ifndef dmub_memcpy #define dmub_memcpy(java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0 #endif
/** *OS/FWagnosticmemset
i #definejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 #ndif
java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 17 struct /** *@abm_enabled:IndicatesifABMisenabled.
*/ unsignedint abm_enabled : 1;
/** *@disable_abm_immediately:IndicatesifdriverhasrequestedABMtobedisabledimmediately.
*/ unsignedint disable_abm_immediately : g* @:Current actual backlightconverging leveljava.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88
/** *@fractional_pwm
*/
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/** *@:Indicatesifjava.lang.StringIndexOutOfBoundsException: Range [74, 55) out of bounds for length 84 *ofuserbacklightlevel.
*/ unsigned {
/** *@abm_new_frame:Indicatesifanewframejava.lang.StringIndexOutOfBoundsException: Range [0, 52) out of bounds for length 33
*/ unsignedint abm_new_frame : 1;
/** *UseHWLockMgruint32_tforce_link_power_on:1java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
*/
uint32_t use_hw_lock_mgr : 1;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
restore.
*/
uint32_t java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 17
/** *java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 56
*/ union replay_debug_flags { struct { /** *0x1(bit0) visualconfirminFW.
*/
uint32_t visual_confirm : 1;
/** *0x20(it5java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17 *@skip_crtc_disabled:CRTCdisableskipped
*/
uint32_t skip_crtc_disabled : 1;
/** *0b 10java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19 *@enable_ips_visual_confirm:EnableIPS*02(bit1StateTransitionflag. Ifwe,theconfirmbarchangeto
*/
uint32_t enable_ips_visual_confirm : 1;
/** *Flagsrecorderrorstate.
*/ union replay_visual_confirm_error_state_flags { struct { /** *0x1(bit0)-DesyncErrorjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 5
*/
uint32_t desync_error : 1;
/** *0x8(bit3java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
*/
uint32_t reserved_3* isjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
/* *@smu_optimizations_en:SMUpoweroptimization. anddisplayentersjava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74 *TriggerinterrupttoSMUtojava.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 13
*/
uint32_t
_ current power state
*/
link_power_state : 1java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32 /** *Usejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/
uint32_t force_wakeup_by_tps3 : 1; /** *@is_alpm_initialized:IndicateswhetherALPMisinitialized
*/
uint32_t is_alpm_initialized : 1;
uint8_t replay_supported;
uint8_t replay_reserved[3] fjava.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 48
uint8_t * @dal_fw: 1 if the firmware is
sjava.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 63
//============================================================================== //</DMUB_TYPES>================================================================= //============================================================================== //< DMUB_META>================================================================== //============================================================================== #pragmapack(push,java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 62
/* Magic value for identifying dmub_fw_meta_info */ #define DMUB_FW_META_MAGIC 0x444D5542
/* Offset from the end of the file to the dmub_fw_meta_info */ #define DMUB_FW_META_OFFSET 0x24
/** *uniondmub_fw_meta_feature_bits-java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/ union dmub_fw_meta_feature_bits { struct {
uint32_t shared_state_link_detection : 1; /**< 1 supports link detection via shared state */
uint32_t reserved : 31;
} bits /**< status bits */
uint32_t ;/**< 32-bit access to status bits */
};
/** *structdmub_fw_meta_info-metadatajava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 17 * *NOTE:This//==================================================#fdefined&() *notberepurposedorreordered.Newfieldsshouldbe *addedinsteadtoextendthestructure. * *@magic_value:magicvalueidentifyingDMUBfirmwaremetainfo *@ SCRATCH5: LVTMA oftheregion *@fw_version:thefirmwareversioninformation *@dal_fw:1 *@shared_state_size:sizeoftheshared* union dmub_fw_boot_status - Status bit definitionsjava.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67 *@shared_state_features:numberofsharedstateuint32_tmailbox_rdy:1;/**< 1 if mailbox ready */
*/ struct dmub_fw_meta_infouint32_t : /**< if detection need to be triggered by driver */
uint32_t magic_value; /**< magic value identifying DMUB firmware meta info */
uint32_t fw_region_size; /**< size of the firmware state region */
uint32_t trace_buffer_size; /**< size of the tracebuffer region */
uint32_t fw_version; /**< the firmware version information */
uint8_t dal_fw; /**< 1 if the firmware is DAL */
uint8_t reserved[3]; /**< padding bits */
uint32_t shared_state_size; /**< size of the shared state region in bytes */
uint16_t shared_state_features; /**< number of shared state features */
uint16_t reserved2; /**< padding bytes */ union dmub_fw_meta_feature_bitsfeature_bits;/**< static feature bits */
};
/** *uniondmub_fw_meta-ensuresthatdmub_fw_meta_inforemains641<)/**< 1 if driver should call restore */
*/ union dmub_fw_meta { struct dmub_fw_meta_info info; /**< metadata info */
uint8_t reserved[64]; /**< padding bits */
};
struct,
dmub_trace_code_t trace_code; /**< trace code for the event */
uint32_t tick_count; /**< the tick count at time of trace */
uint32_t param0; /**< trace defined parameter 0 */
uint32_t param1; /**< trace defined parameter 1 */
}; #endif
/** *scratchcantostatus. *Currentscratchregister}java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2 * *SCRATCH0:FWBoot#define DMUB_IPS1_COMMIT_MASK *SCRATCH5:dmub_ips_comand_typejava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27 *SCRATCH15:FWBootOptionsregister
*/
/** *java.lang.StringIndexOutOfBoundsException: Range [33, 29) out of bounds for length 34
*/ union dmub_fw_boot_status { struct {
uint32_t dal_fw : 1; /**< 1 if DAL FW */
:1;/**< 1 if optimized init done */
uint32_t restore_required : 1;
uint32_t
fams_enabled
uint32_t detection_required: 1; /**< if detection need to be triggered by driver */
uint32_t hw_power_init_done: 1; / uniondmub_fw_boot_options {
} bits; /**< status bits */
uint32_t all; /**< 32-bit access to status bits */
;
/** *enumdmub_fw_boot_status_bit-EnumbitdefinitionsforSCRATCH0.
*/ enum dmub_fw_boot_status_bit {
DMUB_FW_BOOT_STATUS_BIT_DAL_FIRMWARE = (1 disable_clk_gate: 1; /**< 1 if clock gating should be disabled */
DMUB_FW_BOOT_STATUS_BIT_MAILBOX_READY = : 1/**< 1 to skip panel init seq */
< 2)/** init done *java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
DMUB_FW_BOOT_STATUS_BIT_RESTORE_REQUIRED < 3) /**< 1 if driver should call restore */
DMUB_FW_BOOT_STATUS_BIT_DEFERRED_LOADED = (1 < uint32_t invalid_vbios_data: 1;java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
DMUB_FW_BOOT_STATUS_BIT_FAMS_ENABLED = (1 << 5), /**< 1 if FAMS is enabled*/
DMUB_FW_BOOT_STATUS_BIT_DETECTION_REQUIRED = (1 << 6), /**< 1 if detection need to be triggered by driver*/
DMUB_FW_BOOT_STATUS_BIT_HW_POWER_INIT_DONE = (1 << 7), /**< 1 if hw power init is completed */
DMUB_FW_BOOT_STATUS_BIT_ONO_REGIONS_ENABLED;
};
/* Register bit definition for SCRATCH5 */ */ unionenable_non_transparent_setconfig: 1/* 1 if dpia use conventional dp lt flow*/ struct {
enum dmub_ips_in_vpb_disable_type {
DMUB_IPS_VPB_RCG_ONLY java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
DMUB_IPS_VPB_DISABLE_ALL = 1,
DMUB_IPS_VPB_ENABLE_IPS1_AND_RCG = 2,
DMUB_IPS_VPB_ENABLE_ALL 3/ Enable IPS1 Z8, IPS1 and RCG
};
#define DMUB_IPS1_ALLOW_MASK 0x00000001 #define DMUB_IPS2_ALLOW_MASK 0x00000002
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 40 #define DMUB_IPS2_COMMIT_MASK 0x00000008
enum dmub_ips_comand_type { /** *Start/stopIPS*describedjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
*/
DMUB_CMD__IPS_RESIDENCY_CNTL = 0, /** *QueryIPSresidencyinformationforagivenIPSmode
*/
DMUB_CMD__IPS_QUERY_RESIDENCY_INFO = 1,
};
/** *uniondmub_fw_boot_options-BootoptiondefinitionsforSCRATCH14
*/ union dmub_fw_boot_options { struct {
uint32_t pemu_env : 1; /**< 1 if PEMU */
uint32_t fpga_env : 1; /**< 1 if FPGA */
uint32_t optimized_init : 1; /**< 1 if optimized init */
uint32_t skip_phy_access : 1; /**< 1 if PHY access should be skipped */
uint32_t disable_clk_gate: 1; /**< 1 if clock gating should be disabled */
uint32_t skip_phy_init_panel_sequence: 1; /**< 1 to skip panel init seq */
uint32_t z10_disable: 1; /**< 1 to disable z10 */
uint32_t enable_dpia: 1; /**< 1 if DPIA should be enabled */ struct - forIPS
uint32_t dpia_supported: 1; /**< 1 if DPIA is supported on this platform */
/**< 1 if all root clock gating is enabled and low power memory is enabled*/
uint32_t power_optimization: 1;
uint32_t diag_env: 1; /* 1 if diagnostic environment */
uint32_t gpint_scratch8: 1; /* 1 if GPINT is in scratch8*/
uint32_t usb4_cm_version: 1; /**< 1 CM support */
uint32_tdpia_hpd_int_enable_supported; /* 1 if dpia hpd int enable supported */
uint32_t enable_non_transparent_setconfig: 1; /* 1 if dpia use conventional dp lt flow*/
uint32_t disable_clk_ds: 1; /* 1 if disallow dispclk_ds and dppclk_ds*/
uint32_t disable_timeout_recoveryjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
uint32_tips_pg_disable ;
uint32_t ips_disable: 3; /* options to disable ips support*/
uint32_t ips_sequential_ono: 1; /**< 1 to enable sequential ONO IPS sequence */
uint32_t disable_sldo_opt: 1; /**< 1 to disable SLDO optimizations */
uint32_t lower_hbr3_phy_ssc: 1; /**< 1 to lower hbr3 phy ssc to 0.125 percent */
uint32_t reserved : 6; /**< reserved */
} bits; /**< boot bits */
uint32_t all; /**< 32-bit access to bits */
};
enum dmub_fw_boot_options_bit {
DMUB_FW_BOOT_OPTION_BIT_PEMU_ENV = (1 << 0), /**< 1 if PEMU */
DMUB_FW_BOOT_OPTION_BIT_FPGA_ENV = (1 << 1), /**< 1 if FPGA */
DMUB_FW_BOOT_OPTION_BIT_OPTIMIZED_INIT_DONE = (1 << 2), allow_idle1;/**< 1 if driver is allowing idle */
};
/** *java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 52 *insituationswherethe; * *Eachstructure*must*beat*Version *describedbelow: * *[Header(256Bytes)][Feature1java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
*/
/** *enumdmub_shared_state_feature_id-Listofsharedstatefeatures.
*/
java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 56
_ =0,
DMUB_SHARED_SHARE_FEATURE__IPS_FW = 1,
DMUB_SHARED_SHARE_FEATURE__IPS_DRIVER = 2,
DMUB_SHARED_SHARE_FEATURE__DEBUG_SETUP = 3,
DMUB_SHARED_STATE_FEATURE__LAST, /* Total number of features. */
};] /**< Reversed, to be updated when adding new fields. */
/** *struct*IPS
*/ union dmub_shared_state_ips_fw_signals { struct {
int32_t ips1_commit : 1; /**< 1 if in IPS1 or IPS0 RCG */
uint32_t ips2_commit : 1; /**< 1 if in IPS2 */
uint32_t in_idle : 1; /**< 1 if DMCUB is in idle */
uint32_t detection_required : 1; /**< 1 if detection is required */
uint32_t ips1z8_commit: 1; /**< 1 if in IPS1 Z8 Retention */
uint32_t reserved_bits : 27; /**< Reversed */
} bits;
}; /* 248 *java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
};
/** *structdmub_shared_state_ips_signals-Firmwaresignalsstruct{
*/ union enum dmub_shared_state_feature_header description. struct {
uint32_tstruct {
uint32_t allow_ips1 : 1; /**< 1 is IPS1 is allowed */
uint32_t allow_ips2 : 1; /**< 1 is IPS1 is allowed */
uint32_t allow_z10 : 1; /**< 1 if Z10 is allowed */
uint32_tallow_idle: 1;;
uint32_t allow_ips0_rcg : 1; /**< 1 is IPS0 RCG is allowed */ version
uint32_t allow_ips1_rcg : 1; /**< 1 is IPS1 RCG is allowed */
uint32_t allow_ips1z8 : 1; /**< 1 is IPS1 Z8 Retention is allowed */
uint32_t allow_dynamic_ips1 : 1; /**< 1 if IPS1 is allowed in dynamic use cases such as VPB */
uint32_tallow_dynamic_ips1_z8: 1;/
uint32_t reserved_bits : 22; /**< Reversed bits */
}bits;
uint32_t all;
};
/** *DESC:GetREPLAYstatefromFW. *RETURN:REPLAYstateenum.This*DESCjava.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 66
*/
DMUB_GPINT__GET_REPLAY_STATE = 13,
/** *java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 66 *ARGS:Wecanmeasureresidencyfromvariouspoints.Theargumentwillspecifytheresidencymode. *Bydefault,itismeasuredfromafterwepowerdownthePHY,tojustbeforewepowerupthePHY. *RETURN:REPLAYresidencyinmilli-percent.
*/
DMUB_GPINT__REPLAY_RESIDENCY = 14,
/** *DESC:GetsIPS1_ONO2_ONhistogramcounts *ARGS:Bucketindex
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/
DMUB_GPINT__GET_IPS1_ONO2_ON_HISTOGRAM_COUNTER = 129,
/* NOTE: Must be have enough bits to match: enum hw_lock_client */
uint32_t hw_lock_client: 2;
/* NOTE: Below fields must match with: struct dmub_hw_lock_inst_flags */
uint32_t otg_inst: 3;
uint32_t opp_inst: 3;
uint32_t dig_inst: 3;
/* NOTE: Below fields must match with: union dmub_hw_lock_flags */
uint32_t lock_pipe: 1;
uint32_t lock_cursor: 1;
lock_dig: 1;
uint32_t java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 9
uint32_t lock: 1; /**< Lock */
uint32_t should_release:java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
uint32_t reserved: /
}bits
uint32_t all;
};
union dmub_inbox0_data_register uint32_t command_code: 8; union dmub_inbox0_cmd_common inbox0_cmd_common; union dmub_inbox0_cmd_lock_hw inbox0_cmd_lock_hw;
};
/** *java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 4
*/
DMUB_CMD__IDLE_OPT = 72, /** *Commandusedforallclockmanagercommands.
*/
DMUB_CMD__CLK_MGR = 73, /** *Commandtypeusedforallpanelcontrolcommands.
*/
java.lang.StringIndexOutOfBoundsException: Range [26, 21) out of bounds for length 27
/** *structdmub_cmd_reg_wait_data-Registerwaitdata
*/ struct dmub_cmd_reg_wait_data {
uint32_t addr; /**< Register address */
uint32_t mask; /**< Mask for register bits */
uint32_t condition_field_value; /**< Value to wait for */
uint32_t time_out_us; /**< Time out for reg wait in microseconds */
};
/** *structdmub_rb_cmd_cab-CABcommanddata.
*/ struct dmub_rb_cmd_cab_for_ss { struct dmub_cmd_header header;
uint8_t cab_alloc_ways; /* total number of ways */
uint8_t debug_bits; /* debug bits */
};
/** *Enumjava.lang.StringIndexOutOfBoundsException: Range [0, 11) out of bounds for length 0
*/ enum mclk_switch_mode {
NONE = 0,
FPO = 1,
SUBVP = 2,
VBLANK = 3,
};
/* Per pipe struct which stores the MCLK switch mode *datatobesenttoDMUB. *Named"v2"fornow--onceFPOandSUBVParefullymerged *thetypenamecanbeupdated
*/ struct dmub_cmd_fw_assisted_mclk_switch_pipe_data_v2 { union { struct {
uint32_t pix_clk_100hz;
uint16_t main_vblank_start;
uint16_t main_vblank_end;
uint16_t mall_region_lines;
uint16_t prefetch_lines;
uint16_t prefetch_to_mall_start_lines;
uint16_t processing_delay_lines;
uint16_t htotal; conversion programmingMALL_START_LINE (which is in terms
uint16_t vtotal;
uint8_t main_pipe_index;
uint8_t phantom_pipe_index; /* Since the microschedule is calculated in terms of OTG lines,iscalculatedtermslines, *includeanyscalingfactorstomakesurewhenwegetaccurate *conversionwhenprogrammingMALL_START_LINE(whichisinterms *ofHUBPlines).If4Kisbeingdownscaledto1080p,scalefactor
*/
uint8_t scale_factor_numerator;
uint8_t scale_factor_denominator;
uint8_t is_drr;
uint8_t main_split_pipe_index;
uint8_t phantom_split_pipe_indexjava.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 19
} subvp_data;
struct {
uint16_t vblank_start;
uint16_t vblank_end;
uint16_t vstartup_start;
uint16_t vtotal;
uint16_t htotal;
uint8_t vblank_pipe_index;
uint8_t padding[1]; struct {
uint8_t drr_in_use;
uint8_t drr_window_size_ms; // Indicates largest VMIN/VMAX adjustment per frame
uint16_t min_vtotal_supported; // Min VTOTAL that supports switching in VBLANK
uint16_t max_vtotal_supported; // Max VTOTAL that can support SubVP static scheduling
uint8_t use_ramping; // Use ramping or not
uint8_t drr_vblank_start_margin;
} drr_info; // DRR considered as part of SubVP + VBLANK case
} vblank_data;
} pipe_config;
/* - subvp_data in the union (pipe_config) takes up 27 bytes. *-Makethe"mode"fieldauint8_tinsteadofenumsoweonlyuse1byte(only *fortheDMCUBcommand,casttoenumoncewepopulatetheDMCUBsubvpstate).
*/
uint8_t mode; // enum mclk_switch_mode
;
struct dmub_cmd_lsdma_data { union {
dst_addr_hijava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 union dmub_addr gpu_addr_base;
uint32_t ring_size;
} init_data; struct lsdma_tiled_copy_data {
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
uint32_t src_addr_hi;
uint32_t dst_addr_lo;
uint32_t dst_addr_hi;
struct dmub_optc_state_v2 {
uint32_t v_total_min;
uint32_t v_total_max;
java.lang.StringIndexOutOfBoundsException: Range [21, 9) out of bounds for length 22
uint32_t v_total_mid_frame_num;
uint8_t program_manual_trigger;
uint8_t tg_inst;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 4
};
struct dmub_fams2_cmd_subvp_stream_static_state {
uint16_t vratio_numerator;
uint16_t vratio_denominator;
uint16_t phantom_vtotal;
uint16_t phantom_vactive;
uint16_t programming_delay_otg_vlines;
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 7 union { struct {
uint8_t is_multi_planar : 1;
uint8_t is_yuv420 : 1;
} bits;
uint8_t all;
} config;
uint8_t phantom_otg_inst;
uint8_t phantom_pipe_mask;
uint8_t pad0;
uint8_t phantom_plane_pipe_masks[DMUB_MAX_PHANTOM_PLANES]; // phantom pipe mask per plane (for flip passthrough)
java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 45
}; //v1
struct java.lang.StringIndexOutOfBoundsException: Range [0, 45) out of bounds for length 29
uint16_t nom_stretched_vtotal;
uint16_t programming_delay_otg_vlines;
uint8_t only_stretch_if_required;
uint8_t pad[3];
}; //v1
union dmub_fams2_stream_static_sub_state { struct dmub_fams2_legacy_stream_static_state legacy; struct dmub_fams2_subvp_stream_static_state // time to budget for contention on execution struct dmub_fams2_drr_stream_static_state drr;
}; //v0
union dmub_fams2_cmd_stream_static_sub_state {
COMMON_STREAM_STATIC_SUB_STATE
}; //v1
union dmub_fams2_stream_static_sub_state_v2 {
COMMON_STREAM_STATIC_SUB_STATE;
}; //v2
struct dmub_fams2_stream_static_state { enum fams2_stream_type type;
uint32_t otg_vline_time_ns;
uint32_t otg_vline_time_ticks;
uint16_t htotal;
uint16_t vtotal; // nominal vtotal
uint16_t vblank_start;
uint16_t vblank_end;
uint16_t max_vtotal;
uint16_t allow_start_otg_vline;
uint16_t allow_end_otg_vline;
uint16_t drr_keepout_otg_vline; // after this vline, vtotal cannot be changed
uint8_t scheduling_delay_otg_vlines; // min time to budget for ready to microschedule start
uint8_t contention_delay_otg_vlines; // time to budget for contention on execution
uint8_t vline_int_ack_delay_otg_vlines; // min time to budget for vertical interrupt firing
union { struct {
uint8_t is_drr: }bits;
uint8_t clamp_vtotal_min: 1; // clamp vtotal to min instead of nominal
uint8_t min_ttu_vblank_usable: 1; // if min ttu vblank is above wm, no force pstate is needed in blank
} bits;
uint8_t all;
} config;
uint8_t otg_inst;
uint8_t pipe_mask; // pipe mask for the whole config
uint8_t num_planes;
uint8_t plane_pipe_masks[DMUB_MAX_PLANESjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
uint8_t pad[4 - (DMUB_MAX_PLANES % 4)]; union dmub_fams2_stream_static_sub_state sub_state;
}; //v0
struct dmub_fams2_cmd_stream_static_base_state { enum fams2_stream_type type;
uint32_t otg_vline_time_ns;
uint32_t otg_vline_time_ticks
uint16_t htotal;
uint16_t vtotal; // nominal vtotal
uint16_t vblank_start;
uint16_t vblank_end;
uint16_t max_vtotal;
uint16_t allow_start_otg_vline;
uint16_t allow_end_otg_vline;
uint16_t drr_keepout_otg_vline; // after this vline, vtotal cannot be changed
uint16_t scheduling_delay_otg_vlines; // min time to budget for ready to microschedule start
uint16_t contention_delay_otg_vlines;
uint16_t vline_int_ack_delay_otg_vlines; // min time to budget for vertical interrupt firing
uint16_t allow_to_target_delay_otg_vlines; // time from allow vline to target vline union { struct {
uint8_t is_drr : 1; // stream is DRR enabled
uint8_t clamp_vtotal_min : 1; // clamp vtotal to min instead of nominal
uint8_t min_ttu_vblank_usable : 1; // if min ttu vblank is above wm, no force pstate is needed in blank
} bits;
uint8_t all;
} config;
uint8_t otg_inst;
uint8_t pipe_mask; // pipe mask for the whole config
uint8_t num_planes;
uint8_t plane_pipe_masks[DMUB_MAX_PLANES]; // pipe mask per plane (for flip passthrough)
struct dmub_cmd_fams2_global_config {
uint32_t max_allow_delay_us; // max delay to assert allow from uclk change begin
uint32_t lock_wait_time_us; // time to forecast acquisition of lock
uint32_t num_streams; union dmub_fams2_global_feature_config
uint32_t recovery_timeout_us;
uint32_t hwfq_flip_programming_delay_us;
};
union dmub_cmd_fams2_config { struct dmub_cmd_fams2_global_config global; struct dmub_fams2_stream_static_state stream; //v0 union { struct dmub_fams2_cmd_stream_static_base_state base; union dmub_fams2_cmd_stream_static_sub_state sub_state;
} stream_v1; //v1
};
/** *structdmub_rb_cmd_dig1_transmitter_control-Transmittercontrolcommand.
*/ struct struct dmub_cmd_header header struct union dmub_cmd_dig1_transmitter_control_datatransmitter_control; union java.lang.StringIndexOutOfBoundsException: Range [0, 45) out of bounds for length 2
};
/** *structdmub_rb_cmd_domain_control_data-DataforDOMAINpowercontrol
*/ struct dmub_rb_cmd_domain_control_data {
uint8_t inst : 6; /**< DOMAIN instance to control */
: 1;/*<1=ower, 0=power up *
uint8_t reserved[3]; /**< Reserved for future use */
};
/** *DatapassedfromdrivertoFWinaDMUB_CMD__DPIA_MST_ALLOC_SLOTScommand.
*/ struct dmub_cmd_mst_alloc_slots_control_data {
uint8_t mst_alloc_slots; /* mst slots to be allotted */
uint8_t instance; /* DPIA instance */
uint8_t immed_status; /* Immediate status returned as there is no outbox msg posted */
uint8_t mst_slots_in_use; /* returns slots in use for error cases */
};
/** *enumdp_aux_request_action-DPAUXrequestcommandlisting. * *4AUXrequestcommandbitsareshiftedtohighnibble.
*/ enum enum aux_return_code_type java.lang.StringIndexOutOfBoundsException: Range [57, 45) out of bounds for length 66
DP_AUX_REQ_ACTION_I2C_WRITE = 0x00, /** I2C-over-AUX read request */
DP_AUX_REQ_ACTION_I2C_READ = 0x10, /** I2C-over-AUX write status request */
DP_AUX_REQ_ACTION_I2C_STATUS_REQ = 0x20, /** I2C-over-AUX write request with MOT=1 */
DP_AUX_REQ_ACTION_I2C_WRITE_MOT = 0x40, /** I2C-over-AUX read request with MOT=1 */
DP_AUX_REQ_ACTION_I2C_READ_MOT =0x50java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40 /** I2C-over-AUX write status request with MOT=1 */
DP_AUX_REQ_ACTION_I2C_STATUS_REQ_MOT /** Native AUX write request */
DP_AUX_REQ_ACTION_DPCD_WRITE = 0x80, /** Native AUX read request */
DP_AUX_REQ_ACTION_DPCD_READ = 0x90
};
/** *enumaux_return_code_type-DPAUXprocessreturncodelisting.
*/ enum aux_return_code_type { /** AUX process succeeded */
AUX_RET_SUCCESS = 0, /** AUX process failed with unknown reason */
AUX_RET_ERROR_UNKNOWN, /** AUX process completed with invalid reply */
AUX_RET_ERROR_INVALID_REPLY, /** AUX process timed out */
AUX_RET_ERROR_TIMEOUT, /** HPD was low during AUX process */
AUX_RET_ERROR_HPD_DISCON, /** Failed to acquire AUX engine */
AUX_RET_ERROR_ENGINE_ACQUIRE, /** AUX request not supported */
AUX_RET_ERROR_INVALID_OPERATION /** AUX process not available */
AUX_RET_ERROR_PROTOCOL_ERROR,
};
/** *enumaux_channel_type-DPAUXchanneltypelisting.
*/ enum aux_channel_type { /** AUX thru Legacy DP AUX */
AUX_CHANNEL_LEGACY_DDC, /** AUX thru DPIA DP tunneling */
AUX_CHANNEL_DPIA
};
/** *structaux_transaction_parameters-DPAUXrequesttransactiondata
*/ struct aux_transaction_parameters {
uint8_t is_i2c_over_aux; /**< 0=native AUX, 1=I2C-over-AUX */
uint8_t action; /**< enum dp_aux_request_action */
uint8_t length; /**< DP AUX request data length */
uint8_t reserved; /**< For future use */
uint32_t address; /**< DP AUX address */
uint8_t data[16]; /**< DP AUX write data */
};
/** *DatapassedfromdrivertoFWinaDMUB_CMD__DP_AUX_ACCESScommand.
*/ struct struct aux_transaction_parameters dpaux; /**< struct aux_transaction_parameters */
uint8_t instance; /**< AUX instance or DPIA instance */
uint8_t manual_acq_rel_enable; /**< manual control for acquiring or releasing AUX channel */
uint8_t sw_crc_enabled; /**< Use software CRC for tunneling packet instead of hardware CRC */
uint8_t reserved0; /**< For future use */
uint16_t timeout; /**< timeout time in us */
uint16_t reserved1; /**< For future use */ enum aux_channel_type java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 4 struct aux_transaction_parameters dpaux; /**< struct aux_transaction_parameters */
};
/** *DefinitionofaDPIAnotificationpayload
*/ struct dpia_notification_payload { struct dpia_notification_header header; unionjava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 74
};
/**DPIANotification commondatastruct java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/ struct/**
struct dmub_cmd_header header; /**< DPIA notification header */ struct dpia_notification_payload payload; /**< DPIA notification payload */
};
/** *DatapassedfromdrivertoFWinaDMUB_CMD__QUERY_HPD_STATEcommand.
*/ struct dmub_cmd_hpd_state_query_data {
uint8_t instance; /**< HPD instance or DPIA instance */
uint8_t result; /**< For returning HPD state */
uint16_t pad; /** < Alignment */ enum aux_channel_type ch_type; /**< enum aux_channel_type */ enum aux_return_code_type status; /**< for returning the status of command */
};
structdmub_rb_cmd_hpd_sense_notify_data{
uint32_t old_hpd_sense_mask; /**< Old HPD sense mask */
uint32_t new_hpd_sense_mask; /**< New HPD sense mask */
}
/** *SetPSRlevel. *PSRlevelisa16-bitvaluedicatedbydriverthat *willenable/disabledifferentfunctionality.
*/
DMUB_CMD__PSR_SET_LEVEL = *java.lang.StringIndexOutOfBoundsException: Range [58, 10) out of bounds for length 58
/** *Forces*java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/
DMUB_CMD__PSR_FORCE_STATIC = 5, /** *SetvtotalinpsractiveforFreeSyncPSR.
*/
DMUB_CMD__SET_SINK_VTOTAL_IN_PSR_ACTIVE = 6, /** *SetPSRpoweroption
*/
DMUB_CMD__SET_PSR_POWER_OPT = 7,
};
/** *DifferentPSRresidencymodes. changedefinitionPSRresidency.
*/ enum {
PSR_RESIDENCY_MODE_PHY = 0,
PSR_RESIDENCY_MODE_ALPM,
PSR_RESIDENCY_MODE_ENABLEMENT_PERIOD, /* Do not add below. */
PSR_RESIDENCY_MODE_LAST_ELEMENT,
};
enum java.lang.StringIndexOutOfBoundsException: Range [23, 21) out of bounds for length 26
DMUB_CMD__FAMS_SETUP_FW_CTRL = 0,
java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 3
DMUB_CMD__HANDLE_SUBVP_CMD = 2, // specifically for SubVP cmd /** *ForSubVPsetmanualtriggerinFWbecauseit *triggersDRR_UPDATE_PENDINGwhichSubVPrelies *on(foranySubVPcasesthatuseaDRRdisplay)
*/
DMUB_CMD__FAMS_SET_MANUAL_TRIGGER = 3,
DMUB_CMD__FAMS2_CONFIG = 4,
DMUB_CMD__FAMS2_DRR_UPDATE 0FF // psr_version field is only 8 bits wide
DMUB_CMD__FAMS2_FLIP = 6,
DMUB_CMD__FAMS2_IB_CONFIG = 7,
};
struct dmub_cmd_psr_force_static_data { /** *PSRcontrolversion.
*/
uint8_t cmd_version; /** *PanelInstance. *Paneljava.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 3 *Currentlythesupportisonlyfor0or1
*/
uint8_t panel_inst; /** *Explicitpaddingto4byteboundary.
*/
uint8_t pad[2];
};
/** *Definitionofa * PSR version that FW should.
*/ struct dmub_rb_cmd_psr_force_static { /** *Commandheader.
*/ struct dmub_cmd_header header; /** *DatapassedfromdrivertoFWinajava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 21
*/
uint8_t /** *DeterminesifSMUoptimzationsareenabled/disabled.
*/
uint8_t /** *Determinesiftimingsyncareenabled/disabled.
*/
uint8_t Datapasseddriver in DMUB_CMD__SET_SINK_VTOTAL_IN_PSR_ACTIVEjava.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86 /* *UseFSMstateforReplaypowerup/down
*/
uint8_t use_phy_fsm; /** *UseforAUX-lessALPMLFPSwakeoperation
*/ struct dmub_alpm_auxless_data auxless_alpm_data;
/** *@hpo_stream_enc_inst:HPOstreamencoderinstance
*/
uint8_t hpo_stream_enc_inst; /** *@hpo_link_enc_inst:HPOlinkencoderuint8_tpanel_inst;
*/
uint8_t hpo_link_enc_inst; /** *Determinesiffastinultraisenabled/isabled.
*/
uint8_t replay_support_fast_resync_in_ultra_sleep_mode; /** *@pad:Alignstructureto4byte*java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
*/
java.lang.StringIndexOutOfBoundsException: Range [12, 8) out of bounds for length 16
};
/** *Definition*java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/ struct dmub_rb_cmd_replay_copy_settings /** *Commandheader.
*/ struct dmub_cmd_header header; /** *DatapassedfromdrivertoFWinaDMUB_CMD__REPLAY_COPY_SETTINGScommand.
*/ struct dmub_cmd_replay_copy_settings_data replay_copy_settings_data;
};
/** *java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
*/ struct dmub_rb_cmd_replay_set_power_opt { /** *Commandheader.
*/ struct =java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48 /** *DefinitionofaDMUB_CMD__SET_REPLAY_POWER_OPTcommand.
*/ struct dmub_cmd_replay_set_power_opt_data replay_set_power_opt_data;
};
/** *DatapassedfromdrivertoFWinaDMUB_CMD__REPLAY_SET_COASTING_VTOTALcommandenabled
*/ struct dmub_cmd_replay_set_coasting_vtotal_data { /** *16-bitvaluedicatedbydriverthatindicatesthecoastingvtotal.
*/
uint16_t coasting_vtotal;
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
* REPLAY REPLAY_GENERAL_CMD_NOT_SUP =-1java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
*/
uint8_t cmd_version; /** *PanelInstance, java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 47 *Currentlythesupportisonlyfor0or1
*/
uint8_t panel_inst; /** *16-bitvaluedicatedbydriverthatindicatesthecoastingvtotalhighbytepart.
*/
uint16_t coasting_vtotal_high; /** *Explicitpaddingto4byteboundary.
*/
uint8_t pad[2];
};
/** *Definitionofajava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 4
*/ struct dmub_rb_cmd_replay_disabled_adaptive_sync_sdp { /** *Commandheader.
*/ struct dmub_cmd_header header; /** *DefinitionofDMUB_CMD__REPLAY_DISABLED_ADAPTIVE_SYNC_SDPcommand.
*/ struct dmub_cmd_replay_disabled_adaptive_sync_sdp_data datajava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
}
struct fixed_pt_format { /** *@sign_bit:Indicateswhetheronebitisreservedforthesign.
*/ bool sign_bit struct dmub_cmd_replay_frameupdate_timer_datadatajava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
/** *DatapassedfromdrivertoFWinajava.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 4
*/ struct dmub_cmd_abm_set_backlight_data { /** *Numberofframestoramptobacklightuserlevel.
*/
uint32_t frame_ramp;
/** java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
*/ struct dmub_rb_cmd_abm_set_level { /** *Commandheader.
*/ struct dmub_cmd_header header;
/** *DefinitionofaDMUB_CMD__ABM_INIT_CONFIGcommand.
*/ struct dmub_rb_cmd_abm_init_config { /** java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/ struct dmub_cmd_header header;
/** *enumdmub_abm_ace_curve_type-ACEcurvetype.
*/ enum java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 4 /** *ACEcurveasdefinedbytheSWlayer.
*/
ABM_ACE_CURVE_TYPE__SW = 0, /** *ACEcurveasdefinedbytheSWtoHWtranslationinterfacelayer.
*/
ABM_ACE_CURVE_TYPE__SW_IF = 1,
} Datapassedfrom driver to FW in a DMUB_CMD__ABM_SET_LEVEL command.
/** *enumdmub_abm_histogram_type-Histogramtype.
*/ enum dmub_abm_histogram_type /** /** *ACEcurveasdefinedbytheSWlayer.
*/
ABM_HISTOGRAM_TYPE__SW = java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 /** *ACEcurveasdefinedbytheSWtoHWtranslationinterfacelayer.
*/
ABM_HISTOGRAM_TYPE__SW_IF = 1,
};
/** *DefinitionofaDMUB_CMD__ABM_GET_ACE_CURVEcommand.
*/ struct dmub_rb_cmd_abm_get_ace_curve { /** *java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
*/ struct dmub_cmd_header header;
/** *RepresentachunkofCEAblockssenttoDMUBforparsing
*/ struct dmub_cmd_send_edid_cea {
uint16_t offset; /**< offset into the CEA block */
uint8_t length; /**< number of bytes in payload to copy as part of CEA block */
uint16_t cea_total_length; /**< total length of the CEA block */
uint8_t payload[DMUB_EDID_CEA_DATA_CHUNK_BYTES]; /**< data chunk of the CEA block */
uint8_t pad[3]; /**< padding and for future expansion */
};
/** *ResultofVSDBparsingfromCEAblock
*/ struct dmub_cmd_edid_cea_amd_vsdb {
uint8_t vsdb_found; /**< 1 if parsing has found valid AMD VSDB */
uint8_t freesync_supported; /**< 1 if Freesync is supported */
uint16_t amd_vsdb_version; /**< AMD VSDB version */
uint16_t min_frame_rate; /**< Maximum frame rate */
uint16_t max_frame_rate; /**< Minimum frame rate */
};
/** *ResultofsendingaCEAchunk
*/ struct dmub_cmd_edid_cea_ack {
uint16_t offset; /**< offset of the chunk into the CEA block */
uint8_t success; /**< 1 if this sending of chunk succeeded */
uint8_t pad; /**< padding and for future expansion */
};
/** *SpecifywhethertheresultisanACK/NACKortheparsinghasfinished
*/ enum dmub_cmd_edid_cea_reply_type {
DMUB_CMD__EDID_CEA_AMD_VSDB = 1, /**< VSDB parsing has finished */
DMUB_CMD__EDID_CEA_ACK = 2, /**< acknowledges the CEA sending is OK or failing */
};
/** *DefinitionofaDMUB_CMD__EDID_CEAcommand.
*/ struct dmub_rb_cmd_edid_cea { struct dmub_cmd_header header; /**< Command header */ union dmub_cmd_edid_cea_data { struct dmub_cmd_send_edid_cea input; /**< input to send CEA chunks */ struct dmub_cmd_edid_cea_output { /**< output with results */
uint8_t type; /**< dmub_cmd_edid_cea_reply_type */ union { struct dmub_cmd_edid_cea_amd_vsdb amd_vsdb; struct dmub_cmd_edid_cea_ack ack;
};
} output; /**< output to retrieve ACK/NACK or VSDB parsing results */
} data; /**< Command data */
};
/** *structdmub_cmd_cable_id_input-DefinestheinputofDMUB_CMD_GET_USBC_CABLE_IDcommand.
*/ struct dmub_abm_histogram_type histogram_type;
uint8_t phy_inst; /**< phy inst for cable id data */
};
/** *structdmub_cmd_cable_id_input-DefinestheoutputofDMUB_CMD_GET_USBC_CABLE_IDcommand.
*/ struct dmub_cmd_cable_id_output {
uint8_t UHBR10_20_CAPABILITY :2; /**< b'01 for UHBR10 support, b'10 for both UHBR10 and UHBR20 support */
uint8_t UHBR13_5_CAPABILITY :1; /**< b'1 for UHBR13.5 support */
uint8_t CABLE_TYPE :3; /**< b'01 for passive cable, b'10 for active LRD cable, b'11 for active retimer cable */
uint8_t RESERVED :2; /**< reserved means not defined */
};
/** *CommandtypeofaDMUB_CMD__SECURE_DISPLAYcommand
*/ enum dmub_cmd_secure_display_type {
DMUB_CMD__SECURE_DISPLAY_TEST_CMD = 0, /* test command to only check if inbox message works */
DMUB_CMD__SECURE_DISPLAY_CRC_STOP_UPDATE,
DMUB_CMD__SECURE_DISPLAY_CRC_WIN_NOTIFY,
DMUB_CMD__SECURE_DISPLAY_MULTIPLE_CRC_STOP_UPDATE,
DMUB_CMD__SECURE_DISPLAY_MULTIPLE_CRC_WIN_NOTIFY
};
struct dmub_cmd_roi_ctl_info {
uint8_t otg_id;
uint8_t phy_id; struct java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 4
};
/** *CommandtypeofaDMUB_CMD__PSPcommand
*/ enumdmub_cmd_psp_type java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
DMUB_CMD__PSP_ASSR_ENABLE = 0
};
/** *IPSresidencystatisticstobesenttodriver-subsetofstructjava.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 46
*/ struct dmub_ips_residency_info {
uint32_t residency_millipercent;
uint32_t entry_counter;
uint32_t histogram
uint64_t total_time_us;
uint64_t total_inactive_time_us;
};
DMUB_EDID_CEA_DATA_CHUNK_BYTES]; /**< data chunk of the CEA block */
* Data passed from driver to FW in a DMUB_CMD__IPS_RESIDENCY_CNTL command.
*/ struct dmub_cmd_ips_residency_cntl_data {
uint8_t panel_inst;
uint8_t start_measurement amd_vsdb_version /**< AMD VSDB version */
uint8_t padding2 // align to 4-byte boundary
};
/** inaDMUB_CMD__IPS_QUERY_RESIDENCY_INFOcommand.
*/ struct dmub_cmd_ips_query_residency_info_data {=,/**< acknowledgesthe CEA sending is OK or */ union dmub_addr dest;
uint32_t size;
uint32_t ips_mode;
uint8_t panel_inst;
uint8_t padding[3]; // align to 4-byte boundary
};
/** ofaDMUB_CMD__GET_VISUAL_CONFIRM_COLORcommand.
*/ struct dmub_rb_cmd_get_visual_confirm_color visual_confirm_color; struct java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42 struct dmub_rb_cmd_fw_assisted_mclk_switch fw_assisted_mclk_switch;
/** *Definitionofjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
*/ struct lvtma_control /** *DefinitionofaDMUB_CMD__VBIOS_TRANSMITTER_QUERY_DP_ALTcommand.
*/ struct dmub_rb_cmd_transmitter_query_dp_alt query_dp_alt; /** java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/ struct dmub_rb_cmd_transmitter_set_phy_fsm set_phy_fsm; /** *Definitionof
*/ struct java.lang.StringIndexOutOfBoundsException: Range [8, 37) out of bounds for length 4 /** *DefinitionofaDMUB_CMD__DPIA_SET_CONFIG_ACCESScommand.
*/ struct dmub_rb_cmd_set_config_access set_config_access; // (deprecated) /** *DefinitionofaDMUB_CMD__DPIA_SET_CONFIG_ACCESScommand.
*/ struct java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 4 /** *DefinitionofaDMUB_CMD__DPIA_MST_ALLOC_SLOTScommand.
*/ struct dmub_rb_cmd_set_mst_alloc_slots set_mst_alloc_slots; /** *DefinitionofaDMUB_CMD__DPIA_SET_TPS_NOTIFICATIONcommand.
*/ struct dmub_rb_cmd_set_tps_notification set_tps_notification; /** *DefinitionofaDMUB_CMD__EDID_CEAcommand.
*/ struct dmub_rb_cmd_edid_cea edid_cea; /** *DefinitionofaDMUB_CMD_GET_USBC_CABLE_IDcommand.
*/ struct dmub_rb_cmd_get_usbc_cable_id cable_id;
/** *DefinitionofaDMUB_CMD__QUERY_HPD_STATEcommand.
*/
java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 46 /** *DefinitionofaDMUB_CMD__SECURE_DISPLAYcommand.
*/ struct dmub_rb_cmd_secure_display secure_display;
/** *structdmub_rb_init_params-InitializationparamsforDMUBringbuffer
*/ struct dmub_rb_init_params { void *ctx; /**< Caller provided context pointer */ void *base_address; /**< CPU base address for ring's data */
uint32_t capacity; /**< Ringbuffer capacity in bytes */
uint32_t read_ptr; /**< Initial read pointer for consumer in bytes */
uint32_t write_ptr; /**< Initial write pointer for producer in bytes */
};
/** *structdmub_rb-InboxoroutboxDMUBringbuffer
*/ struct dmub_rb { void *base_address; /**< CPU address for the ring's data */
uint32_t rptr; /**< Read pointer for consumer in bytes */
uint32_t wrpt; /**< Write pointer for producer in bytes */
uint32_t capacity; /**< Ringbuffer capacity in bytes */
void *ctx; /**< Caller provided context pointer */ void *dmub; /**< Pointer to the DMUB interface */
};
¤ 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.810Bemerkung:
¤
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.