/* automatically generated by rust-bindgen 0.69.4 */ #[repr(C)] #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] pub struct __BindgenBitfieldUnit { storage: Storage, } impl __BindgenBitfieldUnit { #[inline] pub const fn new(storage: Storage) -> Self { Self { storage } } } impl __BindgenBitfieldUnit where Storage: AsRef<[u8]> + AsMut<[u8]>, { #[inline] pub fn get_bit(&self, index: usize) -> bool { debug_assert!(index / 8 < self.storage.as_ref().len()); let byte_index = index / 8; let byte = self.storage.as_ref()[byte_index]; let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; let mask = 1 << bit_index; byte & mask == mask } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { debug_assert!(index / 8 < self.storage.as_ref().len()); let byte_index = index / 8; let byte = &mut self.storage.as_mut()[byte_index]; let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; let mask = 1 << bit_index; if val { *byte |= mask; } else { *byte &= !mask; } } #[inline] pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { debug_assert!(bit_width <= 64); debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); let mut val = 0; for i in 0..(bit_width as usize) { if self.get_bit(i + bit_offset) { let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; val |= 1 << index; } } val } #[inline] pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { debug_assert!(bit_width <= 64); debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); for i in 0..(bit_width as usize) { let mask = 1 << i; let val_bit_is_set = val & mask == mask; let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; self.set_bit(index + bit_offset, val_bit_is_set); } } } pub const _STDINT_H: u32 = 1; pub const _FEATURES_H: u32 = 1; pub const _DEFAULT_SOURCE: u32 = 1; pub const __GLIBC_USE_ISOC2X: u32 = 0; pub const __USE_ISOC11: u32 = 1; pub const __USE_ISOC99: u32 = 1; pub const __USE_ISOC95: u32 = 1; pub const __USE_POSIX_IMPLICITLY: u32 = 1; pub const _POSIX_SOURCE: u32 = 1; pub const _POSIX_C_SOURCE: u32 = 200809; pub const __USE_POSIX: u32 = 1; pub const __USE_POSIX2: u32 = 1; pub const __USE_POSIX199309: u32 = 1; pub const __USE_POSIX199506: u32 = 1; pub const __USE_XOPEN2K: u32 = 1; pub const __USE_XOPEN2K8: u32 = 1; pub const _ATFILE_SOURCE: u32 = 1; pub const __WORDSIZE: u32 = 64; pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1; pub const __SYSCALL_WORDSIZE: u32 = 64; pub const __TIMESIZE: u32 = 64; pub const __USE_MISC: u32 = 1; pub const __USE_ATFILE: u32 = 1; pub const __USE_FORTIFY_LEVEL: u32 = 0; pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0; pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0; pub const _STDC_PREDEF_H: u32 = 1; pub const __STDC_IEC_559__: u32 = 1; pub const __STDC_IEC_60559_BFP__: u32 = 201404; pub const __STDC_IEC_559_COMPLEX__: u32 = 1; pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404; pub const __STDC_ISO_10646__: u32 = 201706; pub const __GNU_LIBRARY__: u32 = 6; pub const __GLIBC__: u32 = 2; pub const __GLIBC_MINOR__: u32 = 36; pub const _SYS_CDEFS_H: u32 = 1; pub const __glibc_c99_flexarr_available: u32 = 1; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0; pub const __HAVE_GENERIC_SELECTION: u32 = 1; pub const __GLIBC_USE_LIB_EXT2: u32 = 0; pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0; pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0; pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0; pub const _BITS_TYPES_H: u32 = 1; pub const _BITS_TYPESIZES_H: u32 = 1; pub const __OFF_T_MATCHES_OFF64_T: u32 = 1; pub const __INO_T_MATCHES_INO64_T: u32 = 1; pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1; pub const __STATFS_MATCHES_STATFS64: u32 = 1; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1; pub const __FD_SETSIZE: u32 = 1024; pub const _BITS_TIME64_H: u32 = 1; pub const _BITS_WCHAR_H: u32 = 1; pub const _BITS_STDINT_INTN_H: u32 = 1; pub const _BITS_STDINT_UINTN_H: u32 = 1; pub const INT8_MIN: i32 = -128; pub const INT16_MIN: i32 = -32768; pub const INT32_MIN: i32 = -2147483648; pub const INT8_MAX: u32 = 127; pub const INT16_MAX: u32 = 32767; pub const INT32_MAX: u32 = 2147483647; pub const UINT8_MAX: u32 = 255; pub const UINT16_MAX: u32 = 65535; pub const UINT32_MAX: u32 = 4294967295; pub const INT_LEAST8_MIN: i32 = -128; pub const INT_LEAST16_MIN: i32 = -32768; pub const INT_LEAST32_MIN: i32 = -2147483648; pub const INT_LEAST8_MAX: u32 = 127; pub const INT_LEAST16_MAX: u32 = 32767; pub const INT_LEAST32_MAX: u32 = 2147483647; pub const UINT_LEAST8_MAX: u32 = 255; pub const UINT_LEAST16_MAX: u32 = 65535; pub const UINT_LEAST32_MAX: u32 = 4294967295; pub const INT_FAST8_MIN: i32 = -128; pub const INT_FAST16_MIN: i64 = -9223372036854775808; pub const INT_FAST32_MIN: i64 = -9223372036854775808; pub const INT_FAST8_MAX: u32 = 127; pub const INT_FAST16_MAX: u64 = 9223372036854775807; pub const INT_FAST32_MAX: u64 = 9223372036854775807; pub const UINT_FAST8_MAX: u32 = 255; pub const UINT_FAST16_MAX: i32 = -1; pub const UINT_FAST32_MAX: i32 = -1; pub const INTPTR_MIN: i64 = -9223372036854775808; pub const INTPTR_MAX: u64 = 9223372036854775807; pub const UINTPTR_MAX: i32 = -1; pub const PTRDIFF_MIN: i64 = -9223372036854775808; pub const PTRDIFF_MAX: u64 = 9223372036854775807; pub const SIG_ATOMIC_MIN: i32 = -2147483648; pub const SIG_ATOMIC_MAX: u32 = 2147483647; pub const SIZE_MAX: i32 = -1; pub const WINT_MIN: u32 = 0; pub const WINT_MAX: u32 = 4294967295; pub const BIOS_ATOM_PREFIX: &[u8; 9] = b"ATOMBIOS\0"; pub const BIOS_VERSION_PREFIX: &[u8; 15] = b"ATOMBIOSBK-AMD\0"; pub const BIOS_STRING_LENGTH: u32 = 43; pub const SMU13_0_7_DRIVER_IF_VERSION: u32 = 53; pub const PPTABLE_VERSION: u32 = 39; pub const NUM_GFXCLK_DPM_LEVELS: u32 = 16; pub const NUM_SOCCLK_DPM_LEVELS: u32 = 8; pub const NUM_MP0CLK_DPM_LEVELS: u32 = 2; pub const NUM_DCLK_DPM_LEVELS: u32 = 8; pub const NUM_VCLK_DPM_LEVELS: u32 = 8; pub const NUM_DISPCLK_DPM_LEVELS: u32 = 8; pub const NUM_DPPCLK_DPM_LEVELS: u32 = 8; pub const NUM_DPREFCLK_DPM_LEVELS: u32 = 8; pub const NUM_DCFCLK_DPM_LEVELS: u32 = 8; pub const NUM_DTBCLK_DPM_LEVELS: u32 = 8; pub const NUM_UCLK_DPM_LEVELS: u32 = 4; pub const NUM_LINK_LEVELS: u32 = 3; pub const NUM_FCLK_DPM_LEVELS: u32 = 8; pub const NUM_OD_FAN_MAX_POINTS: u32 = 6; pub const FEATURE_FW_DATA_READ_BIT: u32 = 0; pub const FEATURE_DPM_GFXCLK_BIT: u32 = 1; pub const FEATURE_DPM_GFX_POWER_OPTIMIZER_BIT: u32 = 2; pub const FEATURE_DPM_UCLK_BIT: u32 = 3; pub const FEATURE_DPM_FCLK_BIT: u32 = 4; pub const FEATURE_DPM_SOCCLK_BIT: u32 = 5; pub const FEATURE_DPM_MP0CLK_BIT: u32 = 6; pub const FEATURE_DPM_LINK_BIT: u32 = 7; pub const FEATURE_DPM_DCN_BIT: u32 = 8; pub const FEATURE_VMEMP_SCALING_BIT: u32 = 9; pub const FEATURE_VDDIO_MEM_SCALING_BIT: u32 = 10; pub const FEATURE_DS_GFXCLK_BIT: u32 = 11; pub const FEATURE_DS_SOCCLK_BIT: u32 = 12; pub const FEATURE_DS_FCLK_BIT: u32 = 13; pub const FEATURE_DS_LCLK_BIT: u32 = 14; pub const FEATURE_DS_DCFCLK_BIT: u32 = 15; pub const FEATURE_DS_UCLK_BIT: u32 = 16; pub const FEATURE_GFX_ULV_BIT: u32 = 17; pub const FEATURE_FW_DSTATE_BIT: u32 = 18; pub const FEATURE_GFXOFF_BIT: u32 = 19; pub const FEATURE_BACO_BIT: u32 = 20; pub const FEATURE_MM_DPM_BIT: u32 = 21; pub const FEATURE_SOC_MPCLK_DS_BIT: u32 = 22; pub const FEATURE_BACO_MPCLK_DS_BIT: u32 = 23; pub const FEATURE_THROTTLERS_BIT: u32 = 24; pub const FEATURE_SMARTSHIFT_BIT: u32 = 25; pub const FEATURE_GTHR_BIT: u32 = 26; pub const FEATURE_ACDC_BIT: u32 = 27; pub const FEATURE_VR0HOT_BIT: u32 = 28; pub const FEATURE_FW_CTF_BIT: u32 = 29; pub const FEATURE_FAN_CONTROL_BIT: u32 = 30; pub const FEATURE_GFX_DCS_BIT: u32 = 31; pub const FEATURE_GFX_READ_MARGIN_BIT: u32 = 32; pub const FEATURE_LED_DISPLAY_BIT: u32 = 33; pub const FEATURE_GFXCLK_SPREAD_SPECTRUM_BIT: u32 = 34; pub const FEATURE_OUT_OF_BAND_MONITOR_BIT: u32 = 35; pub const FEATURE_OPTIMIZED_VMIN_BIT: u32 = 36; pub const FEATURE_GFX_IMU_BIT: u32 = 37; pub const FEATURE_BOOT_TIME_CAL_BIT: u32 = 38; pub const FEATURE_GFX_PCC_DFLL_BIT: u32 = 39; pub const FEATURE_SOC_CG_BIT: u32 = 40; pub const FEATURE_DF_CSTATE_BIT: u32 = 41; pub const FEATURE_GFX_EDC_BIT: u32 = 42; pub const FEATURE_BOOT_POWER_OPT_BIT: u32 = 43; pub const FEATURE_CLOCK_POWER_DOWN_BYPASS_BIT: u32 = 44; pub const FEATURE_DS_VCN_BIT: u32 = 45; pub const FEATURE_BACO_CG_BIT: u32 = 46; pub const FEATURE_MEM_TEMP_READ_BIT: u32 = 47; pub const FEATURE_ATHUB_MMHUB_PG_BIT: u32 = 48; pub const FEATURE_SOC_PCC_BIT: u32 = 49; pub const FEATURE_EDC_PWRBRK_BIT: u32 = 50; pub const FEATURE_SPARE_51_BIT: u32 = 51; pub const FEATURE_SPARE_52_BIT: u32 = 52; pub const FEATURE_SPARE_53_BIT: u32 = 53; pub const FEATURE_SPARE_54_BIT: u32 = 54; pub const FEATURE_SPARE_55_BIT: u32 = 55; pub const FEATURE_SPARE_56_BIT: u32 = 56; pub const FEATURE_SPARE_57_BIT: u32 = 57; pub const FEATURE_SPARE_58_BIT: u32 = 58; pub const FEATURE_SPARE_59_BIT: u32 = 59; pub const FEATURE_SPARE_60_BIT: u32 = 60; pub const FEATURE_SPARE_61_BIT: u32 = 61; pub const FEATURE_SPARE_62_BIT: u32 = 62; pub const FEATURE_SPARE_63_BIT: u32 = 63; pub const NUM_FEATURES: u32 = 64; pub const ALLOWED_FEATURE_CTRL_DEFAULT: i32 = -1; pub const ALLOWED_FEATURE_CTRL_SCPM: u64 = 35184372218366; pub const DEBUG_OVERRIDE_DISABLE_VOLT_LINK_VCN_FCLK: u32 = 1; pub const DEBUG_OVERRIDE_DISABLE_VOLT_LINK_DCN_FCLK: u32 = 2; pub const DEBUG_OVERRIDE_DISABLE_VOLT_LINK_MP0_FCLK: u32 = 4; pub const DEBUG_OVERRIDE_DISABLE_VOLT_LINK_VCN_DCFCLK: u32 = 8; pub const DEBUG_OVERRIDE_DISABLE_FAST_FCLK_TIMER: u32 = 16; pub const DEBUG_OVERRIDE_DISABLE_VCN_PG: u32 = 32; pub const DEBUG_OVERRIDE_DISABLE_FMAX_VMAX: u32 = 64; pub const DEBUG_OVERRIDE_DISABLE_IMU_FW_CHECKS: u32 = 128; pub const DEBUG_OVERRIDE_DISABLE_D0i2_REENTRY_HSR_TIMER_CHECK: u32 = 256; pub const DEBUG_OVERRIDE_DISABLE_DFLL: u32 = 512; pub const DEBUG_OVERRIDE_ENABLE_RLC_VF_BRINGUP_MODE: u32 = 1024; pub const DEBUG_OVERRIDE_DFLL_MASTER_MODE: u32 = 2048; pub const DEBUG_OVERRIDE_ENABLE_PROFILING_MODE: u32 = 4096; pub const VR_MAPPING_VR_SELECT_MASK: u32 = 1; pub const VR_MAPPING_VR_SELECT_SHIFT: u32 = 0; pub const VR_MAPPING_PLANE_SELECT_MASK: u32 = 2; pub const VR_MAPPING_PLANE_SELECT_SHIFT: u32 = 1; pub const PSI_SEL_VR0_PLANE0_PSI0: u32 = 1; pub const PSI_SEL_VR0_PLANE0_PSI1: u32 = 2; pub const PSI_SEL_VR0_PLANE1_PSI0: u32 = 4; pub const PSI_SEL_VR0_PLANE1_PSI1: u32 = 8; pub const PSI_SEL_VR1_PLANE0_PSI0: u32 = 16; pub const PSI_SEL_VR1_PLANE0_PSI1: u32 = 32; pub const PSI_SEL_VR1_PLANE1_PSI0: u32 = 64; pub const PSI_SEL_VR1_PLANE1_PSI1: u32 = 128; pub const THROTTLER_TEMP_EDGE_BIT: u32 = 0; pub const THROTTLER_TEMP_HOTSPOT_BIT: u32 = 1; pub const THROTTLER_TEMP_HOTSPOT_G_BIT: u32 = 2; pub const THROTTLER_TEMP_HOTSPOT_M_BIT: u32 = 3; pub const THROTTLER_TEMP_MEM_BIT: u32 = 4; pub const THROTTLER_TEMP_VR_GFX_BIT: u32 = 5; pub const THROTTLER_TEMP_VR_MEM0_BIT: u32 = 6; pub const THROTTLER_TEMP_VR_MEM1_BIT: u32 = 7; pub const THROTTLER_TEMP_VR_SOC_BIT: u32 = 8; pub const THROTTLER_TEMP_VR_U_BIT: u32 = 9; pub const THROTTLER_TEMP_LIQUID0_BIT: u32 = 10; pub const THROTTLER_TEMP_LIQUID1_BIT: u32 = 11; pub const THROTTLER_TEMP_PLX_BIT: u32 = 12; pub const THROTTLER_TDC_GFX_BIT: u32 = 13; pub const THROTTLER_TDC_SOC_BIT: u32 = 14; pub const THROTTLER_TDC_U_BIT: u32 = 15; pub const THROTTLER_PPT0_BIT: u32 = 16; pub const THROTTLER_PPT1_BIT: u32 = 17; pub const THROTTLER_PPT2_BIT: u32 = 18; pub const THROTTLER_PPT3_BIT: u32 = 19; pub const THROTTLER_FIT_BIT: u32 = 20; pub const THROTTLER_GFX_APCC_PLUS_BIT: u32 = 21; pub const THROTTLER_COUNT: u32 = 22; pub const FW_DSTATE_SOC_ULV_BIT: u32 = 0; pub const FW_DSTATE_G6_HSR_BIT: u32 = 1; pub const FW_DSTATE_G6_PHY_VMEMP_OFF_BIT: u32 = 2; pub const FW_DSTATE_SMN_DS_BIT: u32 = 3; pub const FW_DSTATE_MP1_WHISPER_MODE_BIT: u32 = 4; pub const FW_DSTATE_SOC_LIV_MIN_BIT: u32 = 5; pub const FW_DSTATE_SOC_PLL_PWRDN_BIT: u32 = 6; pub const FW_DSTATE_MEM_PLL_PWRDN_BIT: u32 = 7; pub const FW_DSTATE_MALL_ALLOC_BIT: u32 = 8; pub const FW_DSTATE_MEM_PSI_BIT: u32 = 9; pub const FW_DSTATE_HSR_NON_STROBE_BIT: u32 = 10; pub const FW_DSTATE_MP0_ENTER_WFI_BIT: u32 = 11; pub const FW_DSTATE_U_ULV_BIT: u32 = 12; pub const FW_DSTATE_MALL_FLUSH_BIT: u32 = 13; pub const FW_DSTATE_SOC_PSI_BIT: u32 = 14; pub const FW_DSTATE_U_PSI_BIT: u32 = 15; pub const FW_DSTATE_UCP_DS_BIT: u32 = 16; pub const FW_DSTATE_CSRCLK_DS_BIT: u32 = 17; pub const FW_DSTATE_MMHUB_INTERLOCK_BIT: u32 = 18; pub const FW_DSTATE_D0i3_2_QUIET_FW_BIT: u32 = 19; pub const FW_DSTATE_CLDO_PRG_BIT: u32 = 20; pub const FW_DSTATE_DF_PLL_PWRDN_BIT: u32 = 21; pub const FW_DSTATE_U_LOW_PWR_MODE_EN_BIT: u32 = 22; pub const FW_DSTATE_GFX_PSI6_BIT: u32 = 23; pub const FW_DSTATE_GFX_VR_PWR_STAGE_BIT: u32 = 24; pub const LED_DISPLAY_GFX_DPM_BIT: u32 = 0; pub const LED_DISPLAY_PCIE_BIT: u32 = 1; pub const LED_DISPLAY_ERROR_BIT: u32 = 2; pub const MEM_TEMP_READ_OUT_OF_BAND_BIT: u32 = 0; pub const MEM_TEMP_READ_IN_BAND_REFRESH_BIT: u32 = 1; pub const MEM_TEMP_READ_IN_BAND_DUMMY_PSTATE_BIT: u32 = 2; pub const NUM_I2C_CONTROLLERS: u32 = 8; pub const I2C_CONTROLLER_ENABLED: u32 = 1; pub const I2C_CONTROLLER_DISABLED: u32 = 0; pub const MAX_SW_I2C_COMMANDS: u32 = 24; pub const CMDCONFIG_STOP_BIT: u32 = 0; pub const CMDCONFIG_RESTART_BIT: u32 = 1; pub const CMDCONFIG_READWRITE_BIT: u32 = 2; pub const CMDCONFIG_STOP_MASK: u32 = 1; pub const CMDCONFIG_RESTART_MASK: u32 = 2; pub const CMDCONFIG_READWRITE_MASK: u32 = 4; pub const PP_NUM_RTAVFS_PWL_ZONES: u32 = 5; pub const PP_NUM_OD_VF_CURVE_POINTS: u32 = 6; pub const PP_OD_FEATURE_GFX_VF_CURVE_BIT: u32 = 0; pub const PP_OD_FEATURE_PPT_BIT: u32 = 2; pub const PP_OD_FEATURE_FAN_CURVE_BIT: u32 = 3; pub const PP_OD_FEATURE_GFXCLK_BIT: u32 = 7; pub const PP_OD_FEATURE_UCLK_BIT: u32 = 8; pub const PP_OD_FEATURE_ZERO_FAN_BIT: u32 = 9; pub const PP_OD_FEATURE_TEMPERATURE_BIT: u32 = 10; pub const PP_OD_FEATURE_COUNT: u32 = 13; pub const INVALID_BOARD_GPIO: u32 = 255; pub const NUM_WM_RANGES: u32 = 4; pub const WORKLOAD_PPLIB_DEFAULT_BIT: u32 = 0; pub const WORKLOAD_PPLIB_FULL_SCREEN_3D_BIT: u32 = 1; pub const WORKLOAD_PPLIB_POWER_SAVING_BIT: u32 = 2; pub const WORKLOAD_PPLIB_VIDEO_BIT: u32 = 3; pub const WORKLOAD_PPLIB_VR_BIT: u32 = 4; pub const WORKLOAD_PPLIB_COMPUTE_BIT: u32 = 5; pub const WORKLOAD_PPLIB_CUSTOM_BIT: u32 = 6; pub const WORKLOAD_PPLIB_WINDOW_3D_BIT: u32 = 7; pub const WORKLOAD_PPLIB_COUNT: u32 = 8; pub const TABLE_TRANSFER_OK: u32 = 0; pub const TABLE_TRANSFER_FAILED: u32 = 255; pub const TABLE_TRANSFER_PENDING: u32 = 171; pub const TABLE_PPTABLE: u32 = 0; pub const TABLE_COMBO_PPTABLE: u32 = 1; pub const TABLE_WATERMARKS: u32 = 2; pub const TABLE_AVFS_PSM_DEBUG: u32 = 3; pub const TABLE_PMSTATUSLOG: u32 = 4; pub const TABLE_SMU_METRICS: u32 = 5; pub const TABLE_DRIVER_SMU_CONFIG: u32 = 6; pub const TABLE_ACTIVITY_MONITOR_COEFF: u32 = 7; pub const TABLE_OVERDRIVE: u32 = 8; pub const TABLE_I2C_COMMANDS: u32 = 9; pub const TABLE_DRIVER_INFO: u32 = 10; pub const TABLE_ECCINFO: u32 = 11; pub const TABLE_WIFIBAND: u32 = 12; pub const TABLE_COUNT: u32 = 13; pub const IH_INTERRUPT_ID_TO_DRIVER: u32 = 254; pub const IH_INTERRUPT_CONTEXT_ID_BACO: u32 = 2; pub const IH_INTERRUPT_CONTEXT_ID_AC: u32 = 3; pub const IH_INTERRUPT_CONTEXT_ID_DC: u32 = 4; pub const IH_INTERRUPT_CONTEXT_ID_AUDIO_D0: u32 = 5; pub const IH_INTERRUPT_CONTEXT_ID_AUDIO_D3: u32 = 6; pub const IH_INTERRUPT_CONTEXT_ID_THERMAL_THROTTLING: u32 = 7; pub const IH_INTERRUPT_CONTEXT_ID_FAN_ABNORMAL: u32 = 8; pub const IH_INTERRUPT_CONTEXT_ID_FAN_RECOVERY: u32 = 9; pub const SMU_13_0_7_TABLE_FORMAT_REVISION: u32 = 15; pub const SMU_13_0_7_PP_PLATFORM_CAP_POWERPLAY: u32 = 1; pub const SMU_13_0_7_PP_PLATFORM_CAP_SBIOSPOWERSOURCE: u32 = 2; pub const SMU_13_0_7_PP_PLATFORM_CAP_HARDWAREDC: u32 = 4; pub const SMU_13_0_7_PP_PLATFORM_CAP_BACO: u32 = 8; pub const SMU_13_0_7_PP_PLATFORM_CAP_MACO: u32 = 16; pub const SMU_13_0_7_PP_PLATFORM_CAP_SHADOWPSTATE: u32 = 32; pub const SMU_13_0_7_PP_THERMALCONTROLLER_NONE: u32 = 0; pub const SMU_13_0_7_PP_THERMALCONTROLLER_NAVI21: u32 = 28; pub const SMU_13_0_7_PP_OVERDRIVE_VERSION: u32 = 131; pub const SMU_13_0_7_PP_POWERSAVINGCLOCK_VERSION: u32 = 1; pub const SMU_13_0_7_MAX_ODFEATURE: u32 = 32; pub const SMU_13_0_7_MAX_ODSETTING: u32 = 64; pub const SMU_13_0_7_MAX_PMSETTING: u32 = 32; pub const SMU_13_0_7_MAX_PPCLOCK: u32 = 16; pub type __u_char = ::core::ffi::c_uchar; pub type __u_short = ::core::ffi::c_ushort; pub type __u_int = ::core::ffi::c_uint; pub type __u_long = ::core::ffi::c_ulong; pub type __int8_t = ::core::ffi::c_schar; pub type __uint8_t = ::core::ffi::c_uchar; pub type __int16_t = ::core::ffi::c_short; pub type __uint16_t = ::core::ffi::c_ushort; pub type __int32_t = ::core::ffi::c_int; pub type __uint32_t = ::core::ffi::c_uint; pub type __int64_t = ::core::ffi::c_long; pub type __uint64_t = ::core::ffi::c_ulong; pub type __int_least8_t = __int8_t; pub type __uint_least8_t = __uint8_t; pub type __int_least16_t = __int16_t; pub type __uint_least16_t = __uint16_t; pub type __int_least32_t = __int32_t; pub type __uint_least32_t = __uint32_t; pub type __int_least64_t = __int64_t; pub type __uint_least64_t = __uint64_t; pub type __quad_t = ::core::ffi::c_long; pub type __u_quad_t = ::core::ffi::c_ulong; pub type __intmax_t = ::core::ffi::c_long; pub type __uintmax_t = ::core::ffi::c_ulong; pub type __dev_t = ::core::ffi::c_ulong; pub type __uid_t = ::core::ffi::c_uint; pub type __gid_t = ::core::ffi::c_uint; pub type __ino_t = ::core::ffi::c_ulong; pub type __ino64_t = ::core::ffi::c_ulong; pub type __mode_t = ::core::ffi::c_uint; pub type __nlink_t = ::core::ffi::c_ulong; pub type __off_t = ::core::ffi::c_long; pub type __off64_t = ::core::ffi::c_long; pub type __pid_t = ::core::ffi::c_int; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __fsid_t { pub __val: [::core::ffi::c_int; 2usize], } #[test] fn bindgen_test_layout___fsid_t() { const UNINIT: ::core::mem::MaybeUninit<__fsid_t> = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::<__fsid_t>(), 8usize, concat!("Size of: ", stringify!(__fsid_t)) ); assert_eq!( ::core::mem::align_of::<__fsid_t>(), 4usize, concat!("Alignment of ", stringify!(__fsid_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).__val) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(__fsid_t), "::", stringify!(__val) ) ); } pub type __clock_t = ::core::ffi::c_long; pub type __rlim_t = ::core::ffi::c_ulong; pub type __rlim64_t = ::core::ffi::c_ulong; pub type __id_t = ::core::ffi::c_uint; pub type __time_t = ::core::ffi::c_long; pub type __useconds_t = ::core::ffi::c_uint; pub type __suseconds_t = ::core::ffi::c_long; pub type __suseconds64_t = ::core::ffi::c_long; pub type __daddr_t = ::core::ffi::c_int; pub type __key_t = ::core::ffi::c_int; pub type __clockid_t = ::core::ffi::c_int; pub type __timer_t = *mut ::core::ffi::c_void; pub type __blksize_t = ::core::ffi::c_long; pub type __blkcnt_t = ::core::ffi::c_long; pub type __blkcnt64_t = ::core::ffi::c_long; pub type __fsblkcnt_t = ::core::ffi::c_ulong; pub type __fsblkcnt64_t = ::core::ffi::c_ulong; pub type __fsfilcnt_t = ::core::ffi::c_ulong; pub type __fsfilcnt64_t = ::core::ffi::c_ulong; pub type __fsword_t = ::core::ffi::c_long; pub type __ssize_t = ::core::ffi::c_long; pub type __syscall_slong_t = ::core::ffi::c_long; pub type __syscall_ulong_t = ::core::ffi::c_ulong; pub type __loff_t = __off64_t; pub type __caddr_t = *mut ::core::ffi::c_char; pub type __intptr_t = ::core::ffi::c_long; pub type __socklen_t = ::core::ffi::c_uint; pub type __sig_atomic_t = ::core::ffi::c_int; pub type int_least8_t = __int_least8_t; pub type int_least16_t = __int_least16_t; pub type int_least32_t = __int_least32_t; pub type int_least64_t = __int_least64_t; pub type uint_least8_t = __uint_least8_t; pub type uint_least16_t = __uint_least16_t; pub type uint_least32_t = __uint_least32_t; pub type uint_least64_t = __uint_least64_t; pub type int_fast8_t = ::core::ffi::c_schar; pub type int_fast16_t = ::core::ffi::c_long; pub type int_fast32_t = ::core::ffi::c_long; pub type int_fast64_t = ::core::ffi::c_long; pub type uint_fast8_t = ::core::ffi::c_uchar; pub type uint_fast16_t = ::core::ffi::c_ulong; pub type uint_fast32_t = ::core::ffi::c_ulong; pub type uint_fast64_t = ::core::ffi::c_ulong; pub type intmax_t = __intmax_t; pub type uintmax_t = __uintmax_t; pub const atom_bios_header_version_def_ATOM_MAJOR_VERSION: atom_bios_header_version_def = 3; pub const atom_bios_header_version_def_ATOM_MINOR_VERSION: atom_bios_header_version_def = 3; pub type atom_bios_header_version_def = ::core::ffi::c_uint; pub const atom_crtc_def_ATOM_CRTC1: atom_crtc_def = 0; pub const atom_crtc_def_ATOM_CRTC2: atom_crtc_def = 1; pub const atom_crtc_def_ATOM_CRTC3: atom_crtc_def = 2; pub const atom_crtc_def_ATOM_CRTC4: atom_crtc_def = 3; pub const atom_crtc_def_ATOM_CRTC5: atom_crtc_def = 4; pub const atom_crtc_def_ATOM_CRTC6: atom_crtc_def = 5; pub const atom_crtc_def_ATOM_CRTC_INVALID: atom_crtc_def = 255; pub type atom_crtc_def = ::core::ffi::c_uint; pub const atom_ppll_def_ATOM_PPLL0: atom_ppll_def = 2; pub const atom_ppll_def_ATOM_GCK_DFS: atom_ppll_def = 8; pub const atom_ppll_def_ATOM_FCH_CLK: atom_ppll_def = 9; pub const atom_ppll_def_ATOM_DP_DTO: atom_ppll_def = 11; pub const atom_ppll_def_ATOM_COMBOPHY_PLL0: atom_ppll_def = 20; pub const atom_ppll_def_ATOM_COMBOPHY_PLL1: atom_ppll_def = 21; pub const atom_ppll_def_ATOM_COMBOPHY_PLL2: atom_ppll_def = 22; pub const atom_ppll_def_ATOM_COMBOPHY_PLL3: atom_ppll_def = 23; pub const atom_ppll_def_ATOM_COMBOPHY_PLL4: atom_ppll_def = 24; pub const atom_ppll_def_ATOM_COMBOPHY_PLL5: atom_ppll_def = 25; pub const atom_ppll_def_ATOM_PPLL_INVALID: atom_ppll_def = 255; pub type atom_ppll_def = ::core::ffi::c_uint; pub const atom_dig_def_ASIC_INT_DIG1_ENCODER_ID: atom_dig_def = 3; pub const atom_dig_def_ASIC_INT_DIG2_ENCODER_ID: atom_dig_def = 9; pub const atom_dig_def_ASIC_INT_DIG3_ENCODER_ID: atom_dig_def = 10; pub const atom_dig_def_ASIC_INT_DIG4_ENCODER_ID: atom_dig_def = 11; pub const atom_dig_def_ASIC_INT_DIG5_ENCODER_ID: atom_dig_def = 12; pub const atom_dig_def_ASIC_INT_DIG6_ENCODER_ID: atom_dig_def = 13; pub const atom_dig_def_ASIC_INT_DIG7_ENCODER_ID: atom_dig_def = 14; pub type atom_dig_def = ::core::ffi::c_uint; pub const atom_encode_mode_def_ATOM_ENCODER_MODE_DP: atom_encode_mode_def = 0; pub const atom_encode_mode_def_ATOM_ENCODER_MODE_DP_SST: atom_encode_mode_def = 0; pub const atom_encode_mode_def_ATOM_ENCODER_MODE_LVDS: atom_encode_mode_def = 1; pub const atom_encode_mode_def_ATOM_ENCODER_MODE_DVI: atom_encode_mode_def = 2; pub const atom_encode_mode_def_ATOM_ENCODER_MODE_HDMI: atom_encode_mode_def = 3; pub const atom_encode_mode_def_ATOM_ENCODER_MODE_DP_AUDIO: atom_encode_mode_def = 5; pub const atom_encode_mode_def_ATOM_ENCODER_MODE_DP_MST: atom_encode_mode_def = 5; pub const atom_encode_mode_def_ATOM_ENCODER_MODE_CRT: atom_encode_mode_def = 15; pub const atom_encode_mode_def_ATOM_ENCODER_MODE_DVO: atom_encode_mode_def = 16; pub type atom_encode_mode_def = ::core::ffi::c_uint; pub const atom_encoder_refclk_src_def_ENCODER_REFCLK_SRC_P1PLL: atom_encoder_refclk_src_def = 0; pub const atom_encoder_refclk_src_def_ENCODER_REFCLK_SRC_P2PLL: atom_encoder_refclk_src_def = 1; pub const atom_encoder_refclk_src_def_ENCODER_REFCLK_SRC_P3PLL: atom_encoder_refclk_src_def = 2; pub const atom_encoder_refclk_src_def_ENCODER_REFCLK_SRC_EXTCLK: atom_encoder_refclk_src_def = 3; pub const atom_encoder_refclk_src_def_ENCODER_REFCLK_SRC_INVALID: atom_encoder_refclk_src_def = 255; pub type atom_encoder_refclk_src_def = ::core::ffi::c_uint; pub const atom_scaler_def_ATOM_SCALER_DISABLE: atom_scaler_def = 0; pub const atom_scaler_def_ATOM_SCALER_CENTER: atom_scaler_def = 1; pub const atom_scaler_def_ATOM_SCALER_EXPANSION: atom_scaler_def = 2; pub type atom_scaler_def = ::core::ffi::c_uint; pub const atom_operation_def_ATOM_DISABLE: atom_operation_def = 0; pub const atom_operation_def_ATOM_ENABLE: atom_operation_def = 1; pub const atom_operation_def_ATOM_INIT: atom_operation_def = 7; pub const atom_operation_def_ATOM_GET_STATUS: atom_operation_def = 8; pub type atom_operation_def = ::core::ffi::c_uint; pub const atom_embedded_display_op_def_ATOM_LCD_BL_OFF: atom_embedded_display_op_def = 2; pub const atom_embedded_display_op_def_ATOM_LCD_BL_OM: atom_embedded_display_op_def = 3; pub const atom_embedded_display_op_def_ATOM_LCD_BL_BRIGHTNESS_CONTROL: atom_embedded_display_op_def = 4; pub const atom_embedded_display_op_def_ATOM_LCD_SELFTEST_START: atom_embedded_display_op_def = 5; pub const atom_embedded_display_op_def_ATOM_LCD_SELFTEST_STOP: atom_embedded_display_op_def = 6; pub type atom_embedded_display_op_def = ::core::ffi::c_uint; pub const atom_spread_spectrum_mode_ATOM_SS_CENTER_OR_DOWN_MODE_MASK: atom_spread_spectrum_mode = 1; pub const atom_spread_spectrum_mode_ATOM_SS_DOWN_SPREAD_MODE: atom_spread_spectrum_mode = 0; pub const atom_spread_spectrum_mode_ATOM_SS_CENTRE_SPREAD_MODE: atom_spread_spectrum_mode = 1; pub const atom_spread_spectrum_mode_ATOM_INT_OR_EXT_SS_MASK: atom_spread_spectrum_mode = 2; pub const atom_spread_spectrum_mode_ATOM_INTERNAL_SS_MASK: atom_spread_spectrum_mode = 0; pub const atom_spread_spectrum_mode_ATOM_EXTERNAL_SS_MASK: atom_spread_spectrum_mode = 2; pub type atom_spread_spectrum_mode = ::core::ffi::c_uint; pub const atom_panel_bit_per_color_PANEL_BPC_UNDEFINE: atom_panel_bit_per_color = 0; pub const atom_panel_bit_per_color_PANEL_6BIT_PER_COLOR: atom_panel_bit_per_color = 1; pub const atom_panel_bit_per_color_PANEL_8BIT_PER_COLOR: atom_panel_bit_per_color = 2; pub const atom_panel_bit_per_color_PANEL_10BIT_PER_COLOR: atom_panel_bit_per_color = 3; pub const atom_panel_bit_per_color_PANEL_12BIT_PER_COLOR: atom_panel_bit_per_color = 4; pub const atom_panel_bit_per_color_PANEL_16BIT_PER_COLOR: atom_panel_bit_per_color = 5; pub type atom_panel_bit_per_color = ::core::ffi::c_uint; pub const atom_voltage_type_VOLTAGE_TYPE_VDDC: atom_voltage_type = 1; pub const atom_voltage_type_VOLTAGE_TYPE_MVDDC: atom_voltage_type = 2; pub const atom_voltage_type_VOLTAGE_TYPE_MVDDQ: atom_voltage_type = 3; pub const atom_voltage_type_VOLTAGE_TYPE_VDDCI: atom_voltage_type = 4; pub const atom_voltage_type_VOLTAGE_TYPE_VDDGFX: atom_voltage_type = 5; pub const atom_voltage_type_VOLTAGE_TYPE_PCC: atom_voltage_type = 6; pub const atom_voltage_type_VOLTAGE_TYPE_MVPP: atom_voltage_type = 7; pub const atom_voltage_type_VOLTAGE_TYPE_LEDDPM: atom_voltage_type = 8; pub const atom_voltage_type_VOLTAGE_TYPE_PCC_MVDD: atom_voltage_type = 9; pub const atom_voltage_type_VOLTAGE_TYPE_PCIE_VDDC: atom_voltage_type = 10; pub const atom_voltage_type_VOLTAGE_TYPE_PCIE_VDDR: atom_voltage_type = 11; pub const atom_voltage_type_VOLTAGE_TYPE_GENERIC_I2C_1: atom_voltage_type = 17; pub const atom_voltage_type_VOLTAGE_TYPE_GENERIC_I2C_2: atom_voltage_type = 18; pub const atom_voltage_type_VOLTAGE_TYPE_GENERIC_I2C_3: atom_voltage_type = 19; pub const atom_voltage_type_VOLTAGE_TYPE_GENERIC_I2C_4: atom_voltage_type = 20; pub const atom_voltage_type_VOLTAGE_TYPE_GENERIC_I2C_5: atom_voltage_type = 21; pub const atom_voltage_type_VOLTAGE_TYPE_GENERIC_I2C_6: atom_voltage_type = 22; pub const atom_voltage_type_VOLTAGE_TYPE_GENERIC_I2C_7: atom_voltage_type = 23; pub const atom_voltage_type_VOLTAGE_TYPE_GENERIC_I2C_8: atom_voltage_type = 24; pub const atom_voltage_type_VOLTAGE_TYPE_GENERIC_I2C_9: atom_voltage_type = 25; pub const atom_voltage_type_VOLTAGE_TYPE_GENERIC_I2C_10: atom_voltage_type = 26; pub type atom_voltage_type = ::core::ffi::c_uint; pub const atom_dgpu_vram_type_ATOM_DGPU_VRAM_TYPE_GDDR5: atom_dgpu_vram_type = 80; pub const atom_dgpu_vram_type_ATOM_DGPU_VRAM_TYPE_HBM2: atom_dgpu_vram_type = 96; pub const atom_dgpu_vram_type_ATOM_DGPU_VRAM_TYPE_HBM2E: atom_dgpu_vram_type = 97; pub const atom_dgpu_vram_type_ATOM_DGPU_VRAM_TYPE_GDDR6: atom_dgpu_vram_type = 112; pub const atom_dgpu_vram_type_ATOM_DGPU_VRAM_TYPE_HBM3: atom_dgpu_vram_type = 128; pub type atom_dgpu_vram_type = ::core::ffi::c_uint; pub const atom_dp_vs_preemph_def_DP_VS_LEVEL0_PREEMPH_LEVEL0: atom_dp_vs_preemph_def = 0; pub const atom_dp_vs_preemph_def_DP_VS_LEVEL1_PREEMPH_LEVEL0: atom_dp_vs_preemph_def = 1; pub const atom_dp_vs_preemph_def_DP_VS_LEVEL2_PREEMPH_LEVEL0: atom_dp_vs_preemph_def = 2; pub const atom_dp_vs_preemph_def_DP_VS_LEVEL3_PREEMPH_LEVEL0: atom_dp_vs_preemph_def = 3; pub const atom_dp_vs_preemph_def_DP_VS_LEVEL0_PREEMPH_LEVEL1: atom_dp_vs_preemph_def = 8; pub const atom_dp_vs_preemph_def_DP_VS_LEVEL1_PREEMPH_LEVEL1: atom_dp_vs_preemph_def = 9; pub const atom_dp_vs_preemph_def_DP_VS_LEVEL2_PREEMPH_LEVEL1: atom_dp_vs_preemph_def = 10; pub const atom_dp_vs_preemph_def_DP_VS_LEVEL0_PREEMPH_LEVEL2: atom_dp_vs_preemph_def = 16; pub const atom_dp_vs_preemph_def_DP_VS_LEVEL1_PREEMPH_LEVEL2: atom_dp_vs_preemph_def = 17; pub const atom_dp_vs_preemph_def_DP_VS_LEVEL0_PREEMPH_LEVEL3: atom_dp_vs_preemph_def = 24; pub type atom_dp_vs_preemph_def = ::core::ffi::c_uint; pub const atombios_image_offset_OFFSET_TO_ATOM_ROM_HEADER_POINTER: atombios_image_offset = 72; pub const atombios_image_offset_OFFSET_TO_ATOM_ROM_IMAGE_SIZE: atombios_image_offset = 2; pub const atombios_image_offset_OFFSET_TO_ATOMBIOS_ASIC_BUS_MEM_TYPE: atombios_image_offset = 148; pub const atombios_image_offset_MAXSIZE_OF_ATOMBIOS_ASIC_BUS_MEM_TYPE: atombios_image_offset = 20; pub const atombios_image_offset_OFFSET_TO_GET_ATOMBIOS_NUMBER_OF_STRINGS: atombios_image_offset = 47; pub const atombios_image_offset_OFFSET_TO_GET_ATOMBIOS_STRING_START: atombios_image_offset = 110; pub const atombios_image_offset_OFFSET_TO_VBIOS_PART_NUMBER: atombios_image_offset = 128; pub const atombios_image_offset_OFFSET_TO_VBIOS_DATE: atombios_image_offset = 80; pub type atombios_image_offset = ::core::ffi::c_uint; #[doc = " Common header for all tables (Data table, Command function).\n Every table pointed in _ATOM_MASTER_DATA_TABLE has this common header.\n And the pointer actually points to this header."] #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_common_table_header { pub structuresize: u16, pub format_revision: u8, pub content_revision: u8, } #[test] fn bindgen_test_layout_atom_common_table_header() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(atom_common_table_header)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_common_table_header)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).structuresize) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_common_table_header), "::", stringify!(structuresize) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).format_revision) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_common_table_header), "::", stringify!(format_revision) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).content_revision) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_common_table_header), "::", stringify!(content_revision) ) ); } #[doc = " Structure stores the ROM header."] #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_rom_header_v2_2 { pub table_header: atom_common_table_header, pub atom_bios_string: [u8; 4usize], pub bios_segment_address: u16, pub protectedmodeoffset: u16, pub configfilenameoffset: u16, pub crc_block_offset: u16, pub vbios_bootupmessageoffset: u16, pub int10_offset: u16, pub pcibusdevinitcode: u16, pub iobaseaddress: u16, pub subsystem_vendor_id: u16, pub subsystem_id: u16, pub pci_info_offset: u16, pub masterhwfunction_offset: u16, pub masterdatatable_offset: u16, pub reserved: u16, pub pspdirtableoffset: u32, } #[test] fn bindgen_test_layout_atom_rom_header_v2_2() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(atom_rom_header_v2_2)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_rom_header_v2_2)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).atom_bios_string) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(atom_bios_string) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bios_segment_address) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(bios_segment_address) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).protectedmodeoffset) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(protectedmodeoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).configfilenameoffset) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(configfilenameoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).crc_block_offset) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(crc_block_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vbios_bootupmessageoffset) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(vbios_bootupmessageoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).int10_offset) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(int10_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcibusdevinitcode) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(pcibusdevinitcode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).iobaseaddress) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(iobaseaddress) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).subsystem_vendor_id) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(subsystem_vendor_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).subsystem_id) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(subsystem_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pci_info_offset) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(pci_info_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).masterhwfunction_offset) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(masterhwfunction_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).masterdatatable_offset) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(masterdatatable_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pspdirtableoffset) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_rom_header_v2_2), "::", stringify!(pspdirtableoffset) ) ); } #[doc = " Structures used in Command.mtb, each function name is not given here since those function could change from time to time\n The real functionality of each function is associated with the parameter structure version when defined\n For all internal cmd function definitions, please reference to atomstruct.h"] #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_master_list_of_command_functions_v2_1 { pub asic_init: u16, pub cmd_function1: u16, pub cmd_function2: u16, pub cmd_function3: u16, pub digxencodercontrol: u16, pub cmd_function5: u16, pub cmd_function6: u16, pub cmd_function7: u16, pub cmd_function8: u16, pub cmd_function9: u16, pub setengineclock: u16, pub setmemoryclock: u16, pub setpixelclock: u16, pub enabledisppowergating: u16, pub cmd_function14: u16, pub cmd_function15: u16, pub cmd_function16: u16, pub cmd_function17: u16, pub cmd_function18: u16, pub cmd_function19: u16, pub cmd_function20: u16, pub cmd_function21: u16, pub cmd_function22: u16, pub cmd_function23: u16, pub cmd_function24: u16, pub cmd_function25: u16, pub cmd_function26: u16, pub cmd_function27: u16, pub cmd_function28: u16, pub cmd_function29: u16, pub cmd_function30: u16, pub cmd_function31: u16, pub cmd_function32: u16, pub cmd_function33: u16, pub blankcrtc: u16, pub enablecrtc: u16, pub cmd_function36: u16, pub cmd_function37: u16, pub cmd_function38: u16, pub cmd_function39: u16, pub cmd_function40: u16, pub getsmuclockinfo: u16, pub selectcrtc_source: u16, pub cmd_function43: u16, pub cmd_function44: u16, pub cmd_function45: u16, pub setdceclock: u16, pub getmemoryclock: u16, pub getengineclock: u16, pub setcrtc_usingdtdtiming: u16, pub externalencodercontrol: u16, pub cmd_function51: u16, pub cmd_function52: u16, pub cmd_function53: u16, pub processi2cchanneltransaction: u16, pub cmd_function55: u16, pub cmd_function56: u16, pub cmd_function57: u16, pub cmd_function58: u16, pub cmd_function59: u16, pub computegpuclockparam: u16, pub cmd_function61: u16, pub cmd_function62: u16, pub dynamicmemorysettings: u16, pub memorytraining: u16, pub cmd_function65: u16, pub cmd_function66: u16, pub setvoltage: u16, pub cmd_function68: u16, pub readefusevalue: u16, pub cmd_function70: u16, pub cmd_function71: u16, pub cmd_function72: u16, pub cmd_function73: u16, pub cmd_function74: u16, pub cmd_function75: u16, pub dig1transmittercontrol: u16, pub cmd_function77: u16, pub processauxchanneltransaction: u16, pub cmd_function79: u16, pub getvoltageinfo: u16, } #[test] fn bindgen_test_layout_atom_master_list_of_command_functions_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 162usize, concat!( "Size of: ", stringify!(atom_master_list_of_command_functions_v2_1) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_master_list_of_command_functions_v2_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).asic_init) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(asic_init) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function1) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function2) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function3) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function3) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).digxencodercontrol) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(digxencodercontrol) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function5) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function5) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function6) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function6) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function7) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function7) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function8) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function8) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function9) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function9) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).setengineclock) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(setengineclock) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).setmemoryclock) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(setmemoryclock) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).setpixelclock) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(setpixelclock) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enabledisppowergating) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(enabledisppowergating) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function14) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function14) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function15) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function15) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function16) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function16) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function17) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function17) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function18) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function18) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function19) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function19) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function20) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function20) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function21) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function21) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function22) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function22) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function23) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function23) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function24) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function24) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function25) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function25) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function26) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function26) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function27) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function27) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function28) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function28) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function29) as usize - ptr as usize }, 58usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function29) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function30) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function30) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function31) as usize - ptr as usize }, 62usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function31) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function32) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function32) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function33) as usize - ptr as usize }, 66usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function33) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).blankcrtc) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(blankcrtc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enablecrtc) as usize - ptr as usize }, 70usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(enablecrtc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function36) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function36) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function37) as usize - ptr as usize }, 74usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function37) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function38) as usize - ptr as usize }, 76usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function38) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function39) as usize - ptr as usize }, 78usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function39) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function40) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function40) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).getsmuclockinfo) as usize - ptr as usize }, 82usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(getsmuclockinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).selectcrtc_source) as usize - ptr as usize }, 84usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(selectcrtc_source) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function43) as usize - ptr as usize }, 86usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function43) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function44) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function44) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function45) as usize - ptr as usize }, 90usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function45) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).setdceclock) as usize - ptr as usize }, 92usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(setdceclock) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).getmemoryclock) as usize - ptr as usize }, 94usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(getmemoryclock) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).getengineclock) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(getengineclock) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).setcrtc_usingdtdtiming) as usize - ptr as usize }, 98usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(setcrtc_usingdtdtiming) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).externalencodercontrol) as usize - ptr as usize }, 100usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(externalencodercontrol) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function51) as usize - ptr as usize }, 102usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function51) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function52) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function52) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function53) as usize - ptr as usize }, 106usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function53) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).processi2cchanneltransaction) as usize - ptr as usize }, 108usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(processi2cchanneltransaction) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function55) as usize - ptr as usize }, 110usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function55) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function56) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function56) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function57) as usize - ptr as usize }, 114usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function57) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function58) as usize - ptr as usize }, 116usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function58) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function59) as usize - ptr as usize }, 118usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function59) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).computegpuclockparam) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(computegpuclockparam) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function61) as usize - ptr as usize }, 122usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function61) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function62) as usize - ptr as usize }, 124usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function62) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dynamicmemorysettings) as usize - ptr as usize }, 126usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(dynamicmemorysettings) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memorytraining) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(memorytraining) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function65) as usize - ptr as usize }, 130usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function65) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function66) as usize - ptr as usize }, 132usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function66) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).setvoltage) as usize - ptr as usize }, 134usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(setvoltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function68) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function68) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).readefusevalue) as usize - ptr as usize }, 138usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(readefusevalue) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function70) as usize - ptr as usize }, 140usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function70) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function71) as usize - ptr as usize }, 142usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function71) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function72) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function72) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function73) as usize - ptr as usize }, 146usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function73) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function74) as usize - ptr as usize }, 148usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function74) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function75) as usize - ptr as usize }, 150usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function75) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dig1transmittercontrol) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(dig1transmittercontrol) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function77) as usize - ptr as usize }, 154usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function77) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).processauxchanneltransaction) as usize - ptr as usize }, 156usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(processauxchanneltransaction) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_function79) as usize - ptr as usize }, 158usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(cmd_function79) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).getvoltageinfo) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_command_functions_v2_1), "::", stringify!(getvoltageinfo) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_master_command_function_v2_1 { pub table_header: atom_common_table_header, pub listofcmdfunctions: atom_master_list_of_command_functions_v2_1, } #[test] fn bindgen_test_layout_atom_master_command_function_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 166usize, concat!("Size of: ", stringify!(atom_master_command_function_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_master_command_function_v2_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_master_command_function_v2_1), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).listofcmdfunctions) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_master_command_function_v2_1), "::", stringify!(listofcmdfunctions) ) ); } #[doc = " Structures used in every command function"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_function_attribute { pub _bitfield_align_1: [u8; 0], pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, } #[test] fn bindgen_test_layout_atom_function_attribute() { assert_eq!( ::core::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(atom_function_attribute)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_function_attribute)) ); } impl atom_function_attribute { #[inline] pub fn ws_in_bytes(&self) -> u16 { unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u16) } } #[inline] pub fn set_ws_in_bytes(&mut self, val: u16) { unsafe { let val: u16 = ::core::mem::transmute(val); self._bitfield_1.set(0usize, 8u8, val as u64) } } #[inline] pub fn ps_in_bytes(&self) -> u16 { unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 7u8) as u16) } } #[inline] pub fn set_ps_in_bytes(&mut self, val: u16) { unsafe { let val: u16 = ::core::mem::transmute(val); self._bitfield_1.set(8usize, 7u8, val as u64) } } #[inline] pub fn updated_by_util(&self) -> u16 { unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) } } #[inline] pub fn set_updated_by_util(&mut self, val: u16) { unsafe { let val: u16 = ::core::mem::transmute(val); self._bitfield_1.set(15usize, 1u8, val as u64) } } #[inline] pub fn new_bitfield_1( ws_in_bytes: u16, ps_in_bytes: u16, updated_by_util: u16, ) -> __BindgenBitfieldUnit<[u8; 2usize]> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); __bindgen_bitfield_unit.set(0usize, 8u8, { let ws_in_bytes: u16 = unsafe { ::core::mem::transmute(ws_in_bytes) }; ws_in_bytes as u64 }); __bindgen_bitfield_unit.set(8usize, 7u8, { let ps_in_bytes: u16 = unsafe { ::core::mem::transmute(ps_in_bytes) }; ps_in_bytes as u64 }); __bindgen_bitfield_unit.set(15usize, 1u8, { let updated_by_util: u16 = unsafe { ::core::mem::transmute(updated_by_util) }; updated_by_util as u64 }); __bindgen_bitfield_unit } } #[doc = " Common header for all hw functions.\n Every function pointed by _master_list_of_hw_function has this common header.\n And the pointer actually points to this header."] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_rom_hw_function_header { pub func_header: atom_common_table_header, pub func_attrib: atom_function_attribute, } #[test] fn bindgen_test_layout_atom_rom_hw_function_header() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 6usize, concat!("Size of: ", stringify!(atom_rom_hw_function_header)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_rom_hw_function_header)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).func_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_rom_hw_function_header), "::", stringify!(func_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).func_attrib) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_rom_hw_function_header), "::", stringify!(func_attrib) ) ); } #[doc = " Structures used in data.mtb, each data table name is not given here since those data table could change from time to time\n The real name of each table is given when its data structure version is defined"] #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_master_list_of_data_tables_v2_1 { pub utilitypipeline: u16, pub multimedia_info: u16, pub smc_dpm_info: u16, pub sw_datatable3: u16, pub firmwareinfo: u16, pub sw_datatable5: u16, pub lcd_info: u16, pub sw_datatable7: u16, pub smu_info: u16, pub sw_datatable9: u16, pub sw_datatable10: u16, pub vram_usagebyfirmware: u16, pub gpio_pin_lut: u16, pub sw_datatable13: u16, pub gfx_info: u16, pub powerplayinfo: u16, pub sw_datatable16: u16, pub sw_datatable17: u16, pub sw_datatable18: u16, pub sw_datatable19: u16, pub sw_datatable20: u16, pub sw_datatable21: u16, pub displayobjectinfo: u16, pub indirectioaccess: u16, pub umc_info: u16, pub sw_datatable25: u16, pub sw_datatable26: u16, pub dce_info: u16, pub vram_info: u16, pub sw_datatable29: u16, pub integratedsysteminfo: u16, pub asic_profiling_info: u16, pub voltageobject_info: u16, pub sw_datatable33: u16, pub sw_datatable34: u16, } #[test] fn bindgen_test_layout_atom_master_list_of_data_tables_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 70usize, concat!( "Size of: ", stringify!(atom_master_list_of_data_tables_v2_1) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_master_list_of_data_tables_v2_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).utilitypipeline) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(utilitypipeline) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).multimedia_info) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(multimedia_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smc_dpm_info) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(smc_dpm_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable3) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable3) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).firmwareinfo) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(firmwareinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable5) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable5) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lcd_info) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(lcd_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable7) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable7) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smu_info) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(smu_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable9) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable9) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable10) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable10) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_usagebyfirmware) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(vram_usagebyfirmware) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpio_pin_lut) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(gpio_pin_lut) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable13) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable13) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfx_info) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(gfx_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).powerplayinfo) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(powerplayinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable16) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable16) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable17) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable17) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable18) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable18) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable19) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable19) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable20) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable20) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable21) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable21) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).displayobjectinfo) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(displayobjectinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).indirectioaccess) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(indirectioaccess) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_info) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(umc_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable25) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable25) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable26) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable26) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dce_info) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(dce_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_info) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(vram_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable29) as usize - ptr as usize }, 58usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable29) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).integratedsysteminfo) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(integratedsysteminfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).asic_profiling_info) as usize - ptr as usize }, 62usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(asic_profiling_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).voltageobject_info) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(voltageobject_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable33) as usize - ptr as usize }, 66usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable33) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sw_datatable34) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_master_list_of_data_tables_v2_1), "::", stringify!(sw_datatable34) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_master_data_table_v2_1 { pub table_header: atom_common_table_header, pub listOfdatatables: atom_master_list_of_data_tables_v2_1, } #[test] fn bindgen_test_layout_atom_master_data_table_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 74usize, concat!("Size of: ", stringify!(atom_master_data_table_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_master_data_table_v2_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_master_data_table_v2_1), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).listOfdatatables) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_master_data_table_v2_1), "::", stringify!(listOfdatatables) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_dtd_format { pub pixclk: u16, pub h_active: u16, pub h_blanking_time: u16, pub v_active: u16, pub v_blanking_time: u16, pub h_sync_offset: u16, pub h_sync_width: u16, pub v_sync_offset: u16, pub v_syncwidth: u16, pub reserved: u16, pub reserved0: u16, pub h_border: u8, pub v_border: u8, pub miscinfo: u16, pub atom_mode_id: u8, pub refreshrate: u8, } #[test] fn bindgen_test_layout_atom_dtd_format() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 28usize, concat!("Size of: ", stringify!(atom_dtd_format)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_dtd_format)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pixclk) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(pixclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).h_active) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(h_active) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).h_blanking_time) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(h_blanking_time) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).v_active) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(v_active) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).v_blanking_time) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(v_blanking_time) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).h_sync_offset) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(h_sync_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).h_sync_width) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(h_sync_width) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).v_sync_offset) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(v_sync_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).v_syncwidth) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(v_syncwidth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved0) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(reserved0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).h_border) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(h_border) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).v_border) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(v_border) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).miscinfo) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(miscinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).atom_mode_id) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(atom_mode_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).refreshrate) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_dtd_format), "::", stringify!(refreshrate) ) ); } pub const atom_dtd_format_modemiscinfo_ATOM_HSYNC_POLARITY: atom_dtd_format_modemiscinfo = 2; pub const atom_dtd_format_modemiscinfo_ATOM_VSYNC_POLARITY: atom_dtd_format_modemiscinfo = 4; pub const atom_dtd_format_modemiscinfo_ATOM_H_REPLICATIONBY2: atom_dtd_format_modemiscinfo = 16; pub const atom_dtd_format_modemiscinfo_ATOM_V_REPLICATIONBY2: atom_dtd_format_modemiscinfo = 32; pub const atom_dtd_format_modemiscinfo_ATOM_INTERLACE: atom_dtd_format_modemiscinfo = 128; pub const atom_dtd_format_modemiscinfo_ATOM_COMPOSITESYNC: atom_dtd_format_modemiscinfo = 64; pub type atom_dtd_format_modemiscinfo = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_firmware_info_v3_1 { pub table_header: atom_common_table_header, pub firmware_revision: u32, pub bootup_sclk_in10khz: u32, pub bootup_mclk_in10khz: u32, pub firmware_capability: u32, pub main_call_parser_entry: u32, pub bios_scratch_reg_startaddr: u32, pub bootup_vddc_mv: u16, pub bootup_vddci_mv: u16, pub bootup_mvddc_mv: u16, pub bootup_vddgfx_mv: u16, pub mem_module_id: u8, pub coolingsolution_id: u8, pub reserved1: [u8; 2usize], pub mc_baseaddr_high: u32, pub mc_baseaddr_low: u32, pub reserved2: [u32; 6usize], } #[test] fn bindgen_test_layout_atom_firmware_info_v3_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(atom_firmware_info_v3_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_firmware_info_v3_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).firmware_revision) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(firmware_revision) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_sclk_in10khz) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(bootup_sclk_in10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mclk_in10khz) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(bootup_mclk_in10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).firmware_capability) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(firmware_capability) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).main_call_parser_entry) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(main_call_parser_entry) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bios_scratch_reg_startaddr) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(bios_scratch_reg_startaddr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vddc_mv) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(bootup_vddc_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vddci_mv) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(bootup_vddci_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mvddc_mv) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(bootup_mvddc_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vddgfx_mv) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(bootup_vddgfx_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_module_id) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(mem_module_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).coolingsolution_id) as usize - ptr as usize }, 37usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(coolingsolution_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_baseaddr_high) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(mc_baseaddr_high) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_baseaddr_low) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(mc_baseaddr_low) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_1), "::", stringify!(reserved2) ) ); } pub const atombios_firmware_capability_ATOM_FIRMWARE_CAP_FIRMWARE_POSTED: atombios_firmware_capability = 1; pub const atombios_firmware_capability_ATOM_FIRMWARE_CAP_GPU_VIRTUALIZATION: atombios_firmware_capability = 2; pub const atombios_firmware_capability_ATOM_FIRMWARE_CAP_WMI_SUPPORT: atombios_firmware_capability = 64; pub const atombios_firmware_capability_ATOM_FIRMWARE_CAP_HWEMU_ENABLE: atombios_firmware_capability = 128; pub const atombios_firmware_capability_ATOM_FIRMWARE_CAP_HWEMU_UMC_CFG: atombios_firmware_capability = 256; pub const atombios_firmware_capability_ATOM_FIRMWARE_CAP_SRAM_ECC: atombios_firmware_capability = 512; pub const atombios_firmware_capability_ATOM_FIRMWARE_CAP_ENABLE_2STAGE_BIST_TRAINING: atombios_firmware_capability = 1024; pub const atombios_firmware_capability_ATOM_FIRMWARE_CAP_ENABLE_2ND_USB20PORT: atombios_firmware_capability = 32768; pub const atombios_firmware_capability_ATOM_FIRMWARE_CAP_DYNAMIC_BOOT_CFG_ENABLE: atombios_firmware_capability = 131072; pub type atombios_firmware_capability = ::core::ffi::c_uint; pub const atom_cooling_solution_id_AIR_COOLING: atom_cooling_solution_id = 0; pub const atom_cooling_solution_id_LIQUID_COOLING: atom_cooling_solution_id = 1; pub type atom_cooling_solution_id = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_firmware_info_v3_2 { pub table_header: atom_common_table_header, pub firmware_revision: u32, pub bootup_sclk_in10khz: u32, pub bootup_mclk_in10khz: u32, pub firmware_capability: u32, pub main_call_parser_entry: u32, pub bios_scratch_reg_startaddr: u32, pub bootup_vddc_mv: u16, pub bootup_vddci_mv: u16, pub bootup_mvddc_mv: u16, pub bootup_vddgfx_mv: u16, pub mem_module_id: u8, pub coolingsolution_id: u8, pub reserved1: [u8; 2usize], pub mc_baseaddr_high: u32, pub mc_baseaddr_low: u32, pub board_i2c_feature_id: u8, pub board_i2c_feature_gpio_id: u8, pub board_i2c_feature_slave_addr: u8, pub reserved3: u8, pub bootup_mvddq_mv: u16, pub bootup_mvpp_mv: u16, pub zfbstartaddrin16mb: u32, pub reserved2: [u32; 3usize], } #[test] fn bindgen_test_layout_atom_firmware_info_v3_2() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(atom_firmware_info_v3_2)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_firmware_info_v3_2)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).firmware_revision) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(firmware_revision) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_sclk_in10khz) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(bootup_sclk_in10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mclk_in10khz) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(bootup_mclk_in10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).firmware_capability) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(firmware_capability) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).main_call_parser_entry) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(main_call_parser_entry) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bios_scratch_reg_startaddr) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(bios_scratch_reg_startaddr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vddc_mv) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(bootup_vddc_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vddci_mv) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(bootup_vddci_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mvddc_mv) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(bootup_mvddc_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vddgfx_mv) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(bootup_vddgfx_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_module_id) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(mem_module_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).coolingsolution_id) as usize - ptr as usize }, 37usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(coolingsolution_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_baseaddr_high) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(mc_baseaddr_high) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_baseaddr_low) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(mc_baseaddr_low) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).board_i2c_feature_id) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(board_i2c_feature_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).board_i2c_feature_gpio_id) as usize - ptr as usize }, 49usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(board_i2c_feature_gpio_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).board_i2c_feature_slave_addr) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(board_i2c_feature_slave_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize }, 51usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(reserved3) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mvddq_mv) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(bootup_mvddq_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mvpp_mv) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(bootup_mvpp_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).zfbstartaddrin16mb) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(zfbstartaddrin16mb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_2), "::", stringify!(reserved2) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_firmware_info_v3_3 { pub table_header: atom_common_table_header, pub firmware_revision: u32, pub bootup_sclk_in10khz: u32, pub bootup_mclk_in10khz: u32, pub firmware_capability: u32, pub main_call_parser_entry: u32, pub bios_scratch_reg_startaddr: u32, pub bootup_vddc_mv: u16, pub bootup_vddci_mv: u16, pub bootup_mvddc_mv: u16, pub bootup_vddgfx_mv: u16, pub mem_module_id: u8, pub coolingsolution_id: u8, pub reserved1: [u8; 2usize], pub mc_baseaddr_high: u32, pub mc_baseaddr_low: u32, pub board_i2c_feature_id: u8, pub board_i2c_feature_gpio_id: u8, pub board_i2c_feature_slave_addr: u8, pub reserved3: u8, pub bootup_mvddq_mv: u16, pub bootup_mvpp_mv: u16, pub zfbstartaddrin16mb: u32, pub pplib_pptable_id: u32, pub reserved2: [u32; 2usize], } #[test] fn bindgen_test_layout_atom_firmware_info_v3_3() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(atom_firmware_info_v3_3)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_firmware_info_v3_3)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).firmware_revision) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(firmware_revision) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_sclk_in10khz) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(bootup_sclk_in10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mclk_in10khz) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(bootup_mclk_in10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).firmware_capability) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(firmware_capability) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).main_call_parser_entry) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(main_call_parser_entry) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bios_scratch_reg_startaddr) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(bios_scratch_reg_startaddr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vddc_mv) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(bootup_vddc_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vddci_mv) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(bootup_vddci_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mvddc_mv) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(bootup_mvddc_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vddgfx_mv) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(bootup_vddgfx_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_module_id) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(mem_module_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).coolingsolution_id) as usize - ptr as usize }, 37usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(coolingsolution_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_baseaddr_high) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(mc_baseaddr_high) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_baseaddr_low) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(mc_baseaddr_low) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).board_i2c_feature_id) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(board_i2c_feature_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).board_i2c_feature_gpio_id) as usize - ptr as usize }, 49usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(board_i2c_feature_gpio_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).board_i2c_feature_slave_addr) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(board_i2c_feature_slave_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize }, 51usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(reserved3) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mvddq_mv) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(bootup_mvddq_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mvpp_mv) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(bootup_mvpp_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).zfbstartaddrin16mb) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(zfbstartaddrin16mb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pplib_pptable_id) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(pplib_pptable_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_3), "::", stringify!(reserved2) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_firmware_info_v3_4 { pub table_header: atom_common_table_header, pub firmware_revision: u32, pub bootup_sclk_in10khz: u32, pub bootup_mclk_in10khz: u32, pub firmware_capability: u32, pub main_call_parser_entry: u32, pub bios_scratch_reg_startaddr: u32, pub bootup_vddc_mv: u16, pub bootup_vddci_mv: u16, pub bootup_mvddc_mv: u16, pub bootup_vddgfx_mv: u16, pub mem_module_id: u8, pub coolingsolution_id: u8, pub reserved1: [u8; 2usize], pub mc_baseaddr_high: u32, pub mc_baseaddr_low: u32, pub board_i2c_feature_id: u8, pub board_i2c_feature_gpio_id: u8, pub board_i2c_feature_slave_addr: u8, pub ras_rom_i2c_slave_addr: u8, pub bootup_mvddq_mv: u16, pub bootup_mvpp_mv: u16, pub zfbstartaddrin16mb: u32, pub pplib_pptable_id: u32, pub mvdd_ratio: u32, pub hw_bootup_vddgfx_mv: u16, pub hw_bootup_vddc_mv: u16, pub hw_bootup_mvddc_mv: u16, pub hw_bootup_vddci_mv: u16, pub maco_pwrlimit_mw: u32, pub usb_pwrlimit_mw: u32, pub fw_reserved_size_in_kb: u32, pub pspbl_init_done_reg_addr: u32, pub pspbl_init_done_value: u32, pub pspbl_init_done_check_timeout: u32, pub reserved: [u32; 2usize], } #[test] fn bindgen_test_layout_atom_firmware_info_v3_4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 108usize, concat!("Size of: ", stringify!(atom_firmware_info_v3_4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_firmware_info_v3_4)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).firmware_revision) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(firmware_revision) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_sclk_in10khz) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(bootup_sclk_in10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mclk_in10khz) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(bootup_mclk_in10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).firmware_capability) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(firmware_capability) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).main_call_parser_entry) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(main_call_parser_entry) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bios_scratch_reg_startaddr) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(bios_scratch_reg_startaddr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vddc_mv) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(bootup_vddc_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vddci_mv) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(bootup_vddci_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mvddc_mv) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(bootup_mvddc_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vddgfx_mv) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(bootup_vddgfx_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_module_id) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(mem_module_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).coolingsolution_id) as usize - ptr as usize }, 37usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(coolingsolution_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_baseaddr_high) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(mc_baseaddr_high) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_baseaddr_low) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(mc_baseaddr_low) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).board_i2c_feature_id) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(board_i2c_feature_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).board_i2c_feature_gpio_id) as usize - ptr as usize }, 49usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(board_i2c_feature_gpio_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).board_i2c_feature_slave_addr) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(board_i2c_feature_slave_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ras_rom_i2c_slave_addr) as usize - ptr as usize }, 51usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(ras_rom_i2c_slave_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mvddq_mv) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(bootup_mvddq_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mvpp_mv) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(bootup_mvpp_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).zfbstartaddrin16mb) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(zfbstartaddrin16mb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pplib_pptable_id) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(pplib_pptable_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mvdd_ratio) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(mvdd_ratio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hw_bootup_vddgfx_mv) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(hw_bootup_vddgfx_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hw_bootup_vddc_mv) as usize - ptr as usize }, 70usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(hw_bootup_vddc_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hw_bootup_mvddc_mv) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(hw_bootup_mvddc_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hw_bootup_vddci_mv) as usize - ptr as usize }, 74usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(hw_bootup_vddci_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).maco_pwrlimit_mw) as usize - ptr as usize }, 76usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(maco_pwrlimit_mw) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).usb_pwrlimit_mw) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(usb_pwrlimit_mw) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fw_reserved_size_in_kb) as usize - ptr as usize }, 84usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(fw_reserved_size_in_kb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pspbl_init_done_reg_addr) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(pspbl_init_done_reg_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pspbl_init_done_value) as usize - ptr as usize }, 92usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(pspbl_init_done_value) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pspbl_init_done_check_timeout) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(pspbl_init_done_check_timeout) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 100usize, concat!( "Offset of field: ", stringify!(atom_firmware_info_v3_4), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct lcd_info_v2_1 { pub table_header: atom_common_table_header, pub lcd_timing: atom_dtd_format, pub backlight_pwm: u16, pub special_handle_cap: u16, pub panel_misc: u16, pub lvds_max_slink_pclk: u16, pub lvds_ss_percentage: u16, pub lvds_ss_rate_10hz: u16, pub pwr_on_digon_to_de: u8, pub pwr_on_de_to_vary_bl: u8, pub pwr_down_vary_bloff_to_de: u8, pub pwr_down_de_to_digoff: u8, pub pwr_off_delay: u8, pub pwr_on_vary_bl_to_blon: u8, pub pwr_down_bloff_to_vary_bloff: u8, pub panel_bpc: u8, pub dpcd_edp_config_cap: u8, pub dpcd_max_link_rate: u8, pub dpcd_max_lane_count: u8, pub dpcd_max_downspread: u8, pub min_allowed_bl_level: u8, pub max_allowed_bl_level: u8, pub bootup_bl_level: u8, pub dplvdsrxid: u8, pub reserved1: [u32; 8usize], } #[test] fn bindgen_test_layout_lcd_info_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 92usize, concat!("Size of: ", stringify!(lcd_info_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(lcd_info_v2_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lcd_timing) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(lcd_timing) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).backlight_pwm) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(backlight_pwm) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).special_handle_cap) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(special_handle_cap) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).panel_misc) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(panel_misc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lvds_max_slink_pclk) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(lvds_max_slink_pclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lvds_ss_percentage) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(lvds_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lvds_ss_rate_10hz) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(lvds_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_on_digon_to_de) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(pwr_on_digon_to_de) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_on_de_to_vary_bl) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(pwr_on_de_to_vary_bl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_down_vary_bloff_to_de) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(pwr_down_vary_bloff_to_de) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_down_de_to_digoff) as usize - ptr as usize }, 47usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(pwr_down_de_to_digoff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_off_delay) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(pwr_off_delay) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_on_vary_bl_to_blon) as usize - ptr as usize }, 49usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(pwr_on_vary_bl_to_blon) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_down_bloff_to_vary_bloff) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(pwr_down_bloff_to_vary_bloff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).panel_bpc) as usize - ptr as usize }, 51usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(panel_bpc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dpcd_edp_config_cap) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(dpcd_edp_config_cap) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dpcd_max_link_rate) as usize - ptr as usize }, 53usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(dpcd_max_link_rate) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dpcd_max_lane_count) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(dpcd_max_lane_count) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dpcd_max_downspread) as usize - ptr as usize }, 55usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(dpcd_max_downspread) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).min_allowed_bl_level) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(min_allowed_bl_level) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_allowed_bl_level) as usize - ptr as usize }, 57usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(max_allowed_bl_level) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_bl_level) as usize - ptr as usize }, 58usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(bootup_bl_level) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dplvdsrxid) as usize - ptr as usize }, 59usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(dplvdsrxid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(lcd_info_v2_1), "::", stringify!(reserved1) ) ); } pub const atom_lcd_info_panel_misc_ATOM_PANEL_MISC_FPDI: atom_lcd_info_panel_misc = 2; pub type atom_lcd_info_panel_misc = ::core::ffi::c_uint; pub const atom_lcd_info_dptolvds_rx_id_eDP_TO_LVDS_RX_DISABLE: atom_lcd_info_dptolvds_rx_id = 0; pub const atom_lcd_info_dptolvds_rx_id_eDP_TO_LVDS_COMMON_ID: atom_lcd_info_dptolvds_rx_id = 1; pub const atom_lcd_info_dptolvds_rx_id_eDP_TO_LVDS_REALTEK_ID: atom_lcd_info_dptolvds_rx_id = 2; pub type atom_lcd_info_dptolvds_rx_id = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_gpio_pin_assignment { pub data_a_reg_index: u32, pub gpio_bitshift: u8, pub gpio_mask_bitshift: u8, pub gpio_id: u8, pub reserved: u8, } #[test] fn bindgen_test_layout_atom_gpio_pin_assignment() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(atom_gpio_pin_assignment)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_gpio_pin_assignment)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).data_a_reg_index) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_gpio_pin_assignment), "::", stringify!(data_a_reg_index) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpio_bitshift) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_gpio_pin_assignment), "::", stringify!(gpio_bitshift) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpio_mask_bitshift) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_gpio_pin_assignment), "::", stringify!(gpio_mask_bitshift) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpio_id) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_gpio_pin_assignment), "::", stringify!(gpio_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_gpio_pin_assignment), "::", stringify!(reserved) ) ); } pub const atom_gpio_pin_assignment_gpio_id_I2C_HW_LANE_MUX: atom_gpio_pin_assignment_gpio_id = 15; pub const atom_gpio_pin_assignment_gpio_id_I2C_HW_ENGINE_ID_MASK: atom_gpio_pin_assignment_gpio_id = 112; pub const atom_gpio_pin_assignment_gpio_id_I2C_HW_CAP: atom_gpio_pin_assignment_gpio_id = 128; pub const atom_gpio_pin_assignment_gpio_id_PCIE_VDDC_CONTROL_GPIO_PINID: atom_gpio_pin_assignment_gpio_id = 56; pub const atom_gpio_pin_assignment_gpio_id_PP_AC_DC_SWITCH_GPIO_PINID: atom_gpio_pin_assignment_gpio_id = 60; pub const atom_gpio_pin_assignment_gpio_id_VDDC_VRHOT_GPIO_PINID: atom_gpio_pin_assignment_gpio_id = 61; pub const atom_gpio_pin_assignment_gpio_id_VDDC_PCC_GPIO_PINID: atom_gpio_pin_assignment_gpio_id = 62; pub const atom_gpio_pin_assignment_gpio_id_EFUSE_CUT_ENABLE_GPIO_PINID: atom_gpio_pin_assignment_gpio_id = 63; pub const atom_gpio_pin_assignment_gpio_id_DRAM_SELF_REFRESH_GPIO_PINID: atom_gpio_pin_assignment_gpio_id = 64; pub const atom_gpio_pin_assignment_gpio_id_THERMAL_INT_OUTPUT_GPIO_PINID: atom_gpio_pin_assignment_gpio_id = 65; pub type atom_gpio_pin_assignment_gpio_id = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_gpio_pin_lut_v2_1 { pub table_header: atom_common_table_header, pub gpio_pin: [atom_gpio_pin_assignment; 8usize], } #[test] fn bindgen_test_layout_atom_gpio_pin_lut_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 68usize, concat!("Size of: ", stringify!(atom_gpio_pin_lut_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_gpio_pin_lut_v2_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_gpio_pin_lut_v2_1), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpio_pin) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_gpio_pin_lut_v2_1), "::", stringify!(gpio_pin) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct vram_usagebyfirmware_v2_1 { pub table_header: atom_common_table_header, pub start_address_in_kb: u32, pub used_by_firmware_in_kb: u16, pub used_by_driver_in_kb: u16, } #[test] fn bindgen_test_layout_vram_usagebyfirmware_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(vram_usagebyfirmware_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(vram_usagebyfirmware_v2_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(vram_usagebyfirmware_v2_1), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).start_address_in_kb) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(vram_usagebyfirmware_v2_1), "::", stringify!(start_address_in_kb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).used_by_firmware_in_kb) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(vram_usagebyfirmware_v2_1), "::", stringify!(used_by_firmware_in_kb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).used_by_driver_in_kb) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(vram_usagebyfirmware_v2_1), "::", stringify!(used_by_driver_in_kb) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct vram_usagebyfirmware_v2_2 { pub table_header: atom_common_table_header, pub fw_region_start_address_in_kb: u32, pub used_by_firmware_in_kb: u16, pub reserved: u16, pub driver_region0_start_address_in_kb: u32, pub used_by_driver_region0_in_kb: u32, pub reserved32: [u32; 7usize], } #[test] fn bindgen_test_layout_vram_usagebyfirmware_v2_2() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(vram_usagebyfirmware_v2_2)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(vram_usagebyfirmware_v2_2)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(vram_usagebyfirmware_v2_2), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fw_region_start_address_in_kb) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(vram_usagebyfirmware_v2_2), "::", stringify!(fw_region_start_address_in_kb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).used_by_firmware_in_kb) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(vram_usagebyfirmware_v2_2), "::", stringify!(used_by_firmware_in_kb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(vram_usagebyfirmware_v2_2), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).driver_region0_start_address_in_kb) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(vram_usagebyfirmware_v2_2), "::", stringify!(driver_region0_start_address_in_kb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).used_by_driver_region0_in_kb) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(vram_usagebyfirmware_v2_2), "::", stringify!(used_by_driver_region0_in_kb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved32) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(vram_usagebyfirmware_v2_2), "::", stringify!(reserved32) ) ); } pub const atom_object_record_type_id_ATOM_I2C_RECORD_TYPE: atom_object_record_type_id = 1; pub const atom_object_record_type_id_ATOM_HPD_INT_RECORD_TYPE: atom_object_record_type_id = 2; pub const atom_object_record_type_id_ATOM_CONNECTOR_CAP_RECORD_TYPE: atom_object_record_type_id = 3; pub const atom_object_record_type_id_ATOM_CONNECTOR_SPEED_UPTO: atom_object_record_type_id = 4; pub const atom_object_record_type_id_ATOM_OBJECT_GPIO_CNTL_RECORD_TYPE: atom_object_record_type_id = 9; pub const atom_object_record_type_id_ATOM_CONNECTOR_HPDPIN_LUT_RECORD_TYPE: atom_object_record_type_id = 16; pub const atom_object_record_type_id_ATOM_CONNECTOR_AUXDDC_LUT_RECORD_TYPE: atom_object_record_type_id = 17; pub const atom_object_record_type_id_ATOM_ENCODER_CAP_RECORD_TYPE: atom_object_record_type_id = 20; pub const atom_object_record_type_id_ATOM_BRACKET_LAYOUT_RECORD_TYPE: atom_object_record_type_id = 21; pub const atom_object_record_type_id_ATOM_CONNECTOR_FORCED_TMDS_CAP_RECORD_TYPE: atom_object_record_type_id = 22; pub const atom_object_record_type_id_ATOM_DISP_CONNECTOR_CAPS_RECORD_TYPE: atom_object_record_type_id = 23; pub const atom_object_record_type_id_ATOM_BRACKET_LAYOUT_V2_RECORD_TYPE: atom_object_record_type_id = 25; pub const atom_object_record_type_id_ATOM_RECORD_END_TYPE: atom_object_record_type_id = 255; pub type atom_object_record_type_id = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_common_record_header { pub record_type: u8, pub record_size: u8, } #[test] fn bindgen_test_layout_atom_common_record_header() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(atom_common_record_header)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_common_record_header)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).record_type) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_common_record_header), "::", stringify!(record_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).record_size) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_common_record_header), "::", stringify!(record_size) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_i2c_record { pub record_header: atom_common_record_header, pub i2c_id: u8, pub i2c_slave_addr: u8, } #[test] fn bindgen_test_layout_atom_i2c_record() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(atom_i2c_record)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_i2c_record)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).record_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_i2c_record), "::", stringify!(record_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_id) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_i2c_record), "::", stringify!(i2c_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_slave_addr) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_i2c_record), "::", stringify!(i2c_slave_addr) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_hpd_int_record { pub record_header: atom_common_record_header, pub pin_id: u8, pub plugin_pin_state: u8, } #[test] fn bindgen_test_layout_atom_hpd_int_record() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(atom_hpd_int_record)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_hpd_int_record)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).record_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_hpd_int_record), "::", stringify!(record_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pin_id) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_hpd_int_record), "::", stringify!(pin_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).plugin_pin_state) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_hpd_int_record), "::", stringify!(plugin_pin_state) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_connector_caps_record { pub record_header: atom_common_record_header, pub connector_caps: u16, } #[test] fn bindgen_test_layout_atom_connector_caps_record() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(atom_connector_caps_record)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_connector_caps_record)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).record_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_connector_caps_record), "::", stringify!(record_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).connector_caps) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_connector_caps_record), "::", stringify!(connector_caps) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_connector_speed_record { pub record_header: atom_common_record_header, pub connector_max_speed: u32, pub reserved: u16, } #[test] fn bindgen_test_layout_atom_connector_speed_record() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(atom_connector_speed_record)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_connector_speed_record)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).record_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_connector_speed_record), "::", stringify!(record_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).connector_max_speed) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_connector_speed_record), "::", stringify!(connector_max_speed) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_connector_speed_record), "::", stringify!(reserved) ) ); } pub const atom_encoder_caps_def_ATOM_ENCODER_CAP_RECORD_HBR2: atom_encoder_caps_def = 1; pub const atom_encoder_caps_def_ATOM_ENCODER_CAP_RECORD_MST_EN: atom_encoder_caps_def = 1; pub const atom_encoder_caps_def_ATOM_ENCODER_CAP_RECORD_HBR2_EN: atom_encoder_caps_def = 2; pub const atom_encoder_caps_def_ATOM_ENCODER_CAP_RECORD_HDMI6Gbps_EN: atom_encoder_caps_def = 4; pub const atom_encoder_caps_def_ATOM_ENCODER_CAP_RECORD_HBR3_EN: atom_encoder_caps_def = 8; pub const atom_encoder_caps_def_ATOM_ENCODER_CAP_RECORD_DP2: atom_encoder_caps_def = 16; pub const atom_encoder_caps_def_ATOM_ENCODER_CAP_RECORD_UHBR10_EN: atom_encoder_caps_def = 32; pub const atom_encoder_caps_def_ATOM_ENCODER_CAP_RECORD_UHBR13_5_EN: atom_encoder_caps_def = 64; pub const atom_encoder_caps_def_ATOM_ENCODER_CAP_RECORD_UHBR20_EN: atom_encoder_caps_def = 128; pub const atom_encoder_caps_def_ATOM_ENCODER_CAP_RECORD_USB_C_TYPE: atom_encoder_caps_def = 256; pub type atom_encoder_caps_def = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_encoder_caps_record { pub record_header: atom_common_record_header, pub encodercaps: u32, } #[test] fn bindgen_test_layout_atom_encoder_caps_record() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 6usize, concat!("Size of: ", stringify!(atom_encoder_caps_record)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_encoder_caps_record)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).record_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_encoder_caps_record), "::", stringify!(record_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).encodercaps) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_encoder_caps_record), "::", stringify!(encodercaps) ) ); } pub const atom_connector_caps_def_ATOM_CONNECTOR_CAP_INTERNAL_DISPLAY: atom_connector_caps_def = 1; pub const atom_connector_caps_def_ATOM_CONNECTOR_CAP_INTERNAL_DISPLAY_BL: atom_connector_caps_def = 2; pub type atom_connector_caps_def = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_disp_connector_caps_record { pub record_header: atom_common_record_header, pub connectcaps: u32, } #[test] fn bindgen_test_layout_atom_disp_connector_caps_record() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 6usize, concat!("Size of: ", stringify!(atom_disp_connector_caps_record)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_disp_connector_caps_record)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).record_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_disp_connector_caps_record), "::", stringify!(record_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).connectcaps) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_disp_connector_caps_record), "::", stringify!(connectcaps) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_gpio_pin_control_pair { pub gpio_id: u8, pub gpio_pinstate: u8, } #[test] fn bindgen_test_layout_atom_gpio_pin_control_pair() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(atom_gpio_pin_control_pair)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_gpio_pin_control_pair)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpio_id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_gpio_pin_control_pair), "::", stringify!(gpio_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpio_pinstate) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_gpio_pin_control_pair), "::", stringify!(gpio_pinstate) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_object_gpio_cntl_record { pub record_header: atom_common_record_header, pub flag: u8, pub number_of_pins: u8, pub gpio: [atom_gpio_pin_control_pair; 1usize], } #[test] fn bindgen_test_layout_atom_object_gpio_cntl_record() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 6usize, concat!("Size of: ", stringify!(atom_object_gpio_cntl_record)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_object_gpio_cntl_record)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).record_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_object_gpio_cntl_record), "::", stringify!(record_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).flag) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_object_gpio_cntl_record), "::", stringify!(flag) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).number_of_pins) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_object_gpio_cntl_record), "::", stringify!(number_of_pins) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpio) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_object_gpio_cntl_record), "::", stringify!(gpio) ) ); } pub const atom_gpio_pin_control_pinstate_def_GPIO_PIN_TYPE_INPUT: atom_gpio_pin_control_pinstate_def = 0; pub const atom_gpio_pin_control_pinstate_def_GPIO_PIN_TYPE_OUTPUT: atom_gpio_pin_control_pinstate_def = 16; pub const atom_gpio_pin_control_pinstate_def_GPIO_PIN_TYPE_HW_CONTROL: atom_gpio_pin_control_pinstate_def = 32; pub const atom_gpio_pin_control_pinstate_def_GPIO_PIN_OUTPUT_STATE_MASK: atom_gpio_pin_control_pinstate_def = 1; pub const atom_gpio_pin_control_pinstate_def_GPIO_PIN_OUTPUT_STATE_SHIFT: atom_gpio_pin_control_pinstate_def = 0; pub const atom_gpio_pin_control_pinstate_def_GPIO_PIN_STATE_ACTIVE_LOW: atom_gpio_pin_control_pinstate_def = 0; pub const atom_gpio_pin_control_pinstate_def_GPIO_PIN_STATE_ACTIVE_HIGH: atom_gpio_pin_control_pinstate_def = 1; pub type atom_gpio_pin_control_pinstate_def = ::core::ffi::c_uint; pub const atom_glsync_record_gpio_index_def_ATOM_GPIO_INDEX_GLSYNC_REFCLK: atom_glsync_record_gpio_index_def = 0; pub const atom_glsync_record_gpio_index_def_ATOM_GPIO_INDEX_GLSYNC_HSYNC: atom_glsync_record_gpio_index_def = 1; pub const atom_glsync_record_gpio_index_def_ATOM_GPIO_INDEX_GLSYNC_VSYNC: atom_glsync_record_gpio_index_def = 2; pub const atom_glsync_record_gpio_index_def_ATOM_GPIO_INDEX_GLSYNC_SWAP_REQ: atom_glsync_record_gpio_index_def = 3; pub const atom_glsync_record_gpio_index_def_ATOM_GPIO_INDEX_GLSYNC_SWAP_GNT: atom_glsync_record_gpio_index_def = 4; pub const atom_glsync_record_gpio_index_def_ATOM_GPIO_INDEX_GLSYNC_INTERRUPT: atom_glsync_record_gpio_index_def = 5; pub const atom_glsync_record_gpio_index_def_ATOM_GPIO_INDEX_GLSYNC_V_RESET: atom_glsync_record_gpio_index_def = 6; pub const atom_glsync_record_gpio_index_def_ATOM_GPIO_INDEX_GLSYNC_SWAP_CNTL: atom_glsync_record_gpio_index_def = 7; pub const atom_glsync_record_gpio_index_def_ATOM_GPIO_INDEX_GLSYNC_SWAP_SEL: atom_glsync_record_gpio_index_def = 8; pub const atom_glsync_record_gpio_index_def_ATOM_GPIO_INDEX_GLSYNC_MAX: atom_glsync_record_gpio_index_def = 9; pub type atom_glsync_record_gpio_index_def = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_connector_hpdpin_lut_record { pub record_header: atom_common_record_header, pub hpd_pin_map: [u8; 8usize], } #[test] fn bindgen_test_layout_atom_connector_hpdpin_lut_record() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 10usize, concat!("Size of: ", stringify!(atom_connector_hpdpin_lut_record)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_connector_hpdpin_lut_record) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).record_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_connector_hpdpin_lut_record), "::", stringify!(record_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hpd_pin_map) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_connector_hpdpin_lut_record), "::", stringify!(hpd_pin_map) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_connector_auxddc_lut_record { pub record_header: atom_common_record_header, pub aux_ddc_map: [u8; 8usize], } #[test] fn bindgen_test_layout_atom_connector_auxddc_lut_record() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 10usize, concat!("Size of: ", stringify!(atom_connector_auxddc_lut_record)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_connector_auxddc_lut_record) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).record_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_connector_auxddc_lut_record), "::", stringify!(record_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).aux_ddc_map) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_connector_auxddc_lut_record), "::", stringify!(aux_ddc_map) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_connector_forced_tmds_cap_record { pub record_header: atom_common_record_header, pub maxtmdsclkrate_in2_5mhz: u8, pub reserved: u8, } #[test] fn bindgen_test_layout_atom_connector_forced_tmds_cap_record() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(atom_connector_forced_tmds_cap_record) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_connector_forced_tmds_cap_record) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).record_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_connector_forced_tmds_cap_record), "::", stringify!(record_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).maxtmdsclkrate_in2_5mhz) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_connector_forced_tmds_cap_record), "::", stringify!(maxtmdsclkrate_in2_5mhz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_connector_forced_tmds_cap_record), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_connector_layout_info { pub connectorobjid: u16, pub connector_type: u8, pub position: u8, } #[test] fn bindgen_test_layout_atom_connector_layout_info() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(atom_connector_layout_info)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_connector_layout_info)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).connectorobjid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_connector_layout_info), "::", stringify!(connectorobjid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).connector_type) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_connector_layout_info), "::", stringify!(connector_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).position) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_connector_layout_info), "::", stringify!(position) ) ); } pub const atom_connector_layout_info_connector_type_def_CONNECTOR_TYPE_DVI_D: atom_connector_layout_info_connector_type_def = 1; pub const atom_connector_layout_info_connector_type_def_CONNECTOR_TYPE_HDMI: atom_connector_layout_info_connector_type_def = 4; pub const atom_connector_layout_info_connector_type_def_CONNECTOR_TYPE_DISPLAY_PORT: atom_connector_layout_info_connector_type_def = 5; pub const atom_connector_layout_info_connector_type_def_CONNECTOR_TYPE_MINI_DISPLAY_PORT: atom_connector_layout_info_connector_type_def = 6; pub type atom_connector_layout_info_connector_type_def = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_bracket_layout_record { pub record_header: atom_common_record_header, pub bracketlen: u8, pub bracketwidth: u8, pub conn_num: u8, pub reserved: u8, pub conn_info: [atom_connector_layout_info; 1usize], } #[test] fn bindgen_test_layout_atom_bracket_layout_record() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 10usize, concat!("Size of: ", stringify!(atom_bracket_layout_record)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_bracket_layout_record)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).record_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_bracket_layout_record), "::", stringify!(record_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bracketlen) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_bracket_layout_record), "::", stringify!(bracketlen) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bracketwidth) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_bracket_layout_record), "::", stringify!(bracketwidth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).conn_num) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_bracket_layout_record), "::", stringify!(conn_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_bracket_layout_record), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).conn_info) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_bracket_layout_record), "::", stringify!(conn_info) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_bracket_layout_record_v2 { pub record_header: atom_common_record_header, pub bracketlen: u8, pub bracketwidth: u8, pub conn_num: u8, pub mini_type: u8, pub reserved1: u8, pub reserved2: u8, } #[test] fn bindgen_test_layout_atom_bracket_layout_record_v2() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(atom_bracket_layout_record_v2)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_bracket_layout_record_v2)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).record_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_bracket_layout_record_v2), "::", stringify!(record_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bracketlen) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_bracket_layout_record_v2), "::", stringify!(bracketlen) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bracketwidth) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_bracket_layout_record_v2), "::", stringify!(bracketwidth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).conn_num) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_bracket_layout_record_v2), "::", stringify!(conn_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mini_type) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_bracket_layout_record_v2), "::", stringify!(mini_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_bracket_layout_record_v2), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_bracket_layout_record_v2), "::", stringify!(reserved2) ) ); } pub const atom_connector_layout_info_mini_type_def_MINI_TYPE_NORMAL: atom_connector_layout_info_mini_type_def = 0; pub const atom_connector_layout_info_mini_type_def_MINI_TYPE_MINI: atom_connector_layout_info_mini_type_def = 1; pub type atom_connector_layout_info_mini_type_def = ::core::ffi::c_uint; pub const atom_display_device_tag_def_ATOM_DISPLAY_LCD1_SUPPORT: atom_display_device_tag_def = 2; pub const atom_display_device_tag_def_ATOM_DISPLAY_LCD2_SUPPORT: atom_display_device_tag_def = 32; pub const atom_display_device_tag_def_ATOM_DISPLAY_DFP1_SUPPORT: atom_display_device_tag_def = 8; pub const atom_display_device_tag_def_ATOM_DISPLAY_DFP2_SUPPORT: atom_display_device_tag_def = 128; pub const atom_display_device_tag_def_ATOM_DISPLAY_DFP3_SUPPORT: atom_display_device_tag_def = 512; pub const atom_display_device_tag_def_ATOM_DISPLAY_DFP4_SUPPORT: atom_display_device_tag_def = 1024; pub const atom_display_device_tag_def_ATOM_DISPLAY_DFP5_SUPPORT: atom_display_device_tag_def = 2048; pub const atom_display_device_tag_def_ATOM_DISPLAY_DFP6_SUPPORT: atom_display_device_tag_def = 64; pub const atom_display_device_tag_def_ATOM_DISPLAY_DFPx_SUPPORT: atom_display_device_tag_def = 3784; pub type atom_display_device_tag_def = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_display_object_path_v2 { pub display_objid: u16, pub disp_recordoffset: u16, pub encoderobjid: u16, pub extencoderobjid: u16, pub encoder_recordoffset: u16, pub extencoder_recordoffset: u16, pub device_tag: u16, pub priority_id: u8, pub reserved: u8, } #[test] fn bindgen_test_layout_atom_display_object_path_v2() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(atom_display_object_path_v2)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_display_object_path_v2)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).display_objid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v2), "::", stringify!(display_objid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).disp_recordoffset) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v2), "::", stringify!(disp_recordoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).encoderobjid) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v2), "::", stringify!(encoderobjid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).extencoderobjid) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v2), "::", stringify!(extencoderobjid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).encoder_recordoffset) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v2), "::", stringify!(encoder_recordoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).extencoder_recordoffset) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v2), "::", stringify!(extencoder_recordoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).device_tag) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v2), "::", stringify!(device_tag) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).priority_id) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v2), "::", stringify!(priority_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 15usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v2), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_display_object_path_v3 { pub display_objid: u16, pub disp_recordoffset: u16, pub encoderobjid: u16, pub reserved1: u16, pub reserved2: u16, pub reserved3: u16, pub device_tag: u16, pub reserved4: u16, } #[test] fn bindgen_test_layout_atom_display_object_path_v3() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(atom_display_object_path_v3)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_display_object_path_v3)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).display_objid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v3), "::", stringify!(display_objid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).disp_recordoffset) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v3), "::", stringify!(disp_recordoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).encoderobjid) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v3), "::", stringify!(encoderobjid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v3), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v3), "::", stringify!(reserved2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v3), "::", stringify!(reserved3) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).device_tag) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v3), "::", stringify!(device_tag) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved4) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_display_object_path_v3), "::", stringify!(reserved4) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct display_object_info_table_v1_4 { pub table_header: atom_common_table_header, pub supporteddevices: u16, pub number_of_path: u8, pub reserved: u8, pub display_path: [atom_display_object_path_v2; 8usize], } #[test] fn bindgen_test_layout_display_object_info_table_v1_4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 136usize, concat!("Size of: ", stringify!(display_object_info_table_v1_4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(display_object_info_table_v1_4)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(display_object_info_table_v1_4), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).supporteddevices) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(display_object_info_table_v1_4), "::", stringify!(supporteddevices) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).number_of_path) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(display_object_info_table_v1_4), "::", stringify!(number_of_path) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(display_object_info_table_v1_4), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).display_path) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(display_object_info_table_v1_4), "::", stringify!(display_path) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct display_object_info_table_v1_5 { pub table_header: atom_common_table_header, pub supporteddevices: u16, pub number_of_path: u8, pub reserved: u8, pub display_path: [atom_display_object_path_v3; 8usize], } #[test] fn bindgen_test_layout_display_object_info_table_v1_5() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 136usize, concat!("Size of: ", stringify!(display_object_info_table_v1_5)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(display_object_info_table_v1_5)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(display_object_info_table_v1_5), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).supporteddevices) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(display_object_info_table_v1_5), "::", stringify!(supporteddevices) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).number_of_path) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(display_object_info_table_v1_5), "::", stringify!(number_of_path) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(display_object_info_table_v1_5), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).display_path) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(display_object_info_table_v1_5), "::", stringify!(display_path) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_display_controller_info_v4_1 { pub table_header: atom_common_table_header, pub display_caps: u32, pub bootup_dispclk_10khz: u32, pub dce_refclk_10khz: u16, pub i2c_engine_refclk_10khz: u16, pub dvi_ss_percentage: u16, pub dvi_ss_rate_10hz: u16, pub hdmi_ss_percentage: u16, pub hdmi_ss_rate_10hz: u16, pub dp_ss_percentage: u16, pub dp_ss_rate_10hz: u16, pub dvi_ss_mode: u8, pub hdmi_ss_mode: u8, pub dp_ss_mode: u8, pub ss_reserved: u8, pub hardcode_mode_num: u8, pub reserved1: [u8; 3usize], pub dpphy_refclk_10khz: u16, pub reserved2: u16, pub dceip_min_ver: u8, pub dceip_max_ver: u8, pub max_disp_pipe_num: u8, pub max_vbios_active_disp_pipe_num: u8, pub max_ppll_num: u8, pub max_disp_phy_num: u8, pub max_aux_pairs: u8, pub remotedisplayconfig: u8, pub reserved3: [u8; 8usize], } #[test] fn bindgen_test_layout_atom_display_controller_info_v4_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 56usize, concat!("Size of: ", stringify!(atom_display_controller_info_v4_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_display_controller_info_v4_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).display_caps) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(display_caps) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dispclk_10khz) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(bootup_dispclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dce_refclk_10khz) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(dce_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_engine_refclk_10khz) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(i2c_engine_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_percentage) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(dvi_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_rate_10hz) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(dvi_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_percentage) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(hdmi_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_rate_10hz) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(hdmi_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_percentage) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(dp_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_rate_10hz) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(dp_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_mode) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(dvi_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_mode) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(hdmi_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_mode) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(dp_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ss_reserved) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(ss_reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hardcode_mode_num) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(hardcode_mode_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 33usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dpphy_refclk_10khz) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(dpphy_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(reserved2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dceip_min_ver) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(dceip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dceip_max_ver) as usize - ptr as usize }, 41usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(dceip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_disp_pipe_num) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(max_disp_pipe_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_vbios_active_disp_pipe_num) as usize - ptr as usize }, 43usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(max_vbios_active_disp_pipe_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_ppll_num) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(max_ppll_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_disp_phy_num) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(max_disp_phy_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_aux_pairs) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(max_aux_pairs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).remotedisplayconfig) as usize - ptr as usize }, 47usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(remotedisplayconfig) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_1), "::", stringify!(reserved3) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_display_controller_info_v4_2 { pub table_header: atom_common_table_header, pub display_caps: u32, pub bootup_dispclk_10khz: u32, pub dce_refclk_10khz: u16, pub i2c_engine_refclk_10khz: u16, pub dvi_ss_percentage: u16, pub dvi_ss_rate_10hz: u16, pub hdmi_ss_percentage: u16, pub hdmi_ss_rate_10hz: u16, pub dp_ss_percentage: u16, pub dp_ss_rate_10hz: u16, pub dvi_ss_mode: u8, pub hdmi_ss_mode: u8, pub dp_ss_mode: u8, pub ss_reserved: u8, pub dfp_hardcode_mode_num: u8, pub dfp_hardcode_refreshrate: u8, pub vga_hardcode_mode_num: u8, pub vga_hardcode_refreshrate: u8, pub dpphy_refclk_10khz: u16, pub reserved2: u16, pub dcnip_min_ver: u8, pub dcnip_max_ver: u8, pub max_disp_pipe_num: u8, pub max_vbios_active_disp_pipe_num: u8, pub max_ppll_num: u8, pub max_disp_phy_num: u8, pub max_aux_pairs: u8, pub remotedisplayconfig: u8, pub reserved3: [u8; 8usize], } #[test] fn bindgen_test_layout_atom_display_controller_info_v4_2() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 56usize, concat!("Size of: ", stringify!(atom_display_controller_info_v4_2)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_display_controller_info_v4_2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).display_caps) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(display_caps) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dispclk_10khz) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(bootup_dispclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dce_refclk_10khz) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(dce_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_engine_refclk_10khz) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(i2c_engine_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_percentage) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(dvi_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_rate_10hz) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(dvi_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_percentage) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(hdmi_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_rate_10hz) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(hdmi_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_percentage) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(dp_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_rate_10hz) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(dp_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_mode) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(dvi_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_mode) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(hdmi_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_mode) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(dp_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ss_reserved) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(ss_reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dfp_hardcode_mode_num) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(dfp_hardcode_mode_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dfp_hardcode_refreshrate) as usize - ptr as usize }, 33usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(dfp_hardcode_refreshrate) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vga_hardcode_mode_num) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(vga_hardcode_mode_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vga_hardcode_refreshrate) as usize - ptr as usize }, 35usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(vga_hardcode_refreshrate) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dpphy_refclk_10khz) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(dpphy_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(reserved2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dcnip_min_ver) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(dcnip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dcnip_max_ver) as usize - ptr as usize }, 41usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(dcnip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_disp_pipe_num) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(max_disp_pipe_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_vbios_active_disp_pipe_num) as usize - ptr as usize }, 43usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(max_vbios_active_disp_pipe_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_ppll_num) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(max_ppll_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_disp_phy_num) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(max_disp_phy_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_aux_pairs) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(max_aux_pairs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).remotedisplayconfig) as usize - ptr as usize }, 47usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(remotedisplayconfig) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_2), "::", stringify!(reserved3) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_display_controller_info_v4_3 { pub table_header: atom_common_table_header, pub display_caps: u32, pub bootup_dispclk_10khz: u32, pub dce_refclk_10khz: u16, pub i2c_engine_refclk_10khz: u16, pub dvi_ss_percentage: u16, pub dvi_ss_rate_10hz: u16, pub hdmi_ss_percentage: u16, pub hdmi_ss_rate_10hz: u16, pub dp_ss_percentage: u16, pub dp_ss_rate_10hz: u16, pub dvi_ss_mode: u8, pub hdmi_ss_mode: u8, pub dp_ss_mode: u8, pub ss_reserved: u8, pub dfp_hardcode_mode_num: u8, pub dfp_hardcode_refreshrate: u8, pub vga_hardcode_mode_num: u8, pub vga_hardcode_refreshrate: u8, pub dpphy_refclk_10khz: u16, pub reserved2: u16, pub dcnip_min_ver: u8, pub dcnip_max_ver: u8, pub max_disp_pipe_num: u8, pub max_vbios_active_disp_pipe_num: u8, pub max_ppll_num: u8, pub max_disp_phy_num: u8, pub max_aux_pairs: u8, pub remotedisplayconfig: u8, pub reserved3: [u8; 8usize], } #[test] fn bindgen_test_layout_atom_display_controller_info_v4_3() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 56usize, concat!("Size of: ", stringify!(atom_display_controller_info_v4_3)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_display_controller_info_v4_3) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).display_caps) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(display_caps) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dispclk_10khz) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(bootup_dispclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dce_refclk_10khz) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(dce_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_engine_refclk_10khz) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(i2c_engine_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_percentage) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(dvi_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_rate_10hz) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(dvi_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_percentage) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(hdmi_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_rate_10hz) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(hdmi_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_percentage) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(dp_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_rate_10hz) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(dp_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_mode) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(dvi_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_mode) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(hdmi_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_mode) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(dp_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ss_reserved) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(ss_reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dfp_hardcode_mode_num) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(dfp_hardcode_mode_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dfp_hardcode_refreshrate) as usize - ptr as usize }, 33usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(dfp_hardcode_refreshrate) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vga_hardcode_mode_num) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(vga_hardcode_mode_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vga_hardcode_refreshrate) as usize - ptr as usize }, 35usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(vga_hardcode_refreshrate) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dpphy_refclk_10khz) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(dpphy_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(reserved2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dcnip_min_ver) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(dcnip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dcnip_max_ver) as usize - ptr as usize }, 41usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(dcnip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_disp_pipe_num) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(max_disp_pipe_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_vbios_active_disp_pipe_num) as usize - ptr as usize }, 43usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(max_vbios_active_disp_pipe_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_ppll_num) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(max_ppll_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_disp_phy_num) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(max_disp_phy_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_aux_pairs) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(max_aux_pairs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).remotedisplayconfig) as usize - ptr as usize }, 47usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(remotedisplayconfig) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_3), "::", stringify!(reserved3) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_display_controller_info_v4_4 { pub table_header: atom_common_table_header, pub display_caps: u32, pub bootup_dispclk_10khz: u32, pub dce_refclk_10khz: u16, pub i2c_engine_refclk_10khz: u16, pub dvi_ss_percentage: u16, pub dvi_ss_rate_10hz: u16, pub hdmi_ss_percentage: u16, pub hdmi_ss_rate_10hz: u16, pub dp_ss_percentage: u16, pub dp_ss_rate_10hz: u16, pub dvi_ss_mode: u8, pub hdmi_ss_mode: u8, pub dp_ss_mode: u8, pub ss_reserved: u8, pub dfp_hardcode_mode_num: u8, pub dfp_hardcode_refreshrate: u8, pub vga_hardcode_mode_num: u8, pub vga_hardcode_refreshrate: u8, pub dpphy_refclk_10khz: u16, pub hw_chip_id: u16, pub dcnip_min_ver: u8, pub dcnip_max_ver: u8, pub max_disp_pipe_num: u8, pub max_vbios_active_disp_pipum: u8, pub max_ppll_num: u8, pub max_disp_phy_num: u8, pub max_aux_pairs: u8, pub remotedisplayconfig: u8, pub dispclk_pll_vco_freq: u32, pub dp_ref_clk_freq: u32, pub max_mclk_chg_lat: u32, pub max_sr_exit_lat: u32, pub max_sr_enter_exit_lat: u32, pub dc_golden_table_offset: u16, pub dc_golden_table_ver: u16, pub reserved3: [u32; 3usize], } #[test] fn bindgen_test_layout_atom_display_controller_info_v4_4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 84usize, concat!("Size of: ", stringify!(atom_display_controller_info_v4_4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_display_controller_info_v4_4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).display_caps) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(display_caps) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dispclk_10khz) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(bootup_dispclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dce_refclk_10khz) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dce_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_engine_refclk_10khz) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(i2c_engine_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_percentage) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dvi_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_rate_10hz) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dvi_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_percentage) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(hdmi_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_rate_10hz) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(hdmi_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_percentage) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dp_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_rate_10hz) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dp_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_mode) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dvi_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_mode) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(hdmi_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_mode) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dp_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ss_reserved) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(ss_reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dfp_hardcode_mode_num) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dfp_hardcode_mode_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dfp_hardcode_refreshrate) as usize - ptr as usize }, 33usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dfp_hardcode_refreshrate) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vga_hardcode_mode_num) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(vga_hardcode_mode_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vga_hardcode_refreshrate) as usize - ptr as usize }, 35usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(vga_hardcode_refreshrate) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dpphy_refclk_10khz) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dpphy_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hw_chip_id) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(hw_chip_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dcnip_min_ver) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dcnip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dcnip_max_ver) as usize - ptr as usize }, 41usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dcnip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_disp_pipe_num) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(max_disp_pipe_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_vbios_active_disp_pipum) as usize - ptr as usize }, 43usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(max_vbios_active_disp_pipum) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_ppll_num) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(max_ppll_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_disp_phy_num) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(max_disp_phy_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_aux_pairs) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(max_aux_pairs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).remotedisplayconfig) as usize - ptr as usize }, 47usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(remotedisplayconfig) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dispclk_pll_vco_freq) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dispclk_pll_vco_freq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ref_clk_freq) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dp_ref_clk_freq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_mclk_chg_lat) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(max_mclk_chg_lat) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_sr_exit_lat) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(max_sr_exit_lat) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_sr_enter_exit_lat) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(max_sr_enter_exit_lat) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_golden_table_offset) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dc_golden_table_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_golden_table_ver) as usize - ptr as usize }, 70usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(dc_golden_table_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_4), "::", stringify!(reserved3) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_dc_golden_table_v1 { pub aux_dphy_rx_control0_val: u32, pub aux_dphy_tx_control_val: u32, pub aux_dphy_rx_control1_val: u32, pub dc_gpio_aux_ctrl_0_val: u32, pub dc_gpio_aux_ctrl_1_val: u32, pub dc_gpio_aux_ctrl_2_val: u32, pub dc_gpio_aux_ctrl_3_val: u32, pub dc_gpio_aux_ctrl_4_val: u32, pub dc_gpio_aux_ctrl_5_val: u32, pub reserved: [u32; 23usize], } #[test] fn bindgen_test_layout_atom_dc_golden_table_v1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 128usize, concat!("Size of: ", stringify!(atom_dc_golden_table_v1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_dc_golden_table_v1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).aux_dphy_rx_control0_val) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_dc_golden_table_v1), "::", stringify!(aux_dphy_rx_control0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).aux_dphy_tx_control_val) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_dc_golden_table_v1), "::", stringify!(aux_dphy_tx_control_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).aux_dphy_rx_control1_val) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_dc_golden_table_v1), "::", stringify!(aux_dphy_rx_control1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_gpio_aux_ctrl_0_val) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_dc_golden_table_v1), "::", stringify!(dc_gpio_aux_ctrl_0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_gpio_aux_ctrl_1_val) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_dc_golden_table_v1), "::", stringify!(dc_gpio_aux_ctrl_1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_gpio_aux_ctrl_2_val) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_dc_golden_table_v1), "::", stringify!(dc_gpio_aux_ctrl_2_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_gpio_aux_ctrl_3_val) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_dc_golden_table_v1), "::", stringify!(dc_gpio_aux_ctrl_3_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_gpio_aux_ctrl_4_val) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_dc_golden_table_v1), "::", stringify!(dc_gpio_aux_ctrl_4_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_gpio_aux_ctrl_5_val) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_dc_golden_table_v1), "::", stringify!(dc_gpio_aux_ctrl_5_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_dc_golden_table_v1), "::", stringify!(reserved) ) ); } pub const dce_info_caps_def_DCE_INFO_CAPS_FORCE_DISPDEV_CONNECTED: dce_info_caps_def = 2; pub const dce_info_caps_def_DCE_INFO_CAPS_DISABLE_DFP_DP_HBR2: dce_info_caps_def = 4; pub const dce_info_caps_def_DCE_INFO_CAPS_ENABLE_INTERLAC_TIMING: dce_info_caps_def = 8; pub const dce_info_caps_def_DCE_INFO_CAPS_LTTPR_SUPPORT_ENABLE: dce_info_caps_def = 32; pub const dce_info_caps_def_DCE_INFO_CAPS_VBIOS_LTTPR_TRANSPARENT_ENABLE: dce_info_caps_def = 64; pub type dce_info_caps_def = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_display_controller_info_v4_5 { pub table_header: atom_common_table_header, pub display_caps: u32, pub bootup_dispclk_10khz: u32, pub dce_refclk_10khz: u16, pub i2c_engine_refclk_10khz: u16, pub dvi_ss_percentage: u16, pub dvi_ss_rate_10hz: u16, pub hdmi_ss_percentage: u16, pub hdmi_ss_rate_10hz: u16, pub dp_ss_percentage: u16, pub dp_ss_rate_10hz: u16, pub dvi_ss_mode: u8, pub hdmi_ss_mode: u8, pub dp_ss_mode: u8, pub ss_reserved: u8, pub dfp_hardcode_mode_num: u8, pub dfp_hardcode_refreshrate: u8, pub vga_hardcode_mode_num: u8, pub vga_hardcode_refreshrate: u8, pub dpphy_refclk_10khz: u16, pub hw_chip_id: u16, pub dcnip_min_ver: u8, pub dcnip_max_ver: u8, pub max_disp_pipe_num: u8, pub max_vbios_active_disp_pipe_num: u8, pub max_ppll_num: u8, pub max_disp_phy_num: u8, pub max_aux_pairs: u8, pub remotedisplayconfig: u8, pub dispclk_pll_vco_freq: u32, pub dp_ref_clk_freq: u32, pub max_mclk_chg_lat: u32, pub max_sr_exit_lat: u32, pub max_sr_enter_exit_lat: u32, pub dc_golden_table_offset: u16, pub dc_golden_table_ver: u16, pub aux_dphy_rx_control0_val: u32, pub aux_dphy_tx_control_val: u32, pub aux_dphy_rx_control1_val: u32, pub dc_gpio_aux_ctrl_0_val: u32, pub dc_gpio_aux_ctrl_1_val: u32, pub dc_gpio_aux_ctrl_2_val: u32, pub dc_gpio_aux_ctrl_3_val: u32, pub dc_gpio_aux_ctrl_4_val: u32, pub dc_gpio_aux_ctrl_5_val: u32, pub reserved: [u32; 26usize], } #[test] fn bindgen_test_layout_atom_display_controller_info_v4_5() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 212usize, concat!("Size of: ", stringify!(atom_display_controller_info_v4_5)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_display_controller_info_v4_5) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).display_caps) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(display_caps) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dispclk_10khz) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(bootup_dispclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dce_refclk_10khz) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dce_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_engine_refclk_10khz) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(i2c_engine_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_percentage) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dvi_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_rate_10hz) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dvi_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_percentage) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(hdmi_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_rate_10hz) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(hdmi_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_percentage) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dp_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_rate_10hz) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dp_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_mode) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dvi_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_mode) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(hdmi_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ss_mode) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dp_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ss_reserved) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(ss_reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dfp_hardcode_mode_num) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dfp_hardcode_mode_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dfp_hardcode_refreshrate) as usize - ptr as usize }, 33usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dfp_hardcode_refreshrate) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vga_hardcode_mode_num) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(vga_hardcode_mode_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vga_hardcode_refreshrate) as usize - ptr as usize }, 35usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(vga_hardcode_refreshrate) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dpphy_refclk_10khz) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dpphy_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hw_chip_id) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(hw_chip_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dcnip_min_ver) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dcnip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dcnip_max_ver) as usize - ptr as usize }, 41usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dcnip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_disp_pipe_num) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(max_disp_pipe_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_vbios_active_disp_pipe_num) as usize - ptr as usize }, 43usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(max_vbios_active_disp_pipe_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_ppll_num) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(max_ppll_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_disp_phy_num) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(max_disp_phy_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_aux_pairs) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(max_aux_pairs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).remotedisplayconfig) as usize - ptr as usize }, 47usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(remotedisplayconfig) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dispclk_pll_vco_freq) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dispclk_pll_vco_freq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_ref_clk_freq) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dp_ref_clk_freq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_mclk_chg_lat) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(max_mclk_chg_lat) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_sr_exit_lat) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(max_sr_exit_lat) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_sr_enter_exit_lat) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(max_sr_enter_exit_lat) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_golden_table_offset) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dc_golden_table_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_golden_table_ver) as usize - ptr as usize }, 70usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dc_golden_table_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).aux_dphy_rx_control0_val) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(aux_dphy_rx_control0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).aux_dphy_tx_control_val) as usize - ptr as usize }, 76usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(aux_dphy_tx_control_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).aux_dphy_rx_control1_val) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(aux_dphy_rx_control1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_gpio_aux_ctrl_0_val) as usize - ptr as usize }, 84usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dc_gpio_aux_ctrl_0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_gpio_aux_ctrl_1_val) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dc_gpio_aux_ctrl_1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_gpio_aux_ctrl_2_val) as usize - ptr as usize }, 92usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dc_gpio_aux_ctrl_2_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_gpio_aux_ctrl_3_val) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dc_gpio_aux_ctrl_3_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_gpio_aux_ctrl_4_val) as usize - ptr as usize }, 100usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dc_gpio_aux_ctrl_4_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dc_gpio_aux_ctrl_5_val) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(dc_gpio_aux_ctrl_5_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 108usize, concat!( "Offset of field: ", stringify!(atom_display_controller_info_v4_5), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_ext_display_path { pub device_tag: u16, pub device_acpi_enum: u16, pub connectorobjid: u16, pub auxddclut_index: u8, pub hpdlut_index: u8, pub ext_encoder_objid: u16, pub channelmapping: u8, pub chpninvert: u8, pub caps: u16, pub reserved: u16, } #[test] fn bindgen_test_layout_atom_ext_display_path() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(atom_ext_display_path)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_ext_display_path)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).device_tag) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_ext_display_path), "::", stringify!(device_tag) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).device_acpi_enum) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_ext_display_path), "::", stringify!(device_acpi_enum) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).connectorobjid) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_ext_display_path), "::", stringify!(connectorobjid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).auxddclut_index) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_ext_display_path), "::", stringify!(auxddclut_index) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hpdlut_index) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_ext_display_path), "::", stringify!(hpdlut_index) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ext_encoder_objid) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_ext_display_path), "::", stringify!(ext_encoder_objid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channelmapping) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_ext_display_path), "::", stringify!(channelmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).chpninvert) as usize - ptr as usize }, 11usize, concat!( "Offset of field: ", stringify!(atom_ext_display_path), "::", stringify!(chpninvert) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).caps) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_ext_display_path), "::", stringify!(caps) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_ext_display_path), "::", stringify!(reserved) ) ); } pub const ext_display_path_cap_def_EXT_DISPLAY_PATH_CAPS__HBR2_DISABLE: ext_display_path_cap_def = 1; pub const ext_display_path_cap_def_EXT_DISPLAY_PATH_CAPS__DP_FIXED_VS_EN: ext_display_path_cap_def = 2; pub const ext_display_path_cap_def_EXT_DISPLAY_PATH_CAPS__EXT_CHIP_MASK: ext_display_path_cap_def = 124; pub const ext_display_path_cap_def_EXT_DISPLAY_PATH_CAPS__HDMI20_PI3EQX1204: ext_display_path_cap_def = 4; pub const ext_display_path_cap_def_EXT_DISPLAY_PATH_CAPS__HDMI20_TISN65DP159RSBT: ext_display_path_cap_def = 8; pub const ext_display_path_cap_def_EXT_DISPLAY_PATH_CAPS__HDMI20_PARADE_PS175: ext_display_path_cap_def = 12; pub type ext_display_path_cap_def = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_external_display_connection_info { pub table_header: atom_common_table_header, pub guid: [u8; 16usize], pub path: [atom_ext_display_path; 7usize], pub checksum: u8, pub stereopinid: u8, pub remotedisplayconfig: u8, pub edptolvdsrxid: u8, pub fixdpvoltageswing: u8, pub reserved: [u8; 3usize], } #[test] fn bindgen_test_layout_atom_external_display_connection_info() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 140usize, concat!( "Size of: ", stringify!(atom_external_display_connection_info) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_external_display_connection_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_external_display_connection_info), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).guid) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_external_display_connection_info), "::", stringify!(guid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).path) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_external_display_connection_info), "::", stringify!(path) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).checksum) as usize - ptr as usize }, 132usize, concat!( "Offset of field: ", stringify!(atom_external_display_connection_info), "::", stringify!(checksum) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).stereopinid) as usize - ptr as usize }, 133usize, concat!( "Offset of field: ", stringify!(atom_external_display_connection_info), "::", stringify!(stereopinid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).remotedisplayconfig) as usize - ptr as usize }, 134usize, concat!( "Offset of field: ", stringify!(atom_external_display_connection_info), "::", stringify!(remotedisplayconfig) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edptolvdsrxid) as usize - ptr as usize }, 135usize, concat!( "Offset of field: ", stringify!(atom_external_display_connection_info), "::", stringify!(edptolvdsrxid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fixdpvoltageswing) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(atom_external_display_connection_info), "::", stringify!(fixdpvoltageswing) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 137usize, concat!( "Offset of field: ", stringify!(atom_external_display_connection_info), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_camera_dphy_timing_param { pub profile_id: u8, pub param: u32, } #[test] fn bindgen_test_layout_atom_camera_dphy_timing_param() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 5usize, concat!("Size of: ", stringify!(atom_camera_dphy_timing_param)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_camera_dphy_timing_param)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).profile_id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_camera_dphy_timing_param), "::", stringify!(profile_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).param) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_camera_dphy_timing_param), "::", stringify!(param) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_camera_dphy_elec_param { pub param: [u16; 3usize], } #[test] fn bindgen_test_layout_atom_camera_dphy_elec_param() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 6usize, concat!("Size of: ", stringify!(atom_camera_dphy_elec_param)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_camera_dphy_elec_param)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).param) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_camera_dphy_elec_param), "::", stringify!(param) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_camera_module_info { pub module_id: u8, pub module_name: [u8; 8usize], pub timingparam: [atom_camera_dphy_timing_param; 6usize], } #[test] fn bindgen_test_layout_atom_camera_module_info() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 39usize, concat!("Size of: ", stringify!(atom_camera_module_info)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_camera_module_info)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).module_id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_camera_module_info), "::", stringify!(module_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).module_name) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_camera_module_info), "::", stringify!(module_name) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).timingparam) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(atom_camera_module_info), "::", stringify!(timingparam) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_camera_flashlight_info { pub flashlight_id: u8, pub name: [u8; 8usize], } #[test] fn bindgen_test_layout_atom_camera_flashlight_info() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 9usize, concat!("Size of: ", stringify!(atom_camera_flashlight_info)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_camera_flashlight_info)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).flashlight_id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_camera_flashlight_info), "::", stringify!(flashlight_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).name) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_camera_flashlight_info), "::", stringify!(name) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_camera_data { pub versionCode: u32, pub cameraInfo: [atom_camera_module_info; 3usize], pub flashInfo: atom_camera_flashlight_info, pub dphy_param: atom_camera_dphy_elec_param, pub crc_val: u32, } #[test] fn bindgen_test_layout_atom_camera_data() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 140usize, concat!("Size of: ", stringify!(atom_camera_data)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_camera_data)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).versionCode) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_camera_data), "::", stringify!(versionCode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cameraInfo) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_camera_data), "::", stringify!(cameraInfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).flashInfo) as usize - ptr as usize }, 121usize, concat!( "Offset of field: ", stringify!(atom_camera_data), "::", stringify!(flashInfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dphy_param) as usize - ptr as usize }, 130usize, concat!( "Offset of field: ", stringify!(atom_camera_data), "::", stringify!(dphy_param) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).crc_val) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(atom_camera_data), "::", stringify!(crc_val) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_14nm_dpphy_dvihdmi_tuningset { pub max_symclk_in10khz: u32, pub encoder_mode: u8, pub phy_sel: u8, pub margindeemph: u16, pub deemph_6db_4: u8, pub boostadj: u8, pub tx_driver_fifty_ohms: u8, pub deemph_sel: u8, } #[test] fn bindgen_test_layout_atom_14nm_dpphy_dvihdmi_tuningset() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(atom_14nm_dpphy_dvihdmi_tuningset)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_14nm_dpphy_dvihdmi_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_symclk_in10khz) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dvihdmi_tuningset), "::", stringify!(max_symclk_in10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).encoder_mode) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dvihdmi_tuningset), "::", stringify!(encoder_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phy_sel) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dvihdmi_tuningset), "::", stringify!(phy_sel) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).margindeemph) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dvihdmi_tuningset), "::", stringify!(margindeemph) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).deemph_6db_4) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dvihdmi_tuningset), "::", stringify!(deemph_6db_4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).boostadj) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dvihdmi_tuningset), "::", stringify!(boostadj) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_driver_fifty_ohms) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dvihdmi_tuningset), "::", stringify!(tx_driver_fifty_ohms) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).deemph_sel) as usize - ptr as usize }, 11usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dvihdmi_tuningset), "::", stringify!(deemph_sel) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_14nm_dpphy_dp_setting { pub dp_vs_pemph_level: u8, pub margindeemph: u16, pub deemph_6db_4: u8, pub boostadj: u8, } #[test] fn bindgen_test_layout_atom_14nm_dpphy_dp_setting() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 5usize, concat!("Size of: ", stringify!(atom_14nm_dpphy_dp_setting)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_14nm_dpphy_dp_setting)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_vs_pemph_level) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dp_setting), "::", stringify!(dp_vs_pemph_level) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).margindeemph) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dp_setting), "::", stringify!(margindeemph) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).deemph_6db_4) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dp_setting), "::", stringify!(deemph_6db_4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).boostadj) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dp_setting), "::", stringify!(boostadj) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_14nm_dpphy_dp_tuningset { pub phy_sel: u8, pub version: u8, pub table_size: u16, pub reserved: u16, pub dptuning: [atom_14nm_dpphy_dp_setting; 10usize], } #[test] fn bindgen_test_layout_atom_14nm_dpphy_dp_tuningset() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 56usize, concat!("Size of: ", stringify!(atom_14nm_dpphy_dp_tuningset)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_14nm_dpphy_dp_tuningset)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phy_sel) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dp_tuningset), "::", stringify!(phy_sel) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dp_tuningset), "::", stringify!(version) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_size) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dp_tuningset), "::", stringify!(table_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dp_tuningset), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dptuning) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_14nm_dpphy_dp_tuningset), "::", stringify!(dptuning) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_14nm_dig_transmitter_info_header_v4_0 { pub table_header: atom_common_table_header, pub pcie_phy_tmds_hdmi_macro_settings_offset: u16, pub uniphy_vs_emph_lookup_table_offset: u16, pub uniphy_xbar_settings_table_offset: u16, } #[test] fn bindgen_test_layout_atom_14nm_dig_transmitter_info_header_v4_0() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 10usize, concat!( "Size of: ", stringify!(atom_14nm_dig_transmitter_info_header_v4_0) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_14nm_dig_transmitter_info_header_v4_0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_14nm_dig_transmitter_info_header_v4_0), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcie_phy_tmds_hdmi_macro_settings_offset) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_14nm_dig_transmitter_info_header_v4_0), "::", stringify!(pcie_phy_tmds_hdmi_macro_settings_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uniphy_vs_emph_lookup_table_offset) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_14nm_dig_transmitter_info_header_v4_0), "::", stringify!(uniphy_vs_emph_lookup_table_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uniphy_xbar_settings_table_offset) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_14nm_dig_transmitter_info_header_v4_0), "::", stringify!(uniphy_xbar_settings_table_offset) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_14nm_combphy_tmds_vs_set { pub sym_clk: u8, pub dig_mode: u8, pub phy_sel: u8, pub common_mar_deemph_nom__margin_deemph_val: u16, pub common_seldeemph60__deemph_6db_4_val: u8, pub cmd_bus_global_for_tx_lane0__boostadj_val: u8, pub common_zcalcode_ctrl__tx_driver_fifty_ohms_val: u8, pub margin_deemph_lane0__deemph_sel_val: u8, } #[test] fn bindgen_test_layout_atom_14nm_combphy_tmds_vs_set() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 9usize, concat!("Size of: ", stringify!(atom_14nm_combphy_tmds_vs_set)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_14nm_combphy_tmds_vs_set)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sym_clk) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_14nm_combphy_tmds_vs_set), "::", stringify!(sym_clk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dig_mode) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_14nm_combphy_tmds_vs_set), "::", stringify!(dig_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phy_sel) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_14nm_combphy_tmds_vs_set), "::", stringify!(phy_sel) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).common_mar_deemph_nom__margin_deemph_val) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_14nm_combphy_tmds_vs_set), "::", stringify!(common_mar_deemph_nom__margin_deemph_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).common_seldeemph60__deemph_6db_4_val) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_14nm_combphy_tmds_vs_set), "::", stringify!(common_seldeemph60__deemph_6db_4_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_bus_global_for_tx_lane0__boostadj_val) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_14nm_combphy_tmds_vs_set), "::", stringify!(cmd_bus_global_for_tx_lane0__boostadj_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).common_zcalcode_ctrl__tx_driver_fifty_ohms_val) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_14nm_combphy_tmds_vs_set), "::", stringify!(common_zcalcode_ctrl__tx_driver_fifty_ohms_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).margin_deemph_lane0__deemph_sel_val) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_14nm_combphy_tmds_vs_set), "::", stringify!(margin_deemph_lane0__deemph_sel_val) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_DCN_dpphy_dvihdmi_tuningset { pub max_symclk_in10khz: u32, pub encoder_mode: u8, pub phy_sel: u8, pub tx_eq_main: u8, pub tx_eq_pre: u8, pub tx_eq_post: u8, pub reserved1: u8, pub tx_vboost_lvl: u8, pub reserved2: u8, } #[test] fn bindgen_test_layout_atom_DCN_dpphy_dvihdmi_tuningset() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(atom_DCN_dpphy_dvihdmi_tuningset)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_DCN_dpphy_dvihdmi_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_symclk_in10khz) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dvihdmi_tuningset), "::", stringify!(max_symclk_in10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).encoder_mode) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dvihdmi_tuningset), "::", stringify!(encoder_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phy_sel) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dvihdmi_tuningset), "::", stringify!(phy_sel) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_eq_main) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dvihdmi_tuningset), "::", stringify!(tx_eq_main) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_eq_pre) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dvihdmi_tuningset), "::", stringify!(tx_eq_pre) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_eq_post) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dvihdmi_tuningset), "::", stringify!(tx_eq_post) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dvihdmi_tuningset), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_vboost_lvl) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dvihdmi_tuningset), "::", stringify!(tx_vboost_lvl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 11usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dvihdmi_tuningset), "::", stringify!(reserved2) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_DCN_dpphy_dp_setting { pub dp_vs_pemph_level: u8, pub tx_eq_main: u8, pub tx_eq_pre: u8, pub tx_eq_post: u8, pub tx_vboost_lvl: u8, } #[test] fn bindgen_test_layout_atom_DCN_dpphy_dp_setting() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 5usize, concat!("Size of: ", stringify!(atom_DCN_dpphy_dp_setting)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_DCN_dpphy_dp_setting)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_vs_pemph_level) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dp_setting), "::", stringify!(dp_vs_pemph_level) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_eq_main) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dp_setting), "::", stringify!(tx_eq_main) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_eq_pre) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dp_setting), "::", stringify!(tx_eq_pre) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_eq_post) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dp_setting), "::", stringify!(tx_eq_post) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_vboost_lvl) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dp_setting), "::", stringify!(tx_vboost_lvl) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_DCN_dpphy_dp_tuningset { pub phy_sel: u8, pub version: u8, pub table_size: u16, pub reserved: u16, pub dptunings: [atom_DCN_dpphy_dp_setting; 10usize], } #[test] fn bindgen_test_layout_atom_DCN_dpphy_dp_tuningset() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 56usize, concat!("Size of: ", stringify!(atom_DCN_dpphy_dp_tuningset)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_DCN_dpphy_dp_tuningset)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phy_sel) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dp_tuningset), "::", stringify!(phy_sel) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dp_tuningset), "::", stringify!(version) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_size) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dp_tuningset), "::", stringify!(table_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dp_tuningset), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dptunings) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_DCN_dpphy_dp_tuningset), "::", stringify!(dptunings) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_i2c_reg_info { pub ucI2cRegIndex: u8, pub ucI2cRegVal: u8, } #[test] fn bindgen_test_layout_atom_i2c_reg_info() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(atom_i2c_reg_info)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_i2c_reg_info)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ucI2cRegIndex) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_i2c_reg_info), "::", stringify!(ucI2cRegIndex) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ucI2cRegVal) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_i2c_reg_info), "::", stringify!(ucI2cRegVal) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_hdmi_retimer_redriver_set { pub HdmiSlvAddr: u8, pub HdmiRegNum: u8, pub Hdmi6GRegNum: u8, pub HdmiRegSetting: [atom_i2c_reg_info; 9usize], pub Hdmi6GhzRegSetting: [atom_i2c_reg_info; 3usize], } #[test] fn bindgen_test_layout_atom_hdmi_retimer_redriver_set() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 27usize, concat!("Size of: ", stringify!(atom_hdmi_retimer_redriver_set)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_hdmi_retimer_redriver_set)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).HdmiSlvAddr) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_hdmi_retimer_redriver_set), "::", stringify!(HdmiSlvAddr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).HdmiRegNum) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_hdmi_retimer_redriver_set), "::", stringify!(HdmiRegNum) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Hdmi6GRegNum) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_hdmi_retimer_redriver_set), "::", stringify!(Hdmi6GRegNum) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).HdmiRegSetting) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_hdmi_retimer_redriver_set), "::", stringify!(HdmiRegSetting) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Hdmi6GhzRegSetting) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_hdmi_retimer_redriver_set), "::", stringify!(Hdmi6GhzRegSetting) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_integrated_system_info_v1_11 { pub table_header: atom_common_table_header, pub vbios_misc: u32, pub gpucapinfo: u32, pub system_config: u32, pub cpucapinfo: u32, pub gpuclk_ss_percentage: u16, pub gpuclk_ss_type: u16, pub lvds_ss_percentage: u16, pub lvds_ss_rate_10hz: u16, pub hdmi_ss_percentage: u16, pub hdmi_ss_rate_10hz: u16, pub dvi_ss_percentage: u16, pub dvi_ss_rate_10hz: u16, pub dpphy_override: u16, pub lvds_misc: u16, pub backlight_pwm_hz: u16, pub memorytype: u8, pub umachannelnumber: u8, pub pwr_on_digon_to_de: u8, pub pwr_on_de_to_vary_bl: u8, pub pwr_down_vary_bloff_to_de: u8, pub pwr_down_de_to_digoff: u8, pub pwr_off_delay: u8, pub pwr_on_vary_bl_to_blon: u8, pub pwr_down_bloff_to_vary_bloff: u8, pub min_allowed_bl_level: u8, pub htc_hyst_limit: u8, pub htc_tmp_limit: u8, pub reserved1: u8, pub reserved2: u8, pub extdispconninfo: atom_external_display_connection_info, pub dvi_tuningset: atom_14nm_dpphy_dvihdmi_tuningset, pub hdmi_tuningset: atom_14nm_dpphy_dvihdmi_tuningset, pub hdmi6g_tuningset: atom_14nm_dpphy_dvihdmi_tuningset, pub dp_tuningset: atom_14nm_dpphy_dp_tuningset, pub dp_hbr3_tuningset: atom_14nm_dpphy_dp_tuningset, pub camera_info: atom_camera_data, pub dp0_retimer_set: atom_hdmi_retimer_redriver_set, pub dp1_retimer_set: atom_hdmi_retimer_redriver_set, pub dp2_retimer_set: atom_hdmi_retimer_redriver_set, pub dp3_retimer_set: atom_hdmi_retimer_redriver_set, pub dp_hbr_tuningset: atom_14nm_dpphy_dp_tuningset, pub dp_hbr2_tuningset: atom_14nm_dpphy_dp_tuningset, pub edp_tuningset: atom_14nm_dpphy_dp_tuningset, pub reserved: [u32; 66usize], } #[test] fn bindgen_test_layout_atom_integrated_system_info_v1_11() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 1024usize, concat!("Size of: ", stringify!(atom_integrated_system_info_v1_11)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_integrated_system_info_v1_11) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vbios_misc) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(vbios_misc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpucapinfo) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(gpucapinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).system_config) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(system_config) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cpucapinfo) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(cpucapinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_percentage) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(gpuclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_type) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(gpuclk_ss_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lvds_ss_percentage) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(lvds_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lvds_ss_rate_10hz) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(lvds_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_percentage) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(hdmi_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_rate_10hz) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(hdmi_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_percentage) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(dvi_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_rate_10hz) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(dvi_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dpphy_override) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(dpphy_override) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lvds_misc) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(lvds_misc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).backlight_pwm_hz) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(backlight_pwm_hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memorytype) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(memorytype) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umachannelnumber) as usize - ptr as usize }, 43usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(umachannelnumber) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_on_digon_to_de) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(pwr_on_digon_to_de) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_on_de_to_vary_bl) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(pwr_on_de_to_vary_bl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_down_vary_bloff_to_de) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(pwr_down_vary_bloff_to_de) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_down_de_to_digoff) as usize - ptr as usize }, 47usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(pwr_down_de_to_digoff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_off_delay) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(pwr_off_delay) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_on_vary_bl_to_blon) as usize - ptr as usize }, 49usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(pwr_on_vary_bl_to_blon) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_down_bloff_to_vary_bloff) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(pwr_down_bloff_to_vary_bloff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).min_allowed_bl_level) as usize - ptr as usize }, 51usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(min_allowed_bl_level) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).htc_hyst_limit) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(htc_hyst_limit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).htc_tmp_limit) as usize - ptr as usize }, 53usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(htc_tmp_limit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 55usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(reserved2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).extdispconninfo) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(extdispconninfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_tuningset) as usize - ptr as usize }, 196usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(dvi_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_tuningset) as usize - ptr as usize }, 208usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(hdmi_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi6g_tuningset) as usize - ptr as usize }, 220usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(hdmi6g_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_tuningset) as usize - ptr as usize }, 232usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(dp_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_hbr3_tuningset) as usize - ptr as usize }, 288usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(dp_hbr3_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).camera_info) as usize - ptr as usize }, 344usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(camera_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp0_retimer_set) as usize - ptr as usize }, 484usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(dp0_retimer_set) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp1_retimer_set) as usize - ptr as usize }, 511usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(dp1_retimer_set) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp2_retimer_set) as usize - ptr as usize }, 538usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(dp2_retimer_set) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp3_retimer_set) as usize - ptr as usize }, 565usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(dp3_retimer_set) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_hbr_tuningset) as usize - ptr as usize }, 592usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(dp_hbr_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp_hbr2_tuningset) as usize - ptr as usize }, 648usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(dp_hbr2_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp_tuningset) as usize - ptr as usize }, 704usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(edp_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 760usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_11), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_integrated_system_info_v1_12 { pub table_header: atom_common_table_header, pub vbios_misc: u32, pub gpucapinfo: u32, pub system_config: u32, pub cpucapinfo: u32, pub gpuclk_ss_percentage: u16, pub gpuclk_ss_type: u16, pub lvds_ss_percentage: u16, pub lvds_ss_rate_10hz: u16, pub hdmi_ss_percentage: u16, pub hdmi_ss_rate_10hz: u16, pub dvi_ss_percentage: u16, pub dvi_ss_rate_10hz: u16, pub dpphy_override: u16, pub lvds_misc: u16, pub backlight_pwm_hz: u16, pub memorytype: u8, pub umachannelnumber: u8, pub pwr_on_digon_to_de: u8, pub pwr_on_de_to_vary_bl: u8, pub pwr_down_vary_bloff_to_de: u8, pub pwr_down_de_to_digoff: u8, pub pwr_off_delay: u8, pub pwr_on_vary_bl_to_blon: u8, pub pwr_down_bloff_to_vary_bloff: u8, pub min_allowed_bl_level: u8, pub htc_hyst_limit: u8, pub htc_tmp_limit: u8, pub reserved1: u8, pub reserved2: u8, pub extdispconninfo: atom_external_display_connection_info, pub TMDS_tuningset: atom_DCN_dpphy_dvihdmi_tuningset, pub hdmiCLK5_tuningset: atom_DCN_dpphy_dvihdmi_tuningset, pub hdmiCLK8_tuningset: atom_DCN_dpphy_dvihdmi_tuningset, pub rbr_tuningset: atom_DCN_dpphy_dp_tuningset, pub hbr3_tuningset: atom_DCN_dpphy_dp_tuningset, pub camera_info: atom_camera_data, pub dp0_retimer_set: atom_hdmi_retimer_redriver_set, pub dp1_retimer_set: atom_hdmi_retimer_redriver_set, pub dp2_retimer_set: atom_hdmi_retimer_redriver_set, pub dp3_retimer_set: atom_hdmi_retimer_redriver_set, pub hbr_tuningset: atom_DCN_dpphy_dp_tuningset, pub hbr2_tuningset: atom_DCN_dpphy_dp_tuningset, pub edp_tunings: atom_DCN_dpphy_dp_tuningset, pub hdmiCLK6_tuningset: atom_DCN_dpphy_dvihdmi_tuningset, pub reserved: [u32; 63usize], } #[test] fn bindgen_test_layout_atom_integrated_system_info_v1_12() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 1024usize, concat!("Size of: ", stringify!(atom_integrated_system_info_v1_12)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_integrated_system_info_v1_12) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vbios_misc) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(vbios_misc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpucapinfo) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(gpucapinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).system_config) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(system_config) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cpucapinfo) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(cpucapinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_percentage) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(gpuclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_type) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(gpuclk_ss_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lvds_ss_percentage) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(lvds_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lvds_ss_rate_10hz) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(lvds_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_percentage) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(hdmi_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmi_ss_rate_10hz) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(hdmi_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_percentage) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(dvi_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dvi_ss_rate_10hz) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(dvi_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dpphy_override) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(dpphy_override) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lvds_misc) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(lvds_misc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).backlight_pwm_hz) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(backlight_pwm_hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memorytype) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(memorytype) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umachannelnumber) as usize - ptr as usize }, 43usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(umachannelnumber) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_on_digon_to_de) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(pwr_on_digon_to_de) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_on_de_to_vary_bl) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(pwr_on_de_to_vary_bl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_down_vary_bloff_to_de) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(pwr_down_vary_bloff_to_de) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_down_de_to_digoff) as usize - ptr as usize }, 47usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(pwr_down_de_to_digoff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_off_delay) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(pwr_off_delay) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_on_vary_bl_to_blon) as usize - ptr as usize }, 49usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(pwr_on_vary_bl_to_blon) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_down_bloff_to_vary_bloff) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(pwr_down_bloff_to_vary_bloff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).min_allowed_bl_level) as usize - ptr as usize }, 51usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(min_allowed_bl_level) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).htc_hyst_limit) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(htc_hyst_limit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).htc_tmp_limit) as usize - ptr as usize }, 53usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(htc_tmp_limit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 55usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(reserved2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).extdispconninfo) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(extdispconninfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).TMDS_tuningset) as usize - ptr as usize }, 196usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(TMDS_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmiCLK5_tuningset) as usize - ptr as usize }, 208usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(hdmiCLK5_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmiCLK8_tuningset) as usize - ptr as usize }, 220usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(hdmiCLK8_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).rbr_tuningset) as usize - ptr as usize }, 232usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(rbr_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hbr3_tuningset) as usize - ptr as usize }, 288usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(hbr3_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).camera_info) as usize - ptr as usize }, 344usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(camera_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp0_retimer_set) as usize - ptr as usize }, 484usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(dp0_retimer_set) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp1_retimer_set) as usize - ptr as usize }, 511usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(dp1_retimer_set) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp2_retimer_set) as usize - ptr as usize }, 538usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(dp2_retimer_set) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp3_retimer_set) as usize - ptr as usize }, 565usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(dp3_retimer_set) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hbr_tuningset) as usize - ptr as usize }, 592usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(hbr_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hbr2_tuningset) as usize - ptr as usize }, 648usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(hbr2_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp_tunings) as usize - ptr as usize }, 704usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(edp_tunings) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmiCLK6_tuningset) as usize - ptr as usize }, 760usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(hdmiCLK6_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 772usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v1_12), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct edp_info_table { pub edp_backlight_pwm_hz: u16, pub edp_ss_percentage: u16, pub edp_ss_rate_10hz: u16, pub reserved1: u16, pub reserved2: u32, pub edp_pwr_on_off_delay: u8, pub edp_pwr_on_vary_bl_to_blon: u8, pub edp_pwr_down_bloff_to_vary_bloff: u8, pub edp_panel_bpc: u8, pub edp_bootup_bl_level: u8, pub reserved3: [u8; 3usize], pub reserved4: [u32; 3usize], } #[test] fn bindgen_test_layout_edp_info_table() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(edp_info_table)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(edp_info_table)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp_backlight_pwm_hz) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(edp_info_table), "::", stringify!(edp_backlight_pwm_hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp_ss_percentage) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(edp_info_table), "::", stringify!(edp_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp_ss_rate_10hz) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(edp_info_table), "::", stringify!(edp_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(edp_info_table), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(edp_info_table), "::", stringify!(reserved2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp_pwr_on_off_delay) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(edp_info_table), "::", stringify!(edp_pwr_on_off_delay) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp_pwr_on_vary_bl_to_blon) as usize - ptr as usize }, 13usize, concat!( "Offset of field: ", stringify!(edp_info_table), "::", stringify!(edp_pwr_on_vary_bl_to_blon) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp_pwr_down_bloff_to_vary_bloff) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(edp_info_table), "::", stringify!(edp_pwr_down_bloff_to_vary_bloff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp_panel_bpc) as usize - ptr as usize }, 15usize, concat!( "Offset of field: ", stringify!(edp_info_table), "::", stringify!(edp_panel_bpc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp_bootup_bl_level) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(edp_info_table), "::", stringify!(edp_bootup_bl_level) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize }, 17usize, concat!( "Offset of field: ", stringify!(edp_info_table), "::", stringify!(reserved3) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved4) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(edp_info_table), "::", stringify!(reserved4) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_integrated_system_info_v2_1 { pub table_header: atom_common_table_header, pub vbios_misc: u32, pub gpucapinfo: u32, pub system_config: u32, pub cpucapinfo: u32, pub gpuclk_ss_percentage: u16, pub gpuclk_ss_type: u16, pub dpphy_override: u16, pub memorytype: u8, pub umachannelnumber: u8, pub htc_hyst_limit: u8, pub htc_tmp_limit: u8, pub reserved1: u8, pub reserved2: u8, pub edp1_info: edp_info_table, pub edp2_info: edp_info_table, pub reserved3: [u32; 8usize], pub extdispconninfo: atom_external_display_connection_info, pub TMDS_tuningset: atom_DCN_dpphy_dvihdmi_tuningset, pub hdmiCLK5_tuningset: atom_DCN_dpphy_dvihdmi_tuningset, pub hdmiCLK6_tuningset: atom_DCN_dpphy_dvihdmi_tuningset, pub hdmiCLK8_tuningset: atom_DCN_dpphy_dvihdmi_tuningset, pub reserved4: [u32; 6usize], pub rbr_tuningset: atom_DCN_dpphy_dp_tuningset, pub hbr_tuningset: atom_DCN_dpphy_dp_tuningset, pub hbr2_tuningset: atom_DCN_dpphy_dp_tuningset, pub hbr3_tuningset: atom_DCN_dpphy_dp_tuningset, pub edp_tunings: atom_DCN_dpphy_dp_tuningset, pub reserved5: [u32; 28usize], pub dp0_retimer_set: atom_hdmi_retimer_redriver_set, pub dp1_retimer_set: atom_hdmi_retimer_redriver_set, pub dp2_retimer_set: atom_hdmi_retimer_redriver_set, pub dp3_retimer_set: atom_hdmi_retimer_redriver_set, pub reserved6: [u32; 30usize], pub reserved7: [u32; 32usize], } #[test] fn bindgen_test_layout_atom_integrated_system_info_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 1088usize, concat!("Size of: ", stringify!(atom_integrated_system_info_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_integrated_system_info_v2_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vbios_misc) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(vbios_misc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpucapinfo) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(gpucapinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).system_config) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(system_config) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cpucapinfo) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(cpucapinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_percentage) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(gpuclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_type) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(gpuclk_ss_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dpphy_override) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(dpphy_override) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memorytype) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(memorytype) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umachannelnumber) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(umachannelnumber) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).htc_hyst_limit) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(htc_hyst_limit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).htc_tmp_limit) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(htc_tmp_limit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(reserved2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp1_info) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(edp1_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp2_info) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(edp2_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(reserved3) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).extdispconninfo) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(extdispconninfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).TMDS_tuningset) as usize - ptr as usize }, 268usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(TMDS_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmiCLK5_tuningset) as usize - ptr as usize }, 280usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(hdmiCLK5_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmiCLK6_tuningset) as usize - ptr as usize }, 292usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(hdmiCLK6_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hdmiCLK8_tuningset) as usize - ptr as usize }, 304usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(hdmiCLK8_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved4) as usize - ptr as usize }, 316usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(reserved4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).rbr_tuningset) as usize - ptr as usize }, 340usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(rbr_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hbr_tuningset) as usize - ptr as usize }, 396usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(hbr_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hbr2_tuningset) as usize - ptr as usize }, 452usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(hbr2_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hbr3_tuningset) as usize - ptr as usize }, 508usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(hbr3_tuningset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp_tunings) as usize - ptr as usize }, 564usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(edp_tunings) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved5) as usize - ptr as usize }, 620usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(reserved5) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp0_retimer_set) as usize - ptr as usize }, 732usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(dp0_retimer_set) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp1_retimer_set) as usize - ptr as usize }, 759usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(dp1_retimer_set) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp2_retimer_set) as usize - ptr as usize }, 786usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(dp2_retimer_set) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dp3_retimer_set) as usize - ptr as usize }, 813usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(dp3_retimer_set) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved6) as usize - ptr as usize }, 840usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(reserved6) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved7) as usize - ptr as usize }, 960usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_1), "::", stringify!(reserved7) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_n6_display_phy_tuning_set { pub display_signal_type: u8, pub phy_sel: u8, pub preset_level: u8, pub reserved1: u8, pub reserved2: u32, pub speed_upto: u32, pub tx_vboost_level: u8, pub tx_vreg_v2i: u8, pub tx_vregdrv_byp: u8, pub tx_term_cntl: u8, pub tx_peak_level: u8, pub tx_slew_en: u8, pub tx_eq_pre: u8, pub tx_eq_main: u8, pub tx_eq_post: u8, pub tx_en_inv_pre: u8, pub tx_en_inv_post: u8, pub reserved3: u8, pub reserved4: u32, pub reserved5: u32, pub reserved6: u32, } #[test] fn bindgen_test_layout_atom_n6_display_phy_tuning_set() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 36usize, concat!("Size of: ", stringify!(atom_n6_display_phy_tuning_set)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_n6_display_phy_tuning_set)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).display_signal_type) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(display_signal_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phy_sel) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(phy_sel) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).preset_level) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(preset_level) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(reserved2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).speed_upto) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(speed_upto) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_vboost_level) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(tx_vboost_level) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_vreg_v2i) as usize - ptr as usize }, 13usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(tx_vreg_v2i) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_vregdrv_byp) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(tx_vregdrv_byp) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_term_cntl) as usize - ptr as usize }, 15usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(tx_term_cntl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_peak_level) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(tx_peak_level) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_slew_en) as usize - ptr as usize }, 17usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(tx_slew_en) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_eq_pre) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(tx_eq_pre) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_eq_main) as usize - ptr as usize }, 19usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(tx_eq_main) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_eq_post) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(tx_eq_post) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_en_inv_pre) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(tx_en_inv_pre) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tx_en_inv_post) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(tx_en_inv_post) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(reserved3) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved4) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(reserved4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved5) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(reserved5) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved6) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_n6_display_phy_tuning_set), "::", stringify!(reserved6) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_display_phy_tuning_info { pub table_header: atom_common_table_header, pub disp_phy_tuning: [atom_n6_display_phy_tuning_set; 1usize], } #[test] fn bindgen_test_layout_atom_display_phy_tuning_info() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(atom_display_phy_tuning_info)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_display_phy_tuning_info)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_display_phy_tuning_info), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).disp_phy_tuning) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_display_phy_tuning_info), "::", stringify!(disp_phy_tuning) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_integrated_system_info_v2_2 { pub table_header: atom_common_table_header, pub vbios_misc: u32, pub gpucapinfo: u32, pub system_config: u32, pub cpucapinfo: u32, pub gpuclk_ss_percentage: u16, pub gpuclk_ss_type: u16, pub dpphy_override: u16, pub memorytype: u8, pub umachannelnumber: u8, pub htc_hyst_limit: u8, pub htc_tmp_limit: u8, pub reserved1: u8, pub reserved2: u8, pub edp1_info: edp_info_table, pub edp2_info: edp_info_table, pub reserved3: [u32; 8usize], pub extdispconninfo: atom_external_display_connection_info, pub reserved4: [u32; 189usize], } #[test] fn bindgen_test_layout_atom_integrated_system_info_v2_2() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 1024usize, concat!("Size of: ", stringify!(atom_integrated_system_info_v2_2)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_integrated_system_info_v2_2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vbios_misc) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(vbios_misc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpucapinfo) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(gpucapinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).system_config) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(system_config) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cpucapinfo) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(cpucapinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_percentage) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(gpuclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_type) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(gpuclk_ss_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dpphy_override) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(dpphy_override) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memorytype) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(memorytype) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umachannelnumber) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(umachannelnumber) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).htc_hyst_limit) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(htc_hyst_limit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).htc_tmp_limit) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(htc_tmp_limit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(reserved2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp1_info) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(edp1_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).edp2_info) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(edp2_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(reserved3) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).extdispconninfo) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(extdispconninfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved4) as usize - ptr as usize }, 268usize, concat!( "Offset of field: ", stringify!(atom_integrated_system_info_v2_2), "::", stringify!(reserved4) ) ); } pub const atom_system_vbiosmisc_def_INTEGRATED_SYSTEM_INFO__GET_EDID_CALLBACK_FUNC_SUPPORT: atom_system_vbiosmisc_def = 1; pub type atom_system_vbiosmisc_def = ::core::ffi::c_uint; pub const atom_system_gpucapinf_def_SYS_INFO_GPUCAPS__ENABEL_DFS_BYPASS: atom_system_gpucapinf_def = 16; pub type atom_system_gpucapinf_def = ::core::ffi::c_uint; pub const atom_sysinfo_dpphy_override_def_ATOM_ENABLE_DVI_TUNINGSET: atom_sysinfo_dpphy_override_def = 1; pub const atom_sysinfo_dpphy_override_def_ATOM_ENABLE_HDMI_TUNINGSET: atom_sysinfo_dpphy_override_def = 2; pub const atom_sysinfo_dpphy_override_def_ATOM_ENABLE_HDMI6G_TUNINGSET: atom_sysinfo_dpphy_override_def = 4; pub const atom_sysinfo_dpphy_override_def_ATOM_ENABLE_DP_TUNINGSET: atom_sysinfo_dpphy_override_def = 8; pub const atom_sysinfo_dpphy_override_def_ATOM_ENABLE_DP_HBR3_TUNINGSET: atom_sysinfo_dpphy_override_def = 16; pub type atom_sysinfo_dpphy_override_def = ::core::ffi::c_uint; pub const atom_sys_info_lvds_misc_def_SYS_INFO_LVDS_MISC_888_FPDI_MODE: atom_sys_info_lvds_misc_def = 1; pub const atom_sys_info_lvds_misc_def_SYS_INFO_LVDS_MISC_888_BPC_MODE: atom_sys_info_lvds_misc_def = 4; pub const atom_sys_info_lvds_misc_def_SYS_INFO_LVDS_MISC_OVERRIDE_EN: atom_sys_info_lvds_misc_def = 8; pub type atom_sys_info_lvds_misc_def = ::core::ffi::c_uint; #[doc = "< Assign 01 to Other"] pub const atom_dmi_t17_mem_type_def_OtherMemType: atom_dmi_t17_mem_type_def = 1; #[doc = "< Assign 02 to Unknown"] pub const atom_dmi_t17_mem_type_def_UnknownMemType: atom_dmi_t17_mem_type_def = 2; #[doc = "< Assign 03 to DRAM"] pub const atom_dmi_t17_mem_type_def_DramMemType: atom_dmi_t17_mem_type_def = 3; #[doc = "< Assign 04 to EDRAM"] pub const atom_dmi_t17_mem_type_def_EdramMemType: atom_dmi_t17_mem_type_def = 4; #[doc = "< Assign 05 to VRAM"] pub const atom_dmi_t17_mem_type_def_VramMemType: atom_dmi_t17_mem_type_def = 5; #[doc = "< Assign 06 to SRAM"] pub const atom_dmi_t17_mem_type_def_SramMemType: atom_dmi_t17_mem_type_def = 6; #[doc = "< Assign 07 to RAM"] pub const atom_dmi_t17_mem_type_def_RamMemType: atom_dmi_t17_mem_type_def = 7; #[doc = "< Assign 08 to ROM"] pub const atom_dmi_t17_mem_type_def_RomMemType: atom_dmi_t17_mem_type_def = 8; #[doc = "< Assign 09 to Flash"] pub const atom_dmi_t17_mem_type_def_FlashMemType: atom_dmi_t17_mem_type_def = 9; #[doc = "< Assign 10 to EEPROM"] pub const atom_dmi_t17_mem_type_def_EepromMemType: atom_dmi_t17_mem_type_def = 10; #[doc = "< Assign 11 to FEPROM"] pub const atom_dmi_t17_mem_type_def_FepromMemType: atom_dmi_t17_mem_type_def = 11; #[doc = "< Assign 12 to EPROM"] pub const atom_dmi_t17_mem_type_def_EpromMemType: atom_dmi_t17_mem_type_def = 12; #[doc = "< Assign 13 to CDRAM"] pub const atom_dmi_t17_mem_type_def_CdramMemType: atom_dmi_t17_mem_type_def = 13; #[doc = "< Assign 14 to 3DRAM"] pub const atom_dmi_t17_mem_type_def_ThreeDramMemType: atom_dmi_t17_mem_type_def = 14; #[doc = "< Assign 15 to SDRAM"] pub const atom_dmi_t17_mem_type_def_SdramMemType: atom_dmi_t17_mem_type_def = 15; #[doc = "< Assign 16 to SGRAM"] pub const atom_dmi_t17_mem_type_def_SgramMemType: atom_dmi_t17_mem_type_def = 16; #[doc = "< Assign 17 to RDRAM"] pub const atom_dmi_t17_mem_type_def_RdramMemType: atom_dmi_t17_mem_type_def = 17; #[doc = "< Assign 18 to DDR"] pub const atom_dmi_t17_mem_type_def_DdrMemType: atom_dmi_t17_mem_type_def = 18; #[doc = "< Assign 19 to DDR2"] pub const atom_dmi_t17_mem_type_def_Ddr2MemType: atom_dmi_t17_mem_type_def = 19; #[doc = "< Assign 20 to DDR2 FB-DIMM"] pub const atom_dmi_t17_mem_type_def_Ddr2FbdimmMemType: atom_dmi_t17_mem_type_def = 20; #[doc = "< Assign 24 to DDR3"] pub const atom_dmi_t17_mem_type_def_Ddr3MemType: atom_dmi_t17_mem_type_def = 24; #[doc = "< Assign 25 to FBD2"] pub const atom_dmi_t17_mem_type_def_Fbd2MemType: atom_dmi_t17_mem_type_def = 25; #[doc = "< Assign 26 to DDR4"] pub const atom_dmi_t17_mem_type_def_Ddr4MemType: atom_dmi_t17_mem_type_def = 26; #[doc = "< Assign 27 to LPDDR"] pub const atom_dmi_t17_mem_type_def_LpDdrMemType: atom_dmi_t17_mem_type_def = 27; #[doc = "< Assign 28 to LPDDR2"] pub const atom_dmi_t17_mem_type_def_LpDdr2MemType: atom_dmi_t17_mem_type_def = 28; #[doc = "< Assign 29 to LPDDR3"] pub const atom_dmi_t17_mem_type_def_LpDdr3MemType: atom_dmi_t17_mem_type_def = 29; #[doc = "< Assign 30 to LPDDR4"] pub const atom_dmi_t17_mem_type_def_LpDdr4MemType: atom_dmi_t17_mem_type_def = 30; #[doc = "< Assign 31 to GDDR6"] pub const atom_dmi_t17_mem_type_def_GDdr6MemType: atom_dmi_t17_mem_type_def = 31; #[doc = "< Assign 32 to HBM"] pub const atom_dmi_t17_mem_type_def_HbmMemType: atom_dmi_t17_mem_type_def = 32; #[doc = "< Assign 33 to HBM2"] pub const atom_dmi_t17_mem_type_def_Hbm2MemType: atom_dmi_t17_mem_type_def = 33; #[doc = "< Assign 34 to DDR5"] pub const atom_dmi_t17_mem_type_def_Ddr5MemType: atom_dmi_t17_mem_type_def = 34; #[doc = "< Assign 35 to LPDDR5"] pub const atom_dmi_t17_mem_type_def_LpDdr5MemType: atom_dmi_t17_mem_type_def = 35; pub type atom_dmi_t17_mem_type_def = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_fusion_system_info_v4 { pub sysinfo: atom_integrated_system_info_v1_11, pub powerplayinfo: [u32; 256usize], } #[test] fn bindgen_test_layout_atom_fusion_system_info_v4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 2048usize, concat!("Size of: ", stringify!(atom_fusion_system_info_v4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_fusion_system_info_v4)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sysinfo) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_fusion_system_info_v4), "::", stringify!(sysinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).powerplayinfo) as usize - ptr as usize }, 1024usize, concat!( "Offset of field: ", stringify!(atom_fusion_system_info_v4), "::", stringify!(powerplayinfo) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_gfx_info_v2_2 { pub table_header: atom_common_table_header, pub gfxip_min_ver: u8, pub gfxip_max_ver: u8, pub max_shader_engines: u8, pub max_tile_pipes: u8, pub max_cu_per_sh: u8, pub max_sh_per_se: u8, pub max_backends_per_se: u8, pub max_texture_channel_caches: u8, pub regaddr_cp_dma_src_addr: u32, pub regaddr_cp_dma_src_addr_hi: u32, pub regaddr_cp_dma_dst_addr: u32, pub regaddr_cp_dma_dst_addr_hi: u32, pub regaddr_cp_dma_command: u32, pub regaddr_cp_status: u32, pub regaddr_rlc_gpu_clock_32: u32, pub rlc_gpu_timer_refclk: u32, } #[test] fn bindgen_test_layout_atom_gfx_info_v2_2() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 44usize, concat!("Size of: ", stringify!(atom_gfx_info_v2_2)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_gfx_info_v2_2)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxip_min_ver) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(gfxip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxip_max_ver) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(gfxip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_shader_engines) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(max_shader_engines) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_tile_pipes) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(max_tile_pipes) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_cu_per_sh) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(max_cu_per_sh) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_sh_per_se) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(max_sh_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_backends_per_se) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(max_backends_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_texture_channel_caches) as usize - ptr as usize }, 11usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(max_texture_channel_caches) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_src_addr) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(regaddr_cp_dma_src_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_src_addr_hi) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(regaddr_cp_dma_src_addr_hi) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_dst_addr) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(regaddr_cp_dma_dst_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_dst_addr_hi) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(regaddr_cp_dma_dst_addr_hi) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_command) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(regaddr_cp_dma_command) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_status) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(regaddr_cp_status) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_rlc_gpu_clock_32) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(regaddr_rlc_gpu_clock_32) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).rlc_gpu_timer_refclk) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_2), "::", stringify!(rlc_gpu_timer_refclk) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_gfx_info_v2_3 { pub table_header: atom_common_table_header, pub gfxip_min_ver: u8, pub gfxip_max_ver: u8, pub max_shader_engines: u8, pub max_tile_pipes: u8, pub max_cu_per_sh: u8, pub max_sh_per_se: u8, pub max_backends_per_se: u8, pub max_texture_channel_caches: u8, pub regaddr_cp_dma_src_addr: u32, pub regaddr_cp_dma_src_addr_hi: u32, pub regaddr_cp_dma_dst_addr: u32, pub regaddr_cp_dma_dst_addr_hi: u32, pub regaddr_cp_dma_command: u32, pub regaddr_cp_status: u32, pub regaddr_rlc_gpu_clock_32: u32, pub rlc_gpu_timer_refclk: u32, pub active_cu_per_sh: u8, pub active_rb_per_se: u8, pub gcgoldenoffset: u16, pub rm21_sram_vmin_value: u32, } #[test] fn bindgen_test_layout_atom_gfx_info_v2_3() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 52usize, concat!("Size of: ", stringify!(atom_gfx_info_v2_3)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_gfx_info_v2_3)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxip_min_ver) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(gfxip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxip_max_ver) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(gfxip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_shader_engines) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(max_shader_engines) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_tile_pipes) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(max_tile_pipes) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_cu_per_sh) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(max_cu_per_sh) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_sh_per_se) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(max_sh_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_backends_per_se) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(max_backends_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_texture_channel_caches) as usize - ptr as usize }, 11usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(max_texture_channel_caches) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_src_addr) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(regaddr_cp_dma_src_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_src_addr_hi) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(regaddr_cp_dma_src_addr_hi) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_dst_addr) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(regaddr_cp_dma_dst_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_dst_addr_hi) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(regaddr_cp_dma_dst_addr_hi) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_command) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(regaddr_cp_dma_command) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_status) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(regaddr_cp_status) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_rlc_gpu_clock_32) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(regaddr_rlc_gpu_clock_32) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).rlc_gpu_timer_refclk) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(rlc_gpu_timer_refclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).active_cu_per_sh) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(active_cu_per_sh) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).active_rb_per_se) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(active_rb_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gcgoldenoffset) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(gcgoldenoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).rm21_sram_vmin_value) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_3), "::", stringify!(rm21_sram_vmin_value) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_gfx_info_v2_4 { pub table_header: atom_common_table_header, pub gfxip_min_ver: u8, pub gfxip_max_ver: u8, pub max_shader_engines: u8, pub reserved: u8, pub max_cu_per_sh: u8, pub max_sh_per_se: u8, pub max_backends_per_se: u8, pub max_texture_channel_caches: u8, pub regaddr_cp_dma_src_addr: u32, pub regaddr_cp_dma_src_addr_hi: u32, pub regaddr_cp_dma_dst_addr: u32, pub regaddr_cp_dma_dst_addr_hi: u32, pub regaddr_cp_dma_command: u32, pub regaddr_cp_status: u32, pub regaddr_rlc_gpu_clock_32: u32, pub rlc_gpu_timer_refclk: u32, pub active_cu_per_sh: u8, pub active_rb_per_se: u8, pub gcgoldenoffset: u16, pub gc_num_gprs: u16, pub gc_gsprim_buff_depth: u16, pub gc_parameter_cache_depth: u16, pub gc_wave_size: u16, pub gc_max_waves_per_simd: u16, pub gc_lds_size: u16, pub gc_num_max_gs_thds: u8, pub gc_gs_table_depth: u8, pub gc_double_offchip_lds_buffer: u8, pub gc_max_scratch_slots_per_cu: u8, pub sram_rm_fuses_val: u32, pub sram_custom_rm_fuses_val: u32, } #[test] fn bindgen_test_layout_atom_gfx_info_v2_4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(atom_gfx_info_v2_4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_gfx_info_v2_4)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxip_min_ver) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(gfxip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxip_max_ver) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(gfxip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_shader_engines) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(max_shader_engines) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_cu_per_sh) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(max_cu_per_sh) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_sh_per_se) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(max_sh_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_backends_per_se) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(max_backends_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_texture_channel_caches) as usize - ptr as usize }, 11usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(max_texture_channel_caches) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_src_addr) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(regaddr_cp_dma_src_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_src_addr_hi) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(regaddr_cp_dma_src_addr_hi) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_dst_addr) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(regaddr_cp_dma_dst_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_dst_addr_hi) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(regaddr_cp_dma_dst_addr_hi) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_command) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(regaddr_cp_dma_command) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_status) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(regaddr_cp_status) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_rlc_gpu_clock_32) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(regaddr_rlc_gpu_clock_32) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).rlc_gpu_timer_refclk) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(rlc_gpu_timer_refclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).active_cu_per_sh) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(active_cu_per_sh) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).active_rb_per_se) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(active_rb_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gcgoldenoffset) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(gcgoldenoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_num_gprs) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(gc_num_gprs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_gsprim_buff_depth) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(gc_gsprim_buff_depth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_parameter_cache_depth) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(gc_parameter_cache_depth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_wave_size) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(gc_wave_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_max_waves_per_simd) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(gc_max_waves_per_simd) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_lds_size) as usize - ptr as usize }, 58usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(gc_lds_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_num_max_gs_thds) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(gc_num_max_gs_thds) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_gs_table_depth) as usize - ptr as usize }, 61usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(gc_gs_table_depth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_double_offchip_lds_buffer) as usize - ptr as usize }, 62usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(gc_double_offchip_lds_buffer) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_max_scratch_slots_per_cu) as usize - ptr as usize }, 63usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(gc_max_scratch_slots_per_cu) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sram_rm_fuses_val) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(sram_rm_fuses_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sram_custom_rm_fuses_val) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_4), "::", stringify!(sram_custom_rm_fuses_val) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_gfx_info_v2_7 { pub table_header: atom_common_table_header, pub gfxip_min_ver: u8, pub gfxip_max_ver: u8, pub max_shader_engines: u8, pub reserved: u8, pub max_cu_per_sh: u8, pub max_sh_per_se: u8, pub max_backends_per_se: u8, pub max_texture_channel_caches: u8, pub regaddr_cp_dma_src_addr: u32, pub regaddr_cp_dma_src_addr_hi: u32, pub regaddr_cp_dma_dst_addr: u32, pub regaddr_cp_dma_dst_addr_hi: u32, pub regaddr_cp_dma_command: u32, pub regaddr_cp_status: u32, pub regaddr_rlc_gpu_clock_32: u32, pub rlc_gpu_timer_refclk: u32, pub active_cu_per_sh: u8, pub active_rb_per_se: u8, pub gcgoldenoffset: u16, pub gc_num_gprs: u16, pub gc_gsprim_buff_depth: u16, pub gc_parameter_cache_depth: u16, pub gc_wave_size: u16, pub gc_max_waves_per_simd: u16, pub gc_lds_size: u16, pub gc_num_max_gs_thds: u8, pub gc_gs_table_depth: u8, pub gc_double_offchip_lds_buffer: u8, pub gc_max_scratch_slots_per_cu: u8, pub sram_rm_fuses_val: u32, pub sram_custom_rm_fuses_val: u32, pub cut_cu: u8, pub active_cu_total: u8, pub cu_reserved: [u8; 2usize], pub gc_config: u32, pub inactive_cu_per_se: [u8; 8usize], pub reserved2: [u32; 6usize], } #[test] fn bindgen_test_layout_atom_gfx_info_v2_7() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 112usize, concat!("Size of: ", stringify!(atom_gfx_info_v2_7)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_gfx_info_v2_7)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxip_min_ver) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(gfxip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxip_max_ver) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(gfxip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_shader_engines) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(max_shader_engines) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_cu_per_sh) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(max_cu_per_sh) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_sh_per_se) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(max_sh_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_backends_per_se) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(max_backends_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_texture_channel_caches) as usize - ptr as usize }, 11usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(max_texture_channel_caches) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_src_addr) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(regaddr_cp_dma_src_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_src_addr_hi) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(regaddr_cp_dma_src_addr_hi) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_dst_addr) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(regaddr_cp_dma_dst_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_dst_addr_hi) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(regaddr_cp_dma_dst_addr_hi) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_dma_command) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(regaddr_cp_dma_command) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_cp_status) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(regaddr_cp_status) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_rlc_gpu_clock_32) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(regaddr_rlc_gpu_clock_32) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).rlc_gpu_timer_refclk) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(rlc_gpu_timer_refclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).active_cu_per_sh) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(active_cu_per_sh) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).active_rb_per_se) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(active_rb_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gcgoldenoffset) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(gcgoldenoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_num_gprs) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(gc_num_gprs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_gsprim_buff_depth) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(gc_gsprim_buff_depth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_parameter_cache_depth) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(gc_parameter_cache_depth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_wave_size) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(gc_wave_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_max_waves_per_simd) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(gc_max_waves_per_simd) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_lds_size) as usize - ptr as usize }, 58usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(gc_lds_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_num_max_gs_thds) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(gc_num_max_gs_thds) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_gs_table_depth) as usize - ptr as usize }, 61usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(gc_gs_table_depth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_double_offchip_lds_buffer) as usize - ptr as usize }, 62usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(gc_double_offchip_lds_buffer) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_max_scratch_slots_per_cu) as usize - ptr as usize }, 63usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(gc_max_scratch_slots_per_cu) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sram_rm_fuses_val) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(sram_rm_fuses_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sram_custom_rm_fuses_val) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(sram_custom_rm_fuses_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cut_cu) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(cut_cu) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).active_cu_total) as usize - ptr as usize }, 73usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(active_cu_total) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cu_reserved) as usize - ptr as usize }, 74usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(cu_reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_config) as usize - ptr as usize }, 76usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(gc_config) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).inactive_cu_per_se) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(inactive_cu_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v2_7), "::", stringify!(reserved2) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_gfx_info_v3_0 { pub table_header: atom_common_table_header, pub gfxip_min_ver: u8, pub gfxip_max_ver: u8, pub max_shader_engines: u8, pub max_tile_pipes: u8, pub max_cu_per_sh: u8, pub max_sh_per_se: u8, pub max_backends_per_se: u8, pub max_texture_channel_caches: u8, pub regaddr_lsdma_queue0_rb_rptr: u32, pub regaddr_lsdma_queue0_rb_rptr_hi: u32, pub regaddr_lsdma_queue0_rb_wptr: u32, pub regaddr_lsdma_queue0_rb_wptr_hi: u32, pub regaddr_lsdma_command: u32, pub regaddr_lsdma_status: u32, pub regaddr_golden_tsc_count_lower: u32, pub golden_tsc_count_lower_refclk: u32, pub active_wgp_per_se: u8, pub active_rb_per_se: u8, pub active_se: u8, pub reserved1: u8, pub sram_rm_fuses_val: u32, pub sram_custom_rm_fuses_val: u32, pub inactive_sa_mask: u32, pub gc_config: u32, pub inactive_wgp: [u8; 16usize], pub inactive_rb: [u8; 16usize], pub gdfll_as_wait_ctrl_val: u32, pub gdfll_as_step_ctrl_val: u32, pub reserved: [u32; 8usize], } #[test] fn bindgen_test_layout_atom_gfx_info_v3_0() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 136usize, concat!("Size of: ", stringify!(atom_gfx_info_v3_0)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_gfx_info_v3_0)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxip_min_ver) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(gfxip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxip_max_ver) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(gfxip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_shader_engines) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(max_shader_engines) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_tile_pipes) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(max_tile_pipes) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_cu_per_sh) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(max_cu_per_sh) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_sh_per_se) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(max_sh_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_backends_per_se) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(max_backends_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_texture_channel_caches) as usize - ptr as usize }, 11usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(max_texture_channel_caches) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_lsdma_queue0_rb_rptr) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(regaddr_lsdma_queue0_rb_rptr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_lsdma_queue0_rb_rptr_hi) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(regaddr_lsdma_queue0_rb_rptr_hi) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_lsdma_queue0_rb_wptr) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(regaddr_lsdma_queue0_rb_wptr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_lsdma_queue0_rb_wptr_hi) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(regaddr_lsdma_queue0_rb_wptr_hi) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_lsdma_command) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(regaddr_lsdma_command) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_lsdma_status) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(regaddr_lsdma_status) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regaddr_golden_tsc_count_lower) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(regaddr_golden_tsc_count_lower) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).golden_tsc_count_lower_refclk) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(golden_tsc_count_lower_refclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).active_wgp_per_se) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(active_wgp_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).active_rb_per_se) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(active_rb_per_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).active_se) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(active_se) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 47usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sram_rm_fuses_val) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(sram_rm_fuses_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sram_custom_rm_fuses_val) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(sram_custom_rm_fuses_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).inactive_sa_mask) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(inactive_sa_mask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gc_config) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(gc_config) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).inactive_wgp) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(inactive_wgp) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).inactive_rb) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(inactive_rb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gdfll_as_wait_ctrl_val) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(gdfll_as_wait_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gdfll_as_step_ctrl_val) as usize - ptr as usize }, 100usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(gdfll_as_step_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(atom_gfx_info_v3_0), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_smu_info_v3_1 { pub table_header: atom_common_table_header, pub smuip_min_ver: u8, pub smuip_max_ver: u8, pub smu_rsd1: u8, pub gpuclk_ss_mode: u8, pub sclk_ss_percentage: u16, pub sclk_ss_rate_10hz: u16, pub gpuclk_ss_percentage: u16, pub gpuclk_ss_rate_10hz: u16, pub core_refclk_10khz: u32, pub ac_dc_gpio_bit: u8, pub ac_dc_polarity: u8, pub vr0hot_gpio_bit: u8, pub vr0hot_polarity: u8, pub vr1hot_gpio_bit: u8, pub vr1hot_polarity: u8, pub fw_ctf_gpio_bit: u8, pub fw_ctf_polarity: u8, } #[test] fn bindgen_test_layout_atom_smu_info_v3_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 28usize, concat!("Size of: ", stringify!(atom_smu_info_v3_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_smu_info_v3_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smuip_min_ver) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(smuip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smuip_max_ver) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(smuip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smu_rsd1) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(smu_rsd1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_mode) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(gpuclk_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sclk_ss_percentage) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(sclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sclk_ss_rate_10hz) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(sclk_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_percentage) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(gpuclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_rate_10hz) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(gpuclk_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).core_refclk_10khz) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(core_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ac_dc_gpio_bit) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(ac_dc_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ac_dc_polarity) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(ac_dc_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr0hot_gpio_bit) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(vr0hot_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr0hot_polarity) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(vr0hot_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr1hot_gpio_bit) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(vr1hot_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr1hot_polarity) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(vr1hot_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fw_ctf_gpio_bit) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(fw_ctf_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fw_ctf_polarity) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_1), "::", stringify!(fw_ctf_polarity) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_smu_info_v3_2 { pub table_header: atom_common_table_header, pub smuip_min_ver: u8, pub smuip_max_ver: u8, pub smu_rsd1: u8, pub gpuclk_ss_mode: u8, pub sclk_ss_percentage: u16, pub sclk_ss_rate_10hz: u16, pub gpuclk_ss_percentage: u16, pub gpuclk_ss_rate_10hz: u16, pub core_refclk_10khz: u32, pub ac_dc_gpio_bit: u8, pub ac_dc_polarity: u8, pub vr0hot_gpio_bit: u8, pub vr0hot_polarity: u8, pub vr1hot_gpio_bit: u8, pub vr1hot_polarity: u8, pub fw_ctf_gpio_bit: u8, pub fw_ctf_polarity: u8, pub pcc_gpio_bit: u8, pub pcc_gpio_polarity: u8, pub smugoldenoffset: u16, pub gpupll_vco_freq_10khz: u32, pub bootup_smnclk_10khz: u32, pub bootup_socclk_10khz: u32, pub bootup_mp0clk_10khz: u32, pub bootup_mp1clk_10khz: u32, pub bootup_lclk_10khz: u32, pub bootup_dcefclk_10khz: u32, pub ctf_threshold_override_value: u32, pub reserved: [u32; 5usize], } #[test] fn bindgen_test_layout_atom_smu_info_v3_2() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 84usize, concat!("Size of: ", stringify!(atom_smu_info_v3_2)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_smu_info_v3_2)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smuip_min_ver) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(smuip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smuip_max_ver) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(smuip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smu_rsd1) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(smu_rsd1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_mode) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(gpuclk_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sclk_ss_percentage) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(sclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sclk_ss_rate_10hz) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(sclk_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_percentage) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(gpuclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_rate_10hz) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(gpuclk_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).core_refclk_10khz) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(core_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ac_dc_gpio_bit) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(ac_dc_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ac_dc_polarity) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(ac_dc_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr0hot_gpio_bit) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(vr0hot_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr0hot_polarity) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(vr0hot_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr1hot_gpio_bit) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(vr1hot_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr1hot_polarity) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(vr1hot_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fw_ctf_gpio_bit) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(fw_ctf_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fw_ctf_polarity) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(fw_ctf_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcc_gpio_bit) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(pcc_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcc_gpio_polarity) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(pcc_gpio_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smugoldenoffset) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(smugoldenoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpupll_vco_freq_10khz) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(gpupll_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_smnclk_10khz) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(bootup_smnclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_socclk_10khz) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(bootup_socclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mp0clk_10khz) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(bootup_mp0clk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mp1clk_10khz) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(bootup_mp1clk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_lclk_10khz) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(bootup_lclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dcefclk_10khz) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(bootup_dcefclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ctf_threshold_override_value) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(ctf_threshold_override_value) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_2), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_smu_info_v3_3 { pub table_header: atom_common_table_header, pub smuip_min_ver: u8, pub smuip_max_ver: u8, pub waflclk_ss_mode: u8, pub gpuclk_ss_mode: u8, pub sclk_ss_percentage: u16, pub sclk_ss_rate_10hz: u16, pub gpuclk_ss_percentage: u16, pub gpuclk_ss_rate_10hz: u16, pub core_refclk_10khz: u32, pub ac_dc_gpio_bit: u8, pub ac_dc_polarity: u8, pub vr0hot_gpio_bit: u8, pub vr0hot_polarity: u8, pub vr1hot_gpio_bit: u8, pub vr1hot_polarity: u8, pub fw_ctf_gpio_bit: u8, pub fw_ctf_polarity: u8, pub pcc_gpio_bit: u8, pub pcc_gpio_polarity: u8, pub smugoldenoffset: u16, pub gpupll_vco_freq_10khz: u32, pub bootup_smnclk_10khz: u32, pub bootup_socclk_10khz: u32, pub bootup_mp0clk_10khz: u32, pub bootup_mp1clk_10khz: u32, pub bootup_lclk_10khz: u32, pub bootup_dcefclk_10khz: u32, pub ctf_threshold_override_value: u32, pub syspll3_0_vco_freq_10khz: u32, pub syspll3_1_vco_freq_10khz: u32, pub bootup_fclk_10khz: u32, pub bootup_waflclk_10khz: u32, pub smu_info_caps: u32, pub waflclk_ss_percentage: u16, pub smuinitoffset: u16, pub reserved: u32, } #[test] fn bindgen_test_layout_atom_smu_info_v3_3() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 92usize, concat!("Size of: ", stringify!(atom_smu_info_v3_3)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_smu_info_v3_3)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smuip_min_ver) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(smuip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smuip_max_ver) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(smuip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).waflclk_ss_mode) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(waflclk_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_mode) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(gpuclk_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sclk_ss_percentage) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(sclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sclk_ss_rate_10hz) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(sclk_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_percentage) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(gpuclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_rate_10hz) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(gpuclk_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).core_refclk_10khz) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(core_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ac_dc_gpio_bit) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(ac_dc_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ac_dc_polarity) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(ac_dc_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr0hot_gpio_bit) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(vr0hot_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr0hot_polarity) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(vr0hot_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr1hot_gpio_bit) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(vr1hot_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr1hot_polarity) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(vr1hot_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fw_ctf_gpio_bit) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(fw_ctf_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fw_ctf_polarity) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(fw_ctf_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcc_gpio_bit) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(pcc_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcc_gpio_polarity) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(pcc_gpio_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smugoldenoffset) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(smugoldenoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpupll_vco_freq_10khz) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(gpupll_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_smnclk_10khz) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(bootup_smnclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_socclk_10khz) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(bootup_socclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mp0clk_10khz) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(bootup_mp0clk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mp1clk_10khz) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(bootup_mp1clk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_lclk_10khz) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(bootup_lclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dcefclk_10khz) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(bootup_dcefclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ctf_threshold_override_value) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(ctf_threshold_override_value) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll3_0_vco_freq_10khz) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(syspll3_0_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll3_1_vco_freq_10khz) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(syspll3_1_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_fclk_10khz) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(bootup_fclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_waflclk_10khz) as usize - ptr as usize }, 76usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(bootup_waflclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smu_info_caps) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(smu_info_caps) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).waflclk_ss_percentage) as usize - ptr as usize }, 84usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(waflclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smuinitoffset) as usize - ptr as usize }, 86usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(smuinitoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_3), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_smu_info_v3_5 { pub table_header: atom_common_table_header, pub smuip_min_ver: u8, pub smuip_max_ver: u8, pub waflclk_ss_mode: u8, pub gpuclk_ss_mode: u8, pub sclk_ss_percentage: u16, pub sclk_ss_rate_10hz: u16, pub gpuclk_ss_percentage: u16, pub gpuclk_ss_rate_10hz: u16, pub core_refclk_10khz: u32, pub syspll0_1_vco_freq_10khz: u32, pub syspll0_2_vco_freq_10khz: u32, pub pcc_gpio_bit: u8, pub pcc_gpio_polarity: u8, pub smugoldenoffset: u16, pub syspll0_0_vco_freq_10khz: u32, pub bootup_smnclk_10khz: u32, pub bootup_socclk_10khz: u32, pub bootup_mp0clk_10khz: u32, pub bootup_mp1clk_10khz: u32, pub bootup_lclk_10khz: u32, pub bootup_dcefclk_10khz: u32, pub ctf_threshold_override_value: u32, pub syspll3_0_vco_freq_10khz: u32, pub syspll3_1_vco_freq_10khz: u32, pub bootup_fclk_10khz: u32, pub bootup_waflclk_10khz: u32, pub smu_info_caps: u32, pub waflclk_ss_percentage: u16, pub smuinitoffset: u16, pub bootup_dprefclk_10khz: u32, pub bootup_usbclk_10khz: u32, pub smb_slave_address: u32, pub cg_fdo_ctrl0_val: u32, pub cg_fdo_ctrl1_val: u32, pub cg_fdo_ctrl2_val: u32, pub gdfll_as_wait_ctrl_val: u32, pub gdfll_as_step_ctrl_val: u32, pub bootup_dtbclk_10khz: u32, pub fclk_syspll_refclk_10khz: u32, pub smusvi_svc0_val: u32, pub smusvi_svc1_val: u32, pub smusvi_svd0_val: u32, pub smusvi_svd1_val: u32, pub smusvi_svt0_val: u32, pub smusvi_svt1_val: u32, pub cg_tach_ctrl_val: u32, pub cg_pump_ctrl1_val: u32, pub cg_pump_tach_ctrl_val: u32, pub thm_ctf_delay_val: u32, pub thm_thermal_int_ctrl_val: u32, pub thm_tmon_config_val: u32, pub reserved: [u32; 16usize], } #[test] fn bindgen_test_layout_atom_smu_info_v3_5() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 240usize, concat!("Size of: ", stringify!(atom_smu_info_v3_5)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_smu_info_v3_5)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smuip_min_ver) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(smuip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smuip_max_ver) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(smuip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).waflclk_ss_mode) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(waflclk_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_mode) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(gpuclk_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sclk_ss_percentage) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(sclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sclk_ss_rate_10hz) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(sclk_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_percentage) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(gpuclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_rate_10hz) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(gpuclk_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).core_refclk_10khz) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(core_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll0_1_vco_freq_10khz) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(syspll0_1_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll0_2_vco_freq_10khz) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(syspll0_2_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcc_gpio_bit) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(pcc_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcc_gpio_polarity) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(pcc_gpio_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smugoldenoffset) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(smugoldenoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll0_0_vco_freq_10khz) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(syspll0_0_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_smnclk_10khz) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(bootup_smnclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_socclk_10khz) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(bootup_socclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mp0clk_10khz) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(bootup_mp0clk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mp1clk_10khz) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(bootup_mp1clk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_lclk_10khz) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(bootup_lclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dcefclk_10khz) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(bootup_dcefclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ctf_threshold_override_value) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(ctf_threshold_override_value) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll3_0_vco_freq_10khz) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(syspll3_0_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll3_1_vco_freq_10khz) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(syspll3_1_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_fclk_10khz) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(bootup_fclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_waflclk_10khz) as usize - ptr as usize }, 76usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(bootup_waflclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smu_info_caps) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(smu_info_caps) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).waflclk_ss_percentage) as usize - ptr as usize }, 84usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(waflclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smuinitoffset) as usize - ptr as usize }, 86usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(smuinitoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dprefclk_10khz) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(bootup_dprefclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_usbclk_10khz) as usize - ptr as usize }, 92usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(bootup_usbclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smb_slave_address) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(smb_slave_address) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_fdo_ctrl0_val) as usize - ptr as usize }, 100usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(cg_fdo_ctrl0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_fdo_ctrl1_val) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(cg_fdo_ctrl1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_fdo_ctrl2_val) as usize - ptr as usize }, 108usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(cg_fdo_ctrl2_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gdfll_as_wait_ctrl_val) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(gdfll_as_wait_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gdfll_as_step_ctrl_val) as usize - ptr as usize }, 116usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(gdfll_as_step_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dtbclk_10khz) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(bootup_dtbclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fclk_syspll_refclk_10khz) as usize - ptr as usize }, 124usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(fclk_syspll_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svc0_val) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(smusvi_svc0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svc1_val) as usize - ptr as usize }, 132usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(smusvi_svc1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svd0_val) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(smusvi_svd0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svd1_val) as usize - ptr as usize }, 140usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(smusvi_svd1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svt0_val) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(smusvi_svt0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svt1_val) as usize - ptr as usize }, 148usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(smusvi_svt1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_tach_ctrl_val) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(cg_tach_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_pump_ctrl1_val) as usize - ptr as usize }, 156usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(cg_pump_ctrl1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_pump_tach_ctrl_val) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(cg_pump_tach_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).thm_ctf_delay_val) as usize - ptr as usize }, 164usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(thm_ctf_delay_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).thm_thermal_int_ctrl_val) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(thm_thermal_int_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).thm_tmon_config_val) as usize - ptr as usize }, 172usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(thm_tmon_config_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_5), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_smu_info_v3_6 { pub table_header: atom_common_table_header, pub smuip_min_ver: u8, pub smuip_max_ver: u8, pub waflclk_ss_mode: u8, pub gpuclk_ss_mode: u8, pub sclk_ss_percentage: u16, pub sclk_ss_rate_10hz: u16, pub gpuclk_ss_percentage: u16, pub gpuclk_ss_rate_10hz: u16, pub core_refclk_10khz: u32, pub syspll0_1_vco_freq_10khz: u32, pub syspll0_2_vco_freq_10khz: u32, pub pcc_gpio_bit: u8, pub pcc_gpio_polarity: u8, pub smugoldenoffset: u16, pub syspll0_0_vco_freq_10khz: u32, pub bootup_smnclk_10khz: u32, pub bootup_socclk_10khz: u32, pub bootup_mp0clk_10khz: u32, pub bootup_mp1clk_10khz: u32, pub bootup_lclk_10khz: u32, pub bootup_dxioclk_10khz: u32, pub ctf_threshold_override_value: u32, pub syspll3_0_vco_freq_10khz: u32, pub syspll3_1_vco_freq_10khz: u32, pub bootup_fclk_10khz: u32, pub bootup_waflclk_10khz: u32, pub smu_info_caps: u32, pub waflclk_ss_percentage: u16, pub smuinitoffset: u16, pub bootup_gfxavsclk_10khz: u32, pub bootup_mpioclk_10khz: u32, pub smb_slave_address: u32, pub cg_fdo_ctrl0_val: u32, pub cg_fdo_ctrl1_val: u32, pub cg_fdo_ctrl2_val: u32, pub gdfll_as_wait_ctrl_val: u32, pub gdfll_as_step_ctrl_val: u32, pub reserved_clk: u32, pub fclk_syspll_refclk_10khz: u32, pub smusvi_svc0_val: u32, pub smusvi_svc1_val: u32, pub smusvi_svd0_val: u32, pub smusvi_svd1_val: u32, pub smusvi_svt0_val: u32, pub smusvi_svt1_val: u32, pub cg_tach_ctrl_val: u32, pub cg_pump_ctrl1_val: u32, pub cg_pump_tach_ctrl_val: u32, pub thm_ctf_delay_val: u32, pub thm_thermal_int_ctrl_val: u32, pub thm_tmon_config_val: u32, pub bootup_vclk_10khz: u32, pub bootup_dclk_10khz: u32, pub smu_gpiopad_pu_en_val: u32, pub smu_gpiopad_pd_en_val: u32, pub reserved: [u32; 12usize], } #[test] fn bindgen_test_layout_atom_smu_info_v3_6() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 240usize, concat!("Size of: ", stringify!(atom_smu_info_v3_6)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_smu_info_v3_6)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smuip_min_ver) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(smuip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smuip_max_ver) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(smuip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).waflclk_ss_mode) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(waflclk_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_mode) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(gpuclk_ss_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sclk_ss_percentage) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(sclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sclk_ss_rate_10hz) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(sclk_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_percentage) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(gpuclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpuclk_ss_rate_10hz) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(gpuclk_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).core_refclk_10khz) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(core_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll0_1_vco_freq_10khz) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(syspll0_1_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll0_2_vco_freq_10khz) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(syspll0_2_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcc_gpio_bit) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(pcc_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcc_gpio_polarity) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(pcc_gpio_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smugoldenoffset) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(smugoldenoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll0_0_vco_freq_10khz) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(syspll0_0_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_smnclk_10khz) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(bootup_smnclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_socclk_10khz) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(bootup_socclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mp0clk_10khz) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(bootup_mp0clk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mp1clk_10khz) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(bootup_mp1clk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_lclk_10khz) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(bootup_lclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dxioclk_10khz) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(bootup_dxioclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ctf_threshold_override_value) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(ctf_threshold_override_value) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll3_0_vco_freq_10khz) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(syspll3_0_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll3_1_vco_freq_10khz) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(syspll3_1_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_fclk_10khz) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(bootup_fclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_waflclk_10khz) as usize - ptr as usize }, 76usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(bootup_waflclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smu_info_caps) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(smu_info_caps) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).waflclk_ss_percentage) as usize - ptr as usize }, 84usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(waflclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smuinitoffset) as usize - ptr as usize }, 86usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(smuinitoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_gfxavsclk_10khz) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(bootup_gfxavsclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mpioclk_10khz) as usize - ptr as usize }, 92usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(bootup_mpioclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smb_slave_address) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(smb_slave_address) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_fdo_ctrl0_val) as usize - ptr as usize }, 100usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(cg_fdo_ctrl0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_fdo_ctrl1_val) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(cg_fdo_ctrl1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_fdo_ctrl2_val) as usize - ptr as usize }, 108usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(cg_fdo_ctrl2_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gdfll_as_wait_ctrl_val) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(gdfll_as_wait_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gdfll_as_step_ctrl_val) as usize - ptr as usize }, 116usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(gdfll_as_step_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved_clk) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(reserved_clk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fclk_syspll_refclk_10khz) as usize - ptr as usize }, 124usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(fclk_syspll_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svc0_val) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(smusvi_svc0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svc1_val) as usize - ptr as usize }, 132usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(smusvi_svc1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svd0_val) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(smusvi_svd0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svd1_val) as usize - ptr as usize }, 140usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(smusvi_svd1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svt0_val) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(smusvi_svt0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svt1_val) as usize - ptr as usize }, 148usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(smusvi_svt1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_tach_ctrl_val) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(cg_tach_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_pump_ctrl1_val) as usize - ptr as usize }, 156usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(cg_pump_ctrl1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_pump_tach_ctrl_val) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(cg_pump_tach_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).thm_ctf_delay_val) as usize - ptr as usize }, 164usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(thm_ctf_delay_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).thm_thermal_int_ctrl_val) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(thm_thermal_int_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).thm_tmon_config_val) as usize - ptr as usize }, 172usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(thm_tmon_config_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vclk_10khz) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(bootup_vclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dclk_10khz) as usize - ptr as usize }, 180usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(bootup_dclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smu_gpiopad_pu_en_val) as usize - ptr as usize }, 184usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(smu_gpiopad_pu_en_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smu_gpiopad_pd_en_val) as usize - ptr as usize }, 188usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(smu_gpiopad_pd_en_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v3_6), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_smu_info_v4_0 { pub table_header: atom_common_table_header, pub bootup_gfxclk_bypass_10khz: u32, pub bootup_usrclk_10khz: u32, pub bootup_csrclk_10khz: u32, pub core_refclk_10khz: u32, pub syspll1_vco_freq_10khz: u32, pub syspll2_vco_freq_10khz: u32, pub pcc_gpio_bit: u8, pub pcc_gpio_polarity: u8, pub bootup_vddusr_mv: u16, pub syspll0_vco_freq_10khz: u32, pub bootup_smnclk_10khz: u32, pub bootup_socclk_10khz: u32, pub bootup_mp0clk_10khz: u32, pub bootup_mp1clk_10khz: u32, pub bootup_lclk_10khz: u32, pub bootup_dcefclk_10khz: u32, pub ctf_threshold_override_value: u32, pub syspll3_vco_freq_10khz: u32, pub mm_syspll_vco_freq_10khz: u32, pub bootup_fclk_10khz: u32, pub bootup_waflclk_10khz: u32, pub smu_info_caps: u32, pub waflclk_ss_percentage: u16, pub smuinitoffset: u16, pub bootup_dprefclk_10khz: u32, pub bootup_usbclk_10khz: u32, pub smb_slave_address: u32, pub cg_fdo_ctrl0_val: u32, pub cg_fdo_ctrl1_val: u32, pub cg_fdo_ctrl2_val: u32, pub gdfll_as_wait_ctrl_val: u32, pub gdfll_as_step_ctrl_val: u32, pub bootup_dtbclk_10khz: u32, pub fclk_syspll_refclk_10khz: u32, pub smusvi_svc0_val: u32, pub smusvi_svc1_val: u32, pub smusvi_svd0_val: u32, pub smusvi_svd1_val: u32, pub smusvi_svt0_val: u32, pub smusvi_svt1_val: u32, pub cg_tach_ctrl_val: u32, pub cg_pump_ctrl1_val: u32, pub cg_pump_tach_ctrl_val: u32, pub thm_ctf_delay_val: u32, pub thm_thermal_int_ctrl_val: u32, pub thm_tmon_config_val: u32, pub smbus_timing_cntrl0_val: u32, pub smbus_timing_cntrl1_val: u32, pub smbus_timing_cntrl2_val: u32, pub pwr_disp_timer_global_control_val: u32, pub bootup_mpioclk_10khz: u32, pub bootup_dclk0_10khz: u32, pub bootup_vclk0_10khz: u32, pub bootup_dclk1_10khz: u32, pub bootup_vclk1_10khz: u32, pub bootup_baco400clk_10khz: u32, pub bootup_baco1200clk_bypass_10khz: u32, pub bootup_baco700clk_bypass_10khz: u32, pub reserved: [u32; 16usize], } #[test] fn bindgen_test_layout_atom_smu_info_v4_0() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 288usize, concat!("Size of: ", stringify!(atom_smu_info_v4_0)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_smu_info_v4_0)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_gfxclk_bypass_10khz) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_gfxclk_bypass_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_usrclk_10khz) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_usrclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_csrclk_10khz) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_csrclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).core_refclk_10khz) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(core_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll1_vco_freq_10khz) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(syspll1_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll2_vco_freq_10khz) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(syspll2_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcc_gpio_bit) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(pcc_gpio_bit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcc_gpio_polarity) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(pcc_gpio_polarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vddusr_mv) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_vddusr_mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll0_vco_freq_10khz) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(syspll0_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_smnclk_10khz) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_smnclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_socclk_10khz) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_socclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mp0clk_10khz) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_mp0clk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mp1clk_10khz) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_mp1clk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_lclk_10khz) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_lclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dcefclk_10khz) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_dcefclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ctf_threshold_override_value) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(ctf_threshold_override_value) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll3_vco_freq_10khz) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(syspll3_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mm_syspll_vco_freq_10khz) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(mm_syspll_vco_freq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_fclk_10khz) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_fclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_waflclk_10khz) as usize - ptr as usize }, 76usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_waflclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smu_info_caps) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(smu_info_caps) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).waflclk_ss_percentage) as usize - ptr as usize }, 84usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(waflclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smuinitoffset) as usize - ptr as usize }, 86usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(smuinitoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dprefclk_10khz) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_dprefclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_usbclk_10khz) as usize - ptr as usize }, 92usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_usbclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smb_slave_address) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(smb_slave_address) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_fdo_ctrl0_val) as usize - ptr as usize }, 100usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(cg_fdo_ctrl0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_fdo_ctrl1_val) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(cg_fdo_ctrl1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_fdo_ctrl2_val) as usize - ptr as usize }, 108usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(cg_fdo_ctrl2_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gdfll_as_wait_ctrl_val) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(gdfll_as_wait_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gdfll_as_step_ctrl_val) as usize - ptr as usize }, 116usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(gdfll_as_step_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dtbclk_10khz) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_dtbclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fclk_syspll_refclk_10khz) as usize - ptr as usize }, 124usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(fclk_syspll_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svc0_val) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(smusvi_svc0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svc1_val) as usize - ptr as usize }, 132usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(smusvi_svc1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svd0_val) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(smusvi_svd0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svd1_val) as usize - ptr as usize }, 140usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(smusvi_svd1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svt0_val) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(smusvi_svt0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smusvi_svt1_val) as usize - ptr as usize }, 148usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(smusvi_svt1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_tach_ctrl_val) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(cg_tach_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_pump_ctrl1_val) as usize - ptr as usize }, 156usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(cg_pump_ctrl1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cg_pump_tach_ctrl_val) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(cg_pump_tach_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).thm_ctf_delay_val) as usize - ptr as usize }, 164usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(thm_ctf_delay_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).thm_thermal_int_ctrl_val) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(thm_thermal_int_ctrl_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).thm_tmon_config_val) as usize - ptr as usize }, 172usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(thm_tmon_config_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smbus_timing_cntrl0_val) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(smbus_timing_cntrl0_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smbus_timing_cntrl1_val) as usize - ptr as usize }, 180usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(smbus_timing_cntrl1_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smbus_timing_cntrl2_val) as usize - ptr as usize }, 184usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(smbus_timing_cntrl2_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pwr_disp_timer_global_control_val) as usize - ptr as usize }, 188usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(pwr_disp_timer_global_control_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_mpioclk_10khz) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_mpioclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dclk0_10khz) as usize - ptr as usize }, 196usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_dclk0_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vclk0_10khz) as usize - ptr as usize }, 200usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_vclk0_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_dclk1_10khz) as usize - ptr as usize }, 204usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_dclk1_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_vclk1_10khz) as usize - ptr as usize }, 208usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_vclk1_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_baco400clk_10khz) as usize - ptr as usize }, 212usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_baco400clk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_baco1200clk_bypass_10khz) as usize - ptr as usize }, 216usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_baco1200clk_bypass_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bootup_baco700clk_bypass_10khz) as usize - ptr as usize }, 220usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(bootup_baco700clk_bypass_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 224usize, concat!( "Offset of field: ", stringify!(atom_smu_info_v4_0), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_smc_dpm_info_v4_1 { pub table_header: atom_common_table_header, pub liquid1_i2c_address: u8, pub liquid2_i2c_address: u8, pub vr_i2c_address: u8, pub plx_i2c_address: u8, pub liquid_i2c_linescl: u8, pub liquid_i2c_linesda: u8, pub vr_i2c_linescl: u8, pub vr_i2c_linesda: u8, pub plx_i2c_linescl: u8, pub plx_i2c_linesda: u8, pub vrsensorpresent: u8, pub liquidsensorpresent: u8, pub maxvoltagestepgfx: u16, pub maxvoltagestepsoc: u16, pub vddgfxvrmapping: u8, pub vddsocvrmapping: u8, pub vddmem0vrmapping: u8, pub vddmem1vrmapping: u8, pub gfxulvphasesheddingmask: u8, pub soculvphasesheddingmask: u8, pub padding8_v: [u8; 2usize], pub gfxmaxcurrent: u16, pub gfxoffset: u8, pub padding_telemetrygfx: u8, pub socmaxcurrent: u16, pub socoffset: u8, pub padding_telemetrysoc: u8, pub mem0maxcurrent: u16, pub mem0offset: u8, pub padding_telemetrymem0: u8, pub mem1maxcurrent: u16, pub mem1offset: u8, pub padding_telemetrymem1: u8, pub acdcgpio: u8, pub acdcpolarity: u8, pub vr0hotgpio: u8, pub vr0hotpolarity: u8, pub vr1hotgpio: u8, pub vr1hotpolarity: u8, pub padding1: u8, pub padding2: u8, pub ledpin0: u8, pub ledpin1: u8, pub ledpin2: u8, pub padding8_4: u8, pub pllgfxclkspreadenabled: u8, pub pllgfxclkspreadpercent: u8, pub pllgfxclkspreadfreq: u16, pub uclkspreadenabled: u8, pub uclkspreadpercent: u8, pub uclkspreadfreq: u16, pub socclkspreadenabled: u8, pub socclkspreadpercent: u8, pub socclkspreadfreq: u16, pub acggfxclkspreadenabled: u8, pub acggfxclkspreadpercent: u8, pub acggfxclkspreadfreq: u16, pub Vr2_I2C_address: u8, pub padding_vr2: [u8; 3usize], pub boardreserved: [u32; 9usize], } #[test] fn bindgen_test_layout_atom_smc_dpm_info_v4_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 112usize, concat!("Size of: ", stringify!(atom_smc_dpm_info_v4_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_smc_dpm_info_v4_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).liquid1_i2c_address) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(liquid1_i2c_address) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).liquid2_i2c_address) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(liquid2_i2c_address) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr_i2c_address) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(vr_i2c_address) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).plx_i2c_address) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(plx_i2c_address) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).liquid_i2c_linescl) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(liquid_i2c_linescl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).liquid_i2c_linesda) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(liquid_i2c_linesda) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr_i2c_linescl) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(vr_i2c_linescl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr_i2c_linesda) as usize - ptr as usize }, 11usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(vr_i2c_linesda) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).plx_i2c_linescl) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(plx_i2c_linescl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).plx_i2c_linesda) as usize - ptr as usize }, 13usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(plx_i2c_linesda) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vrsensorpresent) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(vrsensorpresent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).liquidsensorpresent) as usize - ptr as usize }, 15usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(liquidsensorpresent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).maxvoltagestepgfx) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(maxvoltagestepgfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).maxvoltagestepsoc) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(maxvoltagestepsoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddgfxvrmapping) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(vddgfxvrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddsocvrmapping) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(vddsocvrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddmem0vrmapping) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(vddmem0vrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddmem1vrmapping) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(vddmem1vrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxulvphasesheddingmask) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(gfxulvphasesheddingmask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).soculvphasesheddingmask) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(soculvphasesheddingmask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding8_v) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(padding8_v) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxmaxcurrent) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(gfxmaxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxoffset) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(gfxoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrygfx) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(padding_telemetrygfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).socmaxcurrent) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(socmaxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).socoffset) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(socoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrysoc) as usize - ptr as usize }, 35usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(padding_telemetrysoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem0maxcurrent) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(mem0maxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem0offset) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(mem0offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrymem0) as usize - ptr as usize }, 39usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(padding_telemetrymem0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem1maxcurrent) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(mem1maxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem1offset) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(mem1offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrymem1) as usize - ptr as usize }, 43usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(padding_telemetrymem1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acdcgpio) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(acdcgpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acdcpolarity) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(acdcpolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr0hotgpio) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(vr0hotgpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr0hotpolarity) as usize - ptr as usize }, 47usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(vr0hotpolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr1hotgpio) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(vr1hotgpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr1hotpolarity) as usize - ptr as usize }, 49usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(vr1hotpolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding1) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(padding1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding2) as usize - ptr as usize }, 51usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(padding2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ledpin0) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(ledpin0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ledpin1) as usize - ptr as usize }, 53usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(ledpin1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ledpin2) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(ledpin2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding8_4) as usize - ptr as usize }, 55usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(padding8_4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pllgfxclkspreadenabled) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(pllgfxclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pllgfxclkspreadpercent) as usize - ptr as usize }, 57usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(pllgfxclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pllgfxclkspreadfreq) as usize - ptr as usize }, 58usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(pllgfxclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uclkspreadenabled) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(uclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uclkspreadpercent) as usize - ptr as usize }, 61usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(uclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uclkspreadfreq) as usize - ptr as usize }, 62usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(uclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).socclkspreadenabled) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(socclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).socclkspreadpercent) as usize - ptr as usize }, 65usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(socclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).socclkspreadfreq) as usize - ptr as usize }, 66usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(socclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acggfxclkspreadenabled) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(acggfxclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acggfxclkspreadpercent) as usize - ptr as usize }, 69usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(acggfxclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acggfxclkspreadfreq) as usize - ptr as usize }, 70usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(acggfxclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Vr2_I2C_address) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(Vr2_I2C_address) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_vr2) as usize - ptr as usize }, 73usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(padding_vr2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).boardreserved) as usize - ptr as usize }, 76usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_1), "::", stringify!(boardreserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_smc_dpm_info_v4_3 { pub table_header: atom_common_table_header, pub liquid1_i2c_address: u8, pub liquid2_i2c_address: u8, pub vr_i2c_address: u8, pub plx_i2c_address: u8, pub liquid_i2c_linescl: u8, pub liquid_i2c_linesda: u8, pub vr_i2c_linescl: u8, pub vr_i2c_linesda: u8, pub plx_i2c_linescl: u8, pub plx_i2c_linesda: u8, pub vrsensorpresent: u8, pub liquidsensorpresent: u8, pub maxvoltagestepgfx: u16, pub maxvoltagestepsoc: u16, pub vddgfxvrmapping: u8, pub vddsocvrmapping: u8, pub vddmem0vrmapping: u8, pub vddmem1vrmapping: u8, pub gfxulvphasesheddingmask: u8, pub soculvphasesheddingmask: u8, pub externalsensorpresent: u8, pub padding8_v: u8, pub gfxmaxcurrent: u16, pub gfxoffset: u8, pub padding_telemetrygfx: u8, pub socmaxcurrent: u16, pub socoffset: u8, pub padding_telemetrysoc: u8, pub mem0maxcurrent: u16, pub mem0offset: u8, pub padding_telemetrymem0: u8, pub mem1maxcurrent: u16, pub mem1offset: u8, pub padding_telemetrymem1: u8, pub acdcgpio: u8, pub acdcpolarity: u8, pub vr0hotgpio: u8, pub vr0hotpolarity: u8, pub vr1hotgpio: u8, pub vr1hotpolarity: u8, pub padding1: u8, pub padding2: u8, pub ledpin0: u8, pub ledpin1: u8, pub ledpin2: u8, pub padding8_4: u8, pub pllgfxclkspreadenabled: u8, pub pllgfxclkspreadpercent: u8, pub pllgfxclkspreadfreq: u16, pub uclkspreadenabled: u8, pub uclkspreadpercent: u8, pub uclkspreadfreq: u16, pub fclkspreadenabled: u8, pub fclkspreadpercent: u8, pub fclkspreadfreq: u16, pub fllgfxclkspreadenabled: u8, pub fllgfxclkspreadpercent: u8, pub fllgfxclkspreadfreq: u16, pub boardreserved: [u32; 10usize], } #[test] fn bindgen_test_layout_atom_smc_dpm_info_v4_3() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 112usize, concat!("Size of: ", stringify!(atom_smc_dpm_info_v4_3)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_smc_dpm_info_v4_3)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).liquid1_i2c_address) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(liquid1_i2c_address) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).liquid2_i2c_address) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(liquid2_i2c_address) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr_i2c_address) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(vr_i2c_address) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).plx_i2c_address) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(plx_i2c_address) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).liquid_i2c_linescl) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(liquid_i2c_linescl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).liquid_i2c_linesda) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(liquid_i2c_linesda) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr_i2c_linescl) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(vr_i2c_linescl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr_i2c_linesda) as usize - ptr as usize }, 11usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(vr_i2c_linesda) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).plx_i2c_linescl) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(plx_i2c_linescl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).plx_i2c_linesda) as usize - ptr as usize }, 13usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(plx_i2c_linesda) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vrsensorpresent) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(vrsensorpresent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).liquidsensorpresent) as usize - ptr as usize }, 15usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(liquidsensorpresent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).maxvoltagestepgfx) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(maxvoltagestepgfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).maxvoltagestepsoc) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(maxvoltagestepsoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddgfxvrmapping) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(vddgfxvrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddsocvrmapping) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(vddsocvrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddmem0vrmapping) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(vddmem0vrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddmem1vrmapping) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(vddmem1vrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxulvphasesheddingmask) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(gfxulvphasesheddingmask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).soculvphasesheddingmask) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(soculvphasesheddingmask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).externalsensorpresent) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(externalsensorpresent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding8_v) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(padding8_v) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxmaxcurrent) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(gfxmaxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxoffset) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(gfxoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrygfx) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(padding_telemetrygfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).socmaxcurrent) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(socmaxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).socoffset) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(socoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrysoc) as usize - ptr as usize }, 35usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(padding_telemetrysoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem0maxcurrent) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(mem0maxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem0offset) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(mem0offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrymem0) as usize - ptr as usize }, 39usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(padding_telemetrymem0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem1maxcurrent) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(mem1maxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem1offset) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(mem1offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrymem1) as usize - ptr as usize }, 43usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(padding_telemetrymem1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acdcgpio) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(acdcgpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acdcpolarity) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(acdcpolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr0hotgpio) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(vr0hotgpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr0hotpolarity) as usize - ptr as usize }, 47usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(vr0hotpolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr1hotgpio) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(vr1hotgpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr1hotpolarity) as usize - ptr as usize }, 49usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(vr1hotpolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding1) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(padding1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding2) as usize - ptr as usize }, 51usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(padding2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ledpin0) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(ledpin0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ledpin1) as usize - ptr as usize }, 53usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(ledpin1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ledpin2) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(ledpin2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding8_4) as usize - ptr as usize }, 55usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(padding8_4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pllgfxclkspreadenabled) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(pllgfxclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pllgfxclkspreadpercent) as usize - ptr as usize }, 57usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(pllgfxclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pllgfxclkspreadfreq) as usize - ptr as usize }, 58usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(pllgfxclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uclkspreadenabled) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(uclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uclkspreadpercent) as usize - ptr as usize }, 61usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(uclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uclkspreadfreq) as usize - ptr as usize }, 62usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(uclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fclkspreadenabled) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(fclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fclkspreadpercent) as usize - ptr as usize }, 65usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(fclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fclkspreadfreq) as usize - ptr as usize }, 66usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(fclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fllgfxclkspreadenabled) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(fllgfxclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fllgfxclkspreadpercent) as usize - ptr as usize }, 69usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(fllgfxclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fllgfxclkspreadfreq) as usize - ptr as usize }, 70usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(fllgfxclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).boardreserved) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_3), "::", stringify!(boardreserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct smudpm_i2ccontrollerconfig_t { pub enabled: u32, pub slaveaddress: u32, pub controllerport: u32, pub controllername: u32, pub thermalthrottler: u32, pub i2cprotocol: u32, pub i2cspeed: u32, } #[test] fn bindgen_test_layout_smudpm_i2ccontrollerconfig_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 28usize, concat!("Size of: ", stringify!(smudpm_i2ccontrollerconfig_t)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(smudpm_i2ccontrollerconfig_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enabled) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(smudpm_i2ccontrollerconfig_t), "::", stringify!(enabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).slaveaddress) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(smudpm_i2ccontrollerconfig_t), "::", stringify!(slaveaddress) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).controllerport) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(smudpm_i2ccontrollerconfig_t), "::", stringify!(controllerport) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).controllername) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(smudpm_i2ccontrollerconfig_t), "::", stringify!(controllername) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).thermalthrottler) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(smudpm_i2ccontrollerconfig_t), "::", stringify!(thermalthrottler) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2cprotocol) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(smudpm_i2ccontrollerconfig_t), "::", stringify!(i2cprotocol) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2cspeed) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(smudpm_i2ccontrollerconfig_t), "::", stringify!(i2cspeed) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_smc_dpm_info_v4_4 { pub table_header: atom_common_table_header, pub i2c_padding: [u32; 3usize], pub maxvoltagestepgfx: u16, pub maxvoltagestepsoc: u16, pub vddgfxvrmapping: u8, pub vddsocvrmapping: u8, pub vddmem0vrmapping: u8, pub vddmem1vrmapping: u8, pub gfxulvphasesheddingmask: u8, pub soculvphasesheddingmask: u8, pub externalsensorpresent: u8, pub padding8_v: u8, pub gfxmaxcurrent: u16, pub gfxoffset: u8, pub padding_telemetrygfx: u8, pub socmaxcurrent: u16, pub socoffset: u8, pub padding_telemetrysoc: u8, pub mem0maxcurrent: u16, pub mem0offset: u8, pub padding_telemetrymem0: u8, pub mem1maxcurrent: u16, pub mem1offset: u8, pub padding_telemetrymem1: u8, pub acdcgpio: u8, pub acdcpolarity: u8, pub vr0hotgpio: u8, pub vr0hotpolarity: u8, pub vr1hotgpio: u8, pub vr1hotpolarity: u8, pub padding1: u8, pub padding2: u8, pub ledpin0: u8, pub ledpin1: u8, pub ledpin2: u8, pub padding8_4: u8, pub pllgfxclkspreadenabled: u8, pub pllgfxclkspreadpercent: u8, pub pllgfxclkspreadfreq: u16, pub uclkspreadenabled: u8, pub uclkspreadpercent: u8, pub uclkspreadfreq: u16, pub fclkspreadenabled: u8, pub fclkspreadpercent: u8, pub fclkspreadfreq: u16, pub fllgfxclkspreadenabled: u8, pub fllgfxclkspreadpercent: u8, pub fllgfxclkspreadfreq: u16, pub i2ccontrollers: [smudpm_i2ccontrollerconfig_t; 7usize], pub boardreserved: [u32; 10usize], } #[test] fn bindgen_test_layout_atom_smc_dpm_info_v4_4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 308usize, concat!("Size of: ", stringify!(atom_smc_dpm_info_v4_4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_smc_dpm_info_v4_4)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_padding) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(i2c_padding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).maxvoltagestepgfx) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(maxvoltagestepgfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).maxvoltagestepsoc) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(maxvoltagestepsoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddgfxvrmapping) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(vddgfxvrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddsocvrmapping) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(vddsocvrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddmem0vrmapping) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(vddmem0vrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddmem1vrmapping) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(vddmem1vrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxulvphasesheddingmask) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(gfxulvphasesheddingmask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).soculvphasesheddingmask) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(soculvphasesheddingmask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).externalsensorpresent) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(externalsensorpresent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding8_v) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(padding8_v) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxmaxcurrent) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(gfxmaxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxoffset) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(gfxoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrygfx) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(padding_telemetrygfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).socmaxcurrent) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(socmaxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).socoffset) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(socoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrysoc) as usize - ptr as usize }, 35usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(padding_telemetrysoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem0maxcurrent) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(mem0maxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem0offset) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(mem0offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrymem0) as usize - ptr as usize }, 39usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(padding_telemetrymem0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem1maxcurrent) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(mem1maxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem1offset) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(mem1offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrymem1) as usize - ptr as usize }, 43usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(padding_telemetrymem1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acdcgpio) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(acdcgpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acdcpolarity) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(acdcpolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr0hotgpio) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(vr0hotgpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr0hotpolarity) as usize - ptr as usize }, 47usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(vr0hotpolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr1hotgpio) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(vr1hotgpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr1hotpolarity) as usize - ptr as usize }, 49usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(vr1hotpolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding1) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(padding1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding2) as usize - ptr as usize }, 51usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(padding2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ledpin0) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(ledpin0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ledpin1) as usize - ptr as usize }, 53usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(ledpin1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ledpin2) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(ledpin2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding8_4) as usize - ptr as usize }, 55usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(padding8_4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pllgfxclkspreadenabled) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(pllgfxclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pllgfxclkspreadpercent) as usize - ptr as usize }, 57usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(pllgfxclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pllgfxclkspreadfreq) as usize - ptr as usize }, 58usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(pllgfxclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uclkspreadenabled) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(uclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uclkspreadpercent) as usize - ptr as usize }, 61usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(uclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uclkspreadfreq) as usize - ptr as usize }, 62usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(uclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fclkspreadenabled) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(fclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fclkspreadpercent) as usize - ptr as usize }, 65usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(fclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fclkspreadfreq) as usize - ptr as usize }, 66usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(fclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fllgfxclkspreadenabled) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(fllgfxclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fllgfxclkspreadpercent) as usize - ptr as usize }, 69usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(fllgfxclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fllgfxclkspreadfreq) as usize - ptr as usize }, 70usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(fllgfxclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2ccontrollers) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(i2ccontrollers) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).boardreserved) as usize - ptr as usize }, 268usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_4), "::", stringify!(boardreserved) ) ); } pub const smudpm_v4_5_i2ccontrollername_e_SMC_V4_5_I2C_CONTROLLER_NAME_VR_GFX: smudpm_v4_5_i2ccontrollername_e = 0; pub const smudpm_v4_5_i2ccontrollername_e_SMC_V4_5_I2C_CONTROLLER_NAME_VR_SOC: smudpm_v4_5_i2ccontrollername_e = 1; pub const smudpm_v4_5_i2ccontrollername_e_SMC_V4_5_I2C_CONTROLLER_NAME_VR_VDDCI: smudpm_v4_5_i2ccontrollername_e = 2; pub const smudpm_v4_5_i2ccontrollername_e_SMC_V4_5_I2C_CONTROLLER_NAME_VR_MVDD: smudpm_v4_5_i2ccontrollername_e = 3; pub const smudpm_v4_5_i2ccontrollername_e_SMC_V4_5_I2C_CONTROLLER_NAME_LIQUID0: smudpm_v4_5_i2ccontrollername_e = 4; pub const smudpm_v4_5_i2ccontrollername_e_SMC_V4_5_I2C_CONTROLLER_NAME_LIQUID1: smudpm_v4_5_i2ccontrollername_e = 5; pub const smudpm_v4_5_i2ccontrollername_e_SMC_V4_5_I2C_CONTROLLER_NAME_PLX: smudpm_v4_5_i2ccontrollername_e = 6; pub const smudpm_v4_5_i2ccontrollername_e_SMC_V4_5_I2C_CONTROLLER_NAME_SPARE: smudpm_v4_5_i2ccontrollername_e = 7; pub const smudpm_v4_5_i2ccontrollername_e_SMC_V4_5_I2C_CONTROLLER_NAME_COUNT: smudpm_v4_5_i2ccontrollername_e = 8; pub type smudpm_v4_5_i2ccontrollername_e = ::core::ffi::c_uint; pub const smudpm_v4_5_i2ccontrollerthrottler_e_SMC_V4_5_I2C_CONTROLLER_THROTTLER_TYPE_NONE: smudpm_v4_5_i2ccontrollerthrottler_e = 0; pub const smudpm_v4_5_i2ccontrollerthrottler_e_SMC_V4_5_I2C_CONTROLLER_THROTTLER_VR_GFX: smudpm_v4_5_i2ccontrollerthrottler_e = 1; pub const smudpm_v4_5_i2ccontrollerthrottler_e_SMC_V4_5_I2C_CONTROLLER_THROTTLER_VR_SOC: smudpm_v4_5_i2ccontrollerthrottler_e = 2; pub const smudpm_v4_5_i2ccontrollerthrottler_e_SMC_V4_5_I2C_CONTROLLER_THROTTLER_VR_VDDCI: smudpm_v4_5_i2ccontrollerthrottler_e = 3; pub const smudpm_v4_5_i2ccontrollerthrottler_e_SMC_V4_5_I2C_CONTROLLER_THROTTLER_VR_MVDD: smudpm_v4_5_i2ccontrollerthrottler_e = 4; pub const smudpm_v4_5_i2ccontrollerthrottler_e_SMC_V4_5_I2C_CONTROLLER_THROTTLER_LIQUID0: smudpm_v4_5_i2ccontrollerthrottler_e = 5; pub const smudpm_v4_5_i2ccontrollerthrottler_e_SMC_V4_5_I2C_CONTROLLER_THROTTLER_LIQUID1: smudpm_v4_5_i2ccontrollerthrottler_e = 6; pub const smudpm_v4_5_i2ccontrollerthrottler_e_SMC_V4_5_I2C_CONTROLLER_THROTTLER_PLX: smudpm_v4_5_i2ccontrollerthrottler_e = 7; pub const smudpm_v4_5_i2ccontrollerthrottler_e_SMC_V4_5_I2C_CONTROLLER_THROTTLER_COUNT: smudpm_v4_5_i2ccontrollerthrottler_e = 8; pub type smudpm_v4_5_i2ccontrollerthrottler_e = ::core::ffi::c_uint; pub const smudpm_v4_5_i2ccontrollerprotocol_e_SMC_V4_5_I2C_CONTROLLER_PROTOCOL_VR_0: smudpm_v4_5_i2ccontrollerprotocol_e = 0; pub const smudpm_v4_5_i2ccontrollerprotocol_e_SMC_V4_5_I2C_CONTROLLER_PROTOCOL_VR_1: smudpm_v4_5_i2ccontrollerprotocol_e = 1; pub const smudpm_v4_5_i2ccontrollerprotocol_e_SMC_V4_5_I2C_CONTROLLER_PROTOCOL_TMP_0: smudpm_v4_5_i2ccontrollerprotocol_e = 2; pub const smudpm_v4_5_i2ccontrollerprotocol_e_SMC_V4_5_I2C_CONTROLLER_PROTOCOL_TMP_1: smudpm_v4_5_i2ccontrollerprotocol_e = 3; pub const smudpm_v4_5_i2ccontrollerprotocol_e_SMC_V4_5_I2C_CONTROLLER_PROTOCOL_SPARE_0: smudpm_v4_5_i2ccontrollerprotocol_e = 4; pub const smudpm_v4_5_i2ccontrollerprotocol_e_SMC_V4_5_I2C_CONTROLLER_PROTOCOL_SPARE_1: smudpm_v4_5_i2ccontrollerprotocol_e = 5; pub const smudpm_v4_5_i2ccontrollerprotocol_e_SMC_V4_5_I2C_CONTROLLER_PROTOCOL_COUNT: smudpm_v4_5_i2ccontrollerprotocol_e = 6; pub type smudpm_v4_5_i2ccontrollerprotocol_e = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct smudpm_i2c_controller_config_v2 { pub Enabled: u8, pub Speed: u8, pub Padding: [u8; 2usize], pub SlaveAddress: u32, pub ControllerPort: u8, pub ControllerName: u8, pub ThermalThrotter: u8, pub I2cProtocol: u8, } #[test] fn bindgen_test_layout_smudpm_i2c_controller_config_v2() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(smudpm_i2c_controller_config_v2)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(smudpm_i2c_controller_config_v2)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Enabled) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v2), "::", stringify!(Enabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Speed) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v2), "::", stringify!(Speed) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v2), "::", stringify!(Padding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SlaveAddress) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v2), "::", stringify!(SlaveAddress) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ControllerPort) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v2), "::", stringify!(ControllerPort) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ControllerName) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v2), "::", stringify!(ControllerName) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ThermalThrotter) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v2), "::", stringify!(ThermalThrotter) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).I2cProtocol) as usize - ptr as usize }, 11usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v2), "::", stringify!(I2cProtocol) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_smc_dpm_info_v4_5 { pub table_header: atom_common_table_header, pub I2cControllers: [smudpm_i2c_controller_config_v2; 8usize], pub MaxVoltageStepGfx: u16, pub MaxVoltageStepSoc: u16, pub VddGfxVrMapping: u8, pub VddSocVrMapping: u8, pub VddMem0VrMapping: u8, pub VddMem1VrMapping: u8, pub GfxUlvPhaseSheddingMask: u8, pub SocUlvPhaseSheddingMask: u8, pub ExternalSensorPresent: u8, pub Padding8_V: u8, pub GfxMaxCurrent: u16, pub GfxOffset: u8, pub Padding_TelemetryGfx: u8, pub SocMaxCurrent: u16, pub SocOffset: u8, pub Padding_TelemetrySoc: u8, pub Mem0MaxCurrent: u16, pub Mem0Offset: u8, pub Padding_TelemetryMem0: u8, pub Mem1MaxCurrent: u16, pub Mem1Offset: u8, pub Padding_TelemetryMem1: u8, pub AcDcGpio: u8, pub AcDcPolarity: u8, pub VR0HotGpio: u8, pub VR0HotPolarity: u8, pub VR1HotGpio: u8, pub VR1HotPolarity: u8, pub GthrGpio: u8, pub GthrPolarity: u8, pub LedPin0: u8, pub LedPin1: u8, pub LedPin2: u8, pub padding8_4: u8, pub PllGfxclkSpreadEnabled: u8, pub PllGfxclkSpreadPercent: u8, pub PllGfxclkSpreadFreq: u16, pub DfllGfxclkSpreadEnabled: u8, pub DfllGfxclkSpreadPercent: u8, pub DfllGfxclkSpreadFreq: u16, pub UclkSpreadEnabled: u8, pub UclkSpreadPercent: u8, pub UclkSpreadFreq: u16, pub SoclkSpreadEnabled: u8, pub SocclkSpreadPercent: u8, pub SocclkSpreadFreq: u16, pub TotalBoardPower: u16, pub BoardPadding: u16, pub MvddRatio: u32, pub BoardReserved: [u32; 9usize], } #[test] fn bindgen_test_layout_atom_smc_dpm_info_v4_5() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 200usize, concat!("Size of: ", stringify!(atom_smc_dpm_info_v4_5)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_smc_dpm_info_v4_5)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).I2cControllers) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(I2cControllers) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MaxVoltageStepGfx) as usize - ptr as usize }, 100usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(MaxVoltageStepGfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MaxVoltageStepSoc) as usize - ptr as usize }, 102usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(MaxVoltageStepSoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddGfxVrMapping) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(VddGfxVrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddSocVrMapping) as usize - ptr as usize }, 105usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(VddSocVrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddMem0VrMapping) as usize - ptr as usize }, 106usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(VddMem0VrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddMem1VrMapping) as usize - ptr as usize }, 107usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(VddMem1VrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxUlvPhaseSheddingMask) as usize - ptr as usize }, 108usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(GfxUlvPhaseSheddingMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocUlvPhaseSheddingMask) as usize - ptr as usize }, 109usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(SocUlvPhaseSheddingMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ExternalSensorPresent) as usize - ptr as usize }, 110usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(ExternalSensorPresent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding8_V) as usize - ptr as usize }, 111usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(Padding8_V) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxMaxCurrent) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(GfxMaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxOffset) as usize - ptr as usize }, 114usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(GfxOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetryGfx) as usize - ptr as usize }, 115usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(Padding_TelemetryGfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocMaxCurrent) as usize - ptr as usize }, 116usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(SocMaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocOffset) as usize - ptr as usize }, 118usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(SocOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetrySoc) as usize - ptr as usize }, 119usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(Padding_TelemetrySoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem0MaxCurrent) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(Mem0MaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem0Offset) as usize - ptr as usize }, 122usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(Mem0Offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetryMem0) as usize - ptr as usize }, 123usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(Padding_TelemetryMem0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem1MaxCurrent) as usize - ptr as usize }, 124usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(Mem1MaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem1Offset) as usize - ptr as usize }, 126usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(Mem1Offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetryMem1) as usize - ptr as usize }, 127usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(Padding_TelemetryMem1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcDcGpio) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(AcDcGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcDcPolarity) as usize - ptr as usize }, 129usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(AcDcPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR0HotGpio) as usize - ptr as usize }, 130usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(VR0HotGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR0HotPolarity) as usize - ptr as usize }, 131usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(VR0HotPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR1HotGpio) as usize - ptr as usize }, 132usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(VR1HotGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR1HotPolarity) as usize - ptr as usize }, 133usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(VR1HotPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GthrGpio) as usize - ptr as usize }, 134usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(GthrGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GthrPolarity) as usize - ptr as usize }, 135usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(GthrPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPin0) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(LedPin0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPin1) as usize - ptr as usize }, 137usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(LedPin1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPin2) as usize - ptr as usize }, 138usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(LedPin2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding8_4) as usize - ptr as usize }, 139usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(padding8_4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PllGfxclkSpreadEnabled) as usize - ptr as usize }, 140usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(PllGfxclkSpreadEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PllGfxclkSpreadPercent) as usize - ptr as usize }, 141usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(PllGfxclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PllGfxclkSpreadFreq) as usize - ptr as usize }, 142usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(PllGfxclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllGfxclkSpreadEnabled) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(DfllGfxclkSpreadEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllGfxclkSpreadPercent) as usize - ptr as usize }, 145usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(DfllGfxclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllGfxclkSpreadFreq) as usize - ptr as usize }, 146usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(DfllGfxclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadEnabled) as usize - ptr as usize }, 148usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(UclkSpreadEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadPercent) as usize - ptr as usize }, 149usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(UclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadFreq) as usize - ptr as usize }, 150usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(UclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SoclkSpreadEnabled) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(SoclkSpreadEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocclkSpreadPercent) as usize - ptr as usize }, 153usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(SocclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocclkSpreadFreq) as usize - ptr as usize }, 154usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(SocclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).TotalBoardPower) as usize - ptr as usize }, 156usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(TotalBoardPower) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoardPadding) as usize - ptr as usize }, 158usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(BoardPadding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MvddRatio) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(MvddRatio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoardReserved) as usize - ptr as usize }, 164usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_5), "::", stringify!(BoardReserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_smc_dpm_info_v4_6 { pub table_header: atom_common_table_header, pub i2c_padding: [u32; 3usize], pub maxvoltagestepgfx: u16, pub maxvoltagestepsoc: u16, pub vddgfxvrmapping: u8, pub vddsocvrmapping: u8, pub vddmemvrmapping: u8, pub boardvrmapping: u8, pub gfxulvphasesheddingmask: u8, pub externalsensorpresent: u8, pub padding8_v: [u8; 2usize], pub gfxmaxcurrent: u16, pub gfxoffset: u8, pub padding_telemetrygfx: u8, pub socmaxcurrent: u16, pub socoffset: u8, pub padding_telemetrysoc: u8, pub memmaxcurrent: u16, pub memoffset: u8, pub padding_telemetrymem: u8, pub boardmaxcurrent: u16, pub boardoffset: u8, pub padding_telemetryboardinput: u8, pub vr0hotgpio: u8, pub vr0hotpolarity: u8, pub vr1hotgpio: u8, pub vr1hotpolarity: u8, pub pllgfxclkspreadenabled: u8, pub pllgfxclkspreadpercent: u8, pub pllgfxclkspreadfreq: u16, pub uclkspreadenabled: u8, pub uclkspreadpercent: u8, pub uclkspreadfreq: u16, pub fclkspreadenabled: u8, pub fclkspreadpercent: u8, pub fclkspreadfreq: u16, pub fllgfxclkspreadenabled: u8, pub fllgfxclkspreadpercent: u8, pub fllgfxclkspreadfreq: u16, pub i2ccontrollers: [smudpm_i2c_controller_config_v2; 8usize], pub memorychannelenabled: u32, pub drambitwidth: u8, pub paddingmem: [u8; 3usize], pub totalboardpower: u16, pub boardpadding: u16, pub xgmilinkspeed: [u8; 4usize], pub xgmilinkwidth: [u8; 4usize], pub xgmifclkfreq: [u16; 4usize], pub xgmisocvoltage: [u16; 4usize], pub boardreserved: [u32; 10usize], } #[test] fn bindgen_test_layout_atom_smc_dpm_info_v4_6() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 236usize, concat!("Size of: ", stringify!(atom_smc_dpm_info_v4_6)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_smc_dpm_info_v4_6)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_padding) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(i2c_padding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).maxvoltagestepgfx) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(maxvoltagestepgfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).maxvoltagestepsoc) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(maxvoltagestepsoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddgfxvrmapping) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(vddgfxvrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddsocvrmapping) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(vddsocvrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vddmemvrmapping) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(vddmemvrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).boardvrmapping) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(boardvrmapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxulvphasesheddingmask) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(gfxulvphasesheddingmask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).externalsensorpresent) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(externalsensorpresent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding8_v) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(padding8_v) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxmaxcurrent) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(gfxmaxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gfxoffset) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(gfxoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrygfx) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(padding_telemetrygfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).socmaxcurrent) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(socmaxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).socoffset) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(socoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrysoc) as usize - ptr as usize }, 35usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(padding_telemetrysoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memmaxcurrent) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(memmaxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memoffset) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(memoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetrymem) as usize - ptr as usize }, 39usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(padding_telemetrymem) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).boardmaxcurrent) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(boardmaxcurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).boardoffset) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(boardoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding_telemetryboardinput) as usize - ptr as usize }, 43usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(padding_telemetryboardinput) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr0hotgpio) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(vr0hotgpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr0hotpolarity) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(vr0hotpolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr1hotgpio) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(vr1hotgpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vr1hotpolarity) as usize - ptr as usize }, 47usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(vr1hotpolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pllgfxclkspreadenabled) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(pllgfxclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pllgfxclkspreadpercent) as usize - ptr as usize }, 49usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(pllgfxclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pllgfxclkspreadfreq) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(pllgfxclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uclkspreadenabled) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(uclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uclkspreadpercent) as usize - ptr as usize }, 53usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(uclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uclkspreadfreq) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(uclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fclkspreadenabled) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(fclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fclkspreadpercent) as usize - ptr as usize }, 57usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(fclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fclkspreadfreq) as usize - ptr as usize }, 58usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(fclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fllgfxclkspreadenabled) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(fllgfxclkspreadenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fllgfxclkspreadpercent) as usize - ptr as usize }, 61usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(fllgfxclkspreadpercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).fllgfxclkspreadfreq) as usize - ptr as usize }, 62usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(fllgfxclkspreadfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2ccontrollers) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(i2ccontrollers) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memorychannelenabled) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(memorychannelenabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).drambitwidth) as usize - ptr as usize }, 164usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(drambitwidth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).paddingmem) as usize - ptr as usize }, 165usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(paddingmem) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).totalboardpower) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(totalboardpower) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).boardpadding) as usize - ptr as usize }, 170usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(boardpadding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).xgmilinkspeed) as usize - ptr as usize }, 172usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(xgmilinkspeed) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).xgmilinkwidth) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(xgmilinkwidth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).xgmifclkfreq) as usize - ptr as usize }, 180usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(xgmifclkfreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).xgmisocvoltage) as usize - ptr as usize }, 188usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(xgmisocvoltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).boardreserved) as usize - ptr as usize }, 196usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_6), "::", stringify!(boardreserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_smc_dpm_info_v4_7 { pub table_header: atom_common_table_header, pub I2cControllers: [smudpm_i2c_controller_config_v2; 8usize], pub MaxVoltageStepGfx: u16, pub MaxVoltageStepSoc: u16, pub VddGfxVrMapping: u8, pub VddSocVrMapping: u8, pub VddMem0VrMapping: u8, pub VddMem1VrMapping: u8, pub GfxUlvPhaseSheddingMask: u8, pub SocUlvPhaseSheddingMask: u8, pub ExternalSensorPresent: u8, pub Padding8_V: u8, pub GfxMaxCurrent: u16, pub GfxOffset: u8, pub Padding_TelemetryGfx: u8, pub SocMaxCurrent: u16, pub SocOffset: u8, pub Padding_TelemetrySoc: u8, pub Mem0MaxCurrent: u16, pub Mem0Offset: u8, pub Padding_TelemetryMem0: u8, pub Mem1MaxCurrent: u16, pub Mem1Offset: u8, pub Padding_TelemetryMem1: u8, pub AcDcGpio: u8, pub AcDcPolarity: u8, pub VR0HotGpio: u8, pub VR0HotPolarity: u8, pub VR1HotGpio: u8, pub VR1HotPolarity: u8, pub GthrGpio: u8, pub GthrPolarity: u8, pub LedPin0: u8, pub LedPin1: u8, pub LedPin2: u8, pub padding8_4: u8, pub PllGfxclkSpreadEnabled: u8, pub PllGfxclkSpreadPercent: u8, pub PllGfxclkSpreadFreq: u16, pub DfllGfxclkSpreadEnabled: u8, pub DfllGfxclkSpreadPercent: u8, pub DfllGfxclkSpreadFreq: u16, pub UclkSpreadEnabled: u8, pub UclkSpreadPercent: u8, pub UclkSpreadFreq: u16, pub SoclkSpreadEnabled: u8, pub SocclkSpreadPercent: u8, pub SocclkSpreadFreq: u16, pub TotalBoardPower: u16, pub BoardPadding: u16, pub MvddRatio: u32, pub GpioI2cScl: u8, pub GpioI2cSda: u8, pub GpioPadding: u16, pub LedPin3: u8, pub LedPin4: u8, pub LedEnableMask: u16, pub PowerLimitScalar: [u8; 4usize], pub MvddUlvPhaseSheddingMask: u8, pub VddciUlvPhaseSheddingMask: u8, pub Padding8_Psi1: u8, pub Padding8_Psi2: u8, pub BoardReserved: [u32; 5usize], } #[test] fn bindgen_test_layout_atom_smc_dpm_info_v4_7() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 200usize, concat!("Size of: ", stringify!(atom_smc_dpm_info_v4_7)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_smc_dpm_info_v4_7)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).I2cControllers) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(I2cControllers) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MaxVoltageStepGfx) as usize - ptr as usize }, 100usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(MaxVoltageStepGfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MaxVoltageStepSoc) as usize - ptr as usize }, 102usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(MaxVoltageStepSoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddGfxVrMapping) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(VddGfxVrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddSocVrMapping) as usize - ptr as usize }, 105usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(VddSocVrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddMem0VrMapping) as usize - ptr as usize }, 106usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(VddMem0VrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddMem1VrMapping) as usize - ptr as usize }, 107usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(VddMem1VrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxUlvPhaseSheddingMask) as usize - ptr as usize }, 108usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(GfxUlvPhaseSheddingMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocUlvPhaseSheddingMask) as usize - ptr as usize }, 109usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(SocUlvPhaseSheddingMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ExternalSensorPresent) as usize - ptr as usize }, 110usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(ExternalSensorPresent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding8_V) as usize - ptr as usize }, 111usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(Padding8_V) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxMaxCurrent) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(GfxMaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxOffset) as usize - ptr as usize }, 114usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(GfxOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetryGfx) as usize - ptr as usize }, 115usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(Padding_TelemetryGfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocMaxCurrent) as usize - ptr as usize }, 116usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(SocMaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocOffset) as usize - ptr as usize }, 118usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(SocOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetrySoc) as usize - ptr as usize }, 119usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(Padding_TelemetrySoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem0MaxCurrent) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(Mem0MaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem0Offset) as usize - ptr as usize }, 122usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(Mem0Offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetryMem0) as usize - ptr as usize }, 123usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(Padding_TelemetryMem0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem1MaxCurrent) as usize - ptr as usize }, 124usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(Mem1MaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem1Offset) as usize - ptr as usize }, 126usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(Mem1Offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetryMem1) as usize - ptr as usize }, 127usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(Padding_TelemetryMem1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcDcGpio) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(AcDcGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcDcPolarity) as usize - ptr as usize }, 129usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(AcDcPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR0HotGpio) as usize - ptr as usize }, 130usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(VR0HotGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR0HotPolarity) as usize - ptr as usize }, 131usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(VR0HotPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR1HotGpio) as usize - ptr as usize }, 132usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(VR1HotGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR1HotPolarity) as usize - ptr as usize }, 133usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(VR1HotPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GthrGpio) as usize - ptr as usize }, 134usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(GthrGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GthrPolarity) as usize - ptr as usize }, 135usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(GthrPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPin0) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(LedPin0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPin1) as usize - ptr as usize }, 137usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(LedPin1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPin2) as usize - ptr as usize }, 138usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(LedPin2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding8_4) as usize - ptr as usize }, 139usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(padding8_4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PllGfxclkSpreadEnabled) as usize - ptr as usize }, 140usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(PllGfxclkSpreadEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PllGfxclkSpreadPercent) as usize - ptr as usize }, 141usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(PllGfxclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PllGfxclkSpreadFreq) as usize - ptr as usize }, 142usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(PllGfxclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllGfxclkSpreadEnabled) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(DfllGfxclkSpreadEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllGfxclkSpreadPercent) as usize - ptr as usize }, 145usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(DfllGfxclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllGfxclkSpreadFreq) as usize - ptr as usize }, 146usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(DfllGfxclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadEnabled) as usize - ptr as usize }, 148usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(UclkSpreadEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadPercent) as usize - ptr as usize }, 149usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(UclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadFreq) as usize - ptr as usize }, 150usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(UclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SoclkSpreadEnabled) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(SoclkSpreadEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocclkSpreadPercent) as usize - ptr as usize }, 153usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(SocclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocclkSpreadFreq) as usize - ptr as usize }, 154usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(SocclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).TotalBoardPower) as usize - ptr as usize }, 156usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(TotalBoardPower) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoardPadding) as usize - ptr as usize }, 158usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(BoardPadding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MvddRatio) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(MvddRatio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GpioI2cScl) as usize - ptr as usize }, 164usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(GpioI2cScl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GpioI2cSda) as usize - ptr as usize }, 165usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(GpioI2cSda) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GpioPadding) as usize - ptr as usize }, 166usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(GpioPadding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPin3) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(LedPin3) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPin4) as usize - ptr as usize }, 169usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(LedPin4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedEnableMask) as usize - ptr as usize }, 170usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(LedEnableMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PowerLimitScalar) as usize - ptr as usize }, 172usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(PowerLimitScalar) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MvddUlvPhaseSheddingMask) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(MvddUlvPhaseSheddingMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddciUlvPhaseSheddingMask) as usize - ptr as usize }, 177usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(VddciUlvPhaseSheddingMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding8_Psi1) as usize - ptr as usize }, 178usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(Padding8_Psi1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding8_Psi2) as usize - ptr as usize }, 179usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(Padding8_Psi2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoardReserved) as usize - ptr as usize }, 180usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_7), "::", stringify!(BoardReserved) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct smudpm_i2c_controller_config_v3 { pub Enabled: u8, pub Speed: u8, pub SlaveAddress: u8, pub ControllerPort: u8, pub ControllerName: u8, pub ThermalThrotter: u8, pub I2cProtocol: u8, pub PaddingConfig: u8, } #[test] fn bindgen_test_layout_smudpm_i2c_controller_config_v3() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(smudpm_i2c_controller_config_v3)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(smudpm_i2c_controller_config_v3)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Enabled) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v3), "::", stringify!(Enabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Speed) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v3), "::", stringify!(Speed) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SlaveAddress) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v3), "::", stringify!(SlaveAddress) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ControllerPort) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v3), "::", stringify!(ControllerPort) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ControllerName) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v3), "::", stringify!(ControllerName) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ThermalThrotter) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v3), "::", stringify!(ThermalThrotter) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).I2cProtocol) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v3), "::", stringify!(I2cProtocol) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PaddingConfig) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(smudpm_i2c_controller_config_v3), "::", stringify!(PaddingConfig) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_smc_dpm_info_v4_9 { pub table_header: atom_common_table_header, pub I2cControllers: [smudpm_i2c_controller_config_v3; 16usize], pub GpioScl: u8, pub GpioSda: u8, pub FchUsbPdSlaveAddr: u8, pub I2cSpare: u8, pub VddGfxVrMapping: u8, pub VddSocVrMapping: u8, pub VddMem0VrMapping: u8, pub VddMem1VrMapping: u8, pub GfxUlvPhaseSheddingMask: u8, pub SocUlvPhaseSheddingMask: u8, pub VddciUlvPhaseSheddingMask: u8, pub MvddUlvPhaseSheddingMask: u8, pub GfxMaxCurrent: u16, pub GfxOffset: u8, pub Padding_TelemetryGfx: u8, pub SocMaxCurrent: u16, pub SocOffset: u8, pub Padding_TelemetrySoc: u8, pub Mem0MaxCurrent: u16, pub Mem0Offset: u8, pub Padding_TelemetryMem0: u8, pub Mem1MaxCurrent: u16, pub Mem1Offset: u8, pub Padding_TelemetryMem1: u8, pub MvddRatio: u32, pub AcDcGpio: u8, pub AcDcPolarity: u8, pub VR0HotGpio: u8, pub VR0HotPolarity: u8, pub VR1HotGpio: u8, pub VR1HotPolarity: u8, pub GthrGpio: u8, pub GthrPolarity: u8, pub LedPin0: u8, pub LedPin1: u8, pub LedPin2: u8, pub LedEnableMask: u8, pub LedPcie: u8, pub LedError: u8, pub LedSpare1: [u8; 2usize], pub PllGfxclkSpreadEnabled: u8, pub PllGfxclkSpreadPercent: u8, pub PllGfxclkSpreadFreq: u16, pub DfllGfxclkSpreadEnabled: u8, pub DfllGfxclkSpreadPercent: u8, pub DfllGfxclkSpreadFreq: u16, pub UclkSpreadEnabled: u8, pub UclkSpreadPercent: u8, pub UclkSpreadFreq: u16, pub FclkSpreadEnabled: u8, pub FclkSpreadPercent: u8, pub FclkSpreadFreq: u16, pub MemoryChannelEnabled: u32, pub DramBitWidth: u8, pub PaddingMem1: [u8; 3usize], pub TotalBoardPower: u16, pub BoardPowerPadding: u16, pub XgmiLinkSpeed: [u8; 4usize], pub XgmiLinkWidth: [u8; 4usize], pub XgmiFclkFreq: [u16; 4usize], pub XgmiSocVoltage: [u16; 4usize], pub BoardReserved: [u32; 16usize], } #[test] fn bindgen_test_layout_atom_smc_dpm_info_v4_9() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 296usize, concat!("Size of: ", stringify!(atom_smc_dpm_info_v4_9)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_smc_dpm_info_v4_9)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).I2cControllers) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(I2cControllers) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GpioScl) as usize - ptr as usize }, 132usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(GpioScl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GpioSda) as usize - ptr as usize }, 133usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(GpioSda) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FchUsbPdSlaveAddr) as usize - ptr as usize }, 134usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(FchUsbPdSlaveAddr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).I2cSpare) as usize - ptr as usize }, 135usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(I2cSpare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddGfxVrMapping) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(VddGfxVrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddSocVrMapping) as usize - ptr as usize }, 137usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(VddSocVrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddMem0VrMapping) as usize - ptr as usize }, 138usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(VddMem0VrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddMem1VrMapping) as usize - ptr as usize }, 139usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(VddMem1VrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxUlvPhaseSheddingMask) as usize - ptr as usize }, 140usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(GfxUlvPhaseSheddingMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocUlvPhaseSheddingMask) as usize - ptr as usize }, 141usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(SocUlvPhaseSheddingMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddciUlvPhaseSheddingMask) as usize - ptr as usize }, 142usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(VddciUlvPhaseSheddingMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MvddUlvPhaseSheddingMask) as usize - ptr as usize }, 143usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(MvddUlvPhaseSheddingMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxMaxCurrent) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(GfxMaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxOffset) as usize - ptr as usize }, 146usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(GfxOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetryGfx) as usize - ptr as usize }, 147usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(Padding_TelemetryGfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocMaxCurrent) as usize - ptr as usize }, 148usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(SocMaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocOffset) as usize - ptr as usize }, 150usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(SocOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetrySoc) as usize - ptr as usize }, 151usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(Padding_TelemetrySoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem0MaxCurrent) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(Mem0MaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem0Offset) as usize - ptr as usize }, 154usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(Mem0Offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetryMem0) as usize - ptr as usize }, 155usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(Padding_TelemetryMem0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem1MaxCurrent) as usize - ptr as usize }, 156usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(Mem1MaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem1Offset) as usize - ptr as usize }, 158usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(Mem1Offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetryMem1) as usize - ptr as usize }, 159usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(Padding_TelemetryMem1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MvddRatio) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(MvddRatio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcDcGpio) as usize - ptr as usize }, 164usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(AcDcGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcDcPolarity) as usize - ptr as usize }, 165usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(AcDcPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR0HotGpio) as usize - ptr as usize }, 166usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(VR0HotGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR0HotPolarity) as usize - ptr as usize }, 167usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(VR0HotPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR1HotGpio) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(VR1HotGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR1HotPolarity) as usize - ptr as usize }, 169usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(VR1HotPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GthrGpio) as usize - ptr as usize }, 170usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(GthrGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GthrPolarity) as usize - ptr as usize }, 171usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(GthrPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPin0) as usize - ptr as usize }, 172usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(LedPin0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPin1) as usize - ptr as usize }, 173usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(LedPin1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPin2) as usize - ptr as usize }, 174usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(LedPin2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedEnableMask) as usize - ptr as usize }, 175usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(LedEnableMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPcie) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(LedPcie) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedError) as usize - ptr as usize }, 177usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(LedError) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedSpare1) as usize - ptr as usize }, 178usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(LedSpare1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PllGfxclkSpreadEnabled) as usize - ptr as usize }, 180usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(PllGfxclkSpreadEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PllGfxclkSpreadPercent) as usize - ptr as usize }, 181usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(PllGfxclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PllGfxclkSpreadFreq) as usize - ptr as usize }, 182usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(PllGfxclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllGfxclkSpreadEnabled) as usize - ptr as usize }, 184usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(DfllGfxclkSpreadEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllGfxclkSpreadPercent) as usize - ptr as usize }, 185usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(DfllGfxclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllGfxclkSpreadFreq) as usize - ptr as usize }, 186usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(DfllGfxclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadEnabled) as usize - ptr as usize }, 188usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(UclkSpreadEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadPercent) as usize - ptr as usize }, 189usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(UclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadFreq) as usize - ptr as usize }, 190usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(UclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FclkSpreadEnabled) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(FclkSpreadEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FclkSpreadPercent) as usize - ptr as usize }, 193usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(FclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FclkSpreadFreq) as usize - ptr as usize }, 194usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(FclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MemoryChannelEnabled) as usize - ptr as usize }, 196usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(MemoryChannelEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DramBitWidth) as usize - ptr as usize }, 200usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(DramBitWidth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PaddingMem1) as usize - ptr as usize }, 201usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(PaddingMem1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).TotalBoardPower) as usize - ptr as usize }, 204usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(TotalBoardPower) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoardPowerPadding) as usize - ptr as usize }, 206usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(BoardPowerPadding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).XgmiLinkSpeed) as usize - ptr as usize }, 208usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(XgmiLinkSpeed) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).XgmiLinkWidth) as usize - ptr as usize }, 212usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(XgmiLinkWidth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).XgmiFclkFreq) as usize - ptr as usize }, 216usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(XgmiFclkFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).XgmiSocVoltage) as usize - ptr as usize }, 224usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(XgmiSocVoltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoardReserved) as usize - ptr as usize }, 232usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_9), "::", stringify!(BoardReserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_smc_dpm_info_v4_10 { pub table_header: atom_common_table_header, pub GfxMaxCurrent: u16, pub GfxOffset: u8, pub Padding_TelemetryGfx: u8, pub SocMaxCurrent: u16, pub SocOffset: u8, pub Padding_TelemetrySoc: u8, pub MemMaxCurrent: u16, pub MemOffset: u8, pub Padding_TelemetryMem: u8, pub BoardMaxCurrent: u16, pub BoardOffset: u8, pub Padding_TelemetryBoardInput: u8, pub BoardVoltageCoeffA: u32, pub BoardVoltageCoeffB: u32, pub VR0HotGpio: u8, pub VR0HotPolarity: u8, pub VR1HotGpio: u8, pub VR1HotPolarity: u8, pub UclkSpreadEnabled: u8, pub UclkSpreadPercent: u8, pub UclkSpreadFreq: u16, pub FclkSpreadEnabled: u8, pub FclkSpreadPercent: u8, pub FclkSpreadFreq: u16, pub I2cControllers: [smudpm_i2c_controller_config_v3; 8usize], pub GpioI2cScl: u8, pub GpioI2cSda: u8, pub spare5: u16, pub reserved: [u32; 16usize], } #[test] fn bindgen_test_layout_atom_smc_dpm_info_v4_10() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 172usize, concat!("Size of: ", stringify!(atom_smc_dpm_info_v4_10)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_smc_dpm_info_v4_10)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxMaxCurrent) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(GfxMaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxOffset) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(GfxOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetryGfx) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(Padding_TelemetryGfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocMaxCurrent) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(SocMaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocOffset) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(SocOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetrySoc) as usize - ptr as usize }, 11usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(Padding_TelemetrySoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MemMaxCurrent) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(MemMaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MemOffset) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(MemOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetryMem) as usize - ptr as usize }, 15usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(Padding_TelemetryMem) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoardMaxCurrent) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(BoardMaxCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoardOffset) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(BoardOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding_TelemetryBoardInput) as usize - ptr as usize }, 19usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(Padding_TelemetryBoardInput) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoardVoltageCoeffA) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(BoardVoltageCoeffA) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoardVoltageCoeffB) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(BoardVoltageCoeffB) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR0HotGpio) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(VR0HotGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR0HotPolarity) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(VR0HotPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR1HotGpio) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(VR1HotGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR1HotPolarity) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(VR1HotPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadEnabled) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(UclkSpreadEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadPercent) as usize - ptr as usize }, 33usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(UclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadFreq) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(UclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FclkSpreadEnabled) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(FclkSpreadEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FclkSpreadPercent) as usize - ptr as usize }, 37usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(FclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FclkSpreadFreq) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(FclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).I2cControllers) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(I2cControllers) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GpioI2cScl) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(GpioI2cScl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GpioI2cSda) as usize - ptr as usize }, 105usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(GpioI2cSda) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).spare5) as usize - ptr as usize }, 106usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(spare5) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 108usize, concat!( "Offset of field: ", stringify!(atom_smc_dpm_info_v4_10), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_asic_profiling_info_v4_1 { pub table_header: atom_common_table_header, pub maxvddc: u32, pub minvddc: u32, pub avfs_meannsigma_acontant0: u32, pub avfs_meannsigma_acontant1: u32, pub avfs_meannsigma_acontant2: u32, pub avfs_meannsigma_dc_tol_sigma: u16, pub avfs_meannsigma_platform_mean: u16, pub avfs_meannsigma_platform_sigma: u16, pub gb_vdroop_table_cksoff_a0: u32, pub gb_vdroop_table_cksoff_a1: u32, pub gb_vdroop_table_cksoff_a2: u32, pub gb_vdroop_table_ckson_a0: u32, pub gb_vdroop_table_ckson_a1: u32, pub gb_vdroop_table_ckson_a2: u32, pub avfsgb_fuse_table_cksoff_m1: u32, pub avfsgb_fuse_table_cksoff_m2: u32, pub avfsgb_fuse_table_cksoff_b: u32, pub avfsgb_fuse_table_ckson_m1: u32, pub avfsgb_fuse_table_ckson_m2: u32, pub avfsgb_fuse_table_ckson_b: u32, pub max_voltage_0_25mv: u16, pub enable_gb_vdroop_table_cksoff: u8, pub enable_gb_vdroop_table_ckson: u8, pub enable_gb_fuse_table_cksoff: u8, pub enable_gb_fuse_table_ckson: u8, pub psm_age_comfactor: u16, pub enable_apply_avfs_cksoff_voltage: u8, pub reserved: u8, pub dispclk2gfxclk_a: u32, pub dispclk2gfxclk_b: u32, pub dispclk2gfxclk_c: u32, pub pixclk2gfxclk_a: u32, pub pixclk2gfxclk_b: u32, pub pixclk2gfxclk_c: u32, pub dcefclk2gfxclk_a: u32, pub dcefclk2gfxclk_b: u32, pub dcefclk2gfxclk_c: u32, pub phyclk2gfxclk_a: u32, pub phyclk2gfxclk_b: u32, pub phyclk2gfxclk_c: u32, } #[test] fn bindgen_test_layout_atom_asic_profiling_info_v4_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 136usize, concat!("Size of: ", stringify!(atom_asic_profiling_info_v4_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_asic_profiling_info_v4_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).maxvddc) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(maxvddc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).minvddc) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(minvddc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfs_meannsigma_acontant0) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(avfs_meannsigma_acontant0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfs_meannsigma_acontant1) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(avfs_meannsigma_acontant1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfs_meannsigma_acontant2) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(avfs_meannsigma_acontant2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfs_meannsigma_dc_tol_sigma) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(avfs_meannsigma_dc_tol_sigma) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfs_meannsigma_platform_mean) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(avfs_meannsigma_platform_mean) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfs_meannsigma_platform_sigma) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(avfs_meannsigma_platform_sigma) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gb_vdroop_table_cksoff_a0) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(gb_vdroop_table_cksoff_a0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gb_vdroop_table_cksoff_a1) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(gb_vdroop_table_cksoff_a1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gb_vdroop_table_cksoff_a2) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(gb_vdroop_table_cksoff_a2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gb_vdroop_table_ckson_a0) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(gb_vdroop_table_ckson_a0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gb_vdroop_table_ckson_a1) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(gb_vdroop_table_ckson_a1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gb_vdroop_table_ckson_a2) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(gb_vdroop_table_ckson_a2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfsgb_fuse_table_cksoff_m1) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(avfsgb_fuse_table_cksoff_m1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfsgb_fuse_table_cksoff_m2) as usize - ptr as usize }, 58usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(avfsgb_fuse_table_cksoff_m2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfsgb_fuse_table_cksoff_b) as usize - ptr as usize }, 62usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(avfsgb_fuse_table_cksoff_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfsgb_fuse_table_ckson_m1) as usize - ptr as usize }, 66usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(avfsgb_fuse_table_ckson_m1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfsgb_fuse_table_ckson_m2) as usize - ptr as usize }, 70usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(avfsgb_fuse_table_ckson_m2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfsgb_fuse_table_ckson_b) as usize - ptr as usize }, 74usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(avfsgb_fuse_table_ckson_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_voltage_0_25mv) as usize - ptr as usize }, 78usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(max_voltage_0_25mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enable_gb_vdroop_table_cksoff) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(enable_gb_vdroop_table_cksoff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enable_gb_vdroop_table_ckson) as usize - ptr as usize }, 81usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(enable_gb_vdroop_table_ckson) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enable_gb_fuse_table_cksoff) as usize - ptr as usize }, 82usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(enable_gb_fuse_table_cksoff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enable_gb_fuse_table_ckson) as usize - ptr as usize }, 83usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(enable_gb_fuse_table_ckson) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).psm_age_comfactor) as usize - ptr as usize }, 84usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(psm_age_comfactor) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enable_apply_avfs_cksoff_voltage) as usize - ptr as usize }, 86usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(enable_apply_avfs_cksoff_voltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 87usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dispclk2gfxclk_a) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(dispclk2gfxclk_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dispclk2gfxclk_b) as usize - ptr as usize }, 92usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(dispclk2gfxclk_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dispclk2gfxclk_c) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(dispclk2gfxclk_c) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pixclk2gfxclk_a) as usize - ptr as usize }, 100usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(pixclk2gfxclk_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pixclk2gfxclk_b) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(pixclk2gfxclk_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pixclk2gfxclk_c) as usize - ptr as usize }, 108usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(pixclk2gfxclk_c) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dcefclk2gfxclk_a) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(dcefclk2gfxclk_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dcefclk2gfxclk_b) as usize - ptr as usize }, 116usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(dcefclk2gfxclk_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dcefclk2gfxclk_c) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(dcefclk2gfxclk_c) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phyclk2gfxclk_a) as usize - ptr as usize }, 124usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(phyclk2gfxclk_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phyclk2gfxclk_b) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(phyclk2gfxclk_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phyclk2gfxclk_c) as usize - ptr as usize }, 132usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_1), "::", stringify!(phyclk2gfxclk_c) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_asic_profiling_info_v4_2 { pub table_header: atom_common_table_header, pub maxvddc: u32, pub minvddc: u32, pub avfs_meannsigma_acontant0: u32, pub avfs_meannsigma_acontant1: u32, pub avfs_meannsigma_acontant2: u32, pub avfs_meannsigma_dc_tol_sigma: u16, pub avfs_meannsigma_platform_mean: u16, pub avfs_meannsigma_platform_sigma: u16, pub gb_vdroop_table_cksoff_a0: u32, pub gb_vdroop_table_cksoff_a1: u32, pub gb_vdroop_table_cksoff_a2: u32, pub gb_vdroop_table_ckson_a0: u32, pub gb_vdroop_table_ckson_a1: u32, pub gb_vdroop_table_ckson_a2: u32, pub avfsgb_fuse_table_cksoff_m1: u32, pub avfsgb_fuse_table_cksoff_m2: u32, pub avfsgb_fuse_table_cksoff_b: u32, pub avfsgb_fuse_table_ckson_m1: u32, pub avfsgb_fuse_table_ckson_m2: u32, pub avfsgb_fuse_table_ckson_b: u32, pub max_voltage_0_25mv: u16, pub enable_gb_vdroop_table_cksoff: u8, pub enable_gb_vdroop_table_ckson: u8, pub enable_gb_fuse_table_cksoff: u8, pub enable_gb_fuse_table_ckson: u8, pub psm_age_comfactor: u16, pub enable_apply_avfs_cksoff_voltage: u8, pub reserved: u8, pub dispclk2gfxclk_a: u32, pub dispclk2gfxclk_b: u32, pub dispclk2gfxclk_c: u32, pub pixclk2gfxclk_a: u32, pub pixclk2gfxclk_b: u32, pub pixclk2gfxclk_c: u32, pub dcefclk2gfxclk_a: u32, pub dcefclk2gfxclk_b: u32, pub dcefclk2gfxclk_c: u32, pub phyclk2gfxclk_a: u32, pub phyclk2gfxclk_b: u32, pub phyclk2gfxclk_c: u32, pub acg_gb_vdroop_table_a0: u32, pub acg_gb_vdroop_table_a1: u32, pub acg_gb_vdroop_table_a2: u32, pub acg_avfsgb_fuse_table_m1: u32, pub acg_avfsgb_fuse_table_m2: u32, pub acg_avfsgb_fuse_table_b: u32, pub enable_acg_gb_vdroop_table: u8, pub enable_acg_gb_fuse_table: u8, pub acg_dispclk2gfxclk_a: u32, pub acg_dispclk2gfxclk_b: u32, pub acg_dispclk2gfxclk_c: u32, pub acg_pixclk2gfxclk_a: u32, pub acg_pixclk2gfxclk_b: u32, pub acg_pixclk2gfxclk_c: u32, pub acg_dcefclk2gfxclk_a: u32, pub acg_dcefclk2gfxclk_b: u32, pub acg_dcefclk2gfxclk_c: u32, pub acg_phyclk2gfxclk_a: u32, pub acg_phyclk2gfxclk_b: u32, pub acg_phyclk2gfxclk_c: u32, } #[test] fn bindgen_test_layout_atom_asic_profiling_info_v4_2() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 210usize, concat!("Size of: ", stringify!(atom_asic_profiling_info_v4_2)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_asic_profiling_info_v4_2)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).maxvddc) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(maxvddc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).minvddc) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(minvddc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfs_meannsigma_acontant0) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(avfs_meannsigma_acontant0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfs_meannsigma_acontant1) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(avfs_meannsigma_acontant1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfs_meannsigma_acontant2) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(avfs_meannsigma_acontant2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfs_meannsigma_dc_tol_sigma) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(avfs_meannsigma_dc_tol_sigma) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfs_meannsigma_platform_mean) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(avfs_meannsigma_platform_mean) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfs_meannsigma_platform_sigma) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(avfs_meannsigma_platform_sigma) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gb_vdroop_table_cksoff_a0) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(gb_vdroop_table_cksoff_a0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gb_vdroop_table_cksoff_a1) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(gb_vdroop_table_cksoff_a1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gb_vdroop_table_cksoff_a2) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(gb_vdroop_table_cksoff_a2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gb_vdroop_table_ckson_a0) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(gb_vdroop_table_ckson_a0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gb_vdroop_table_ckson_a1) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(gb_vdroop_table_ckson_a1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gb_vdroop_table_ckson_a2) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(gb_vdroop_table_ckson_a2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfsgb_fuse_table_cksoff_m1) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(avfsgb_fuse_table_cksoff_m1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfsgb_fuse_table_cksoff_m2) as usize - ptr as usize }, 58usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(avfsgb_fuse_table_cksoff_m2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfsgb_fuse_table_cksoff_b) as usize - ptr as usize }, 62usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(avfsgb_fuse_table_cksoff_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfsgb_fuse_table_ckson_m1) as usize - ptr as usize }, 66usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(avfsgb_fuse_table_ckson_m1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfsgb_fuse_table_ckson_m2) as usize - ptr as usize }, 70usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(avfsgb_fuse_table_ckson_m2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avfsgb_fuse_table_ckson_b) as usize - ptr as usize }, 74usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(avfsgb_fuse_table_ckson_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_voltage_0_25mv) as usize - ptr as usize }, 78usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(max_voltage_0_25mv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enable_gb_vdroop_table_cksoff) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(enable_gb_vdroop_table_cksoff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enable_gb_vdroop_table_ckson) as usize - ptr as usize }, 81usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(enable_gb_vdroop_table_ckson) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enable_gb_fuse_table_cksoff) as usize - ptr as usize }, 82usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(enable_gb_fuse_table_cksoff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enable_gb_fuse_table_ckson) as usize - ptr as usize }, 83usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(enable_gb_fuse_table_ckson) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).psm_age_comfactor) as usize - ptr as usize }, 84usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(psm_age_comfactor) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enable_apply_avfs_cksoff_voltage) as usize - ptr as usize }, 86usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(enable_apply_avfs_cksoff_voltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 87usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dispclk2gfxclk_a) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(dispclk2gfxclk_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dispclk2gfxclk_b) as usize - ptr as usize }, 92usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(dispclk2gfxclk_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dispclk2gfxclk_c) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(dispclk2gfxclk_c) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pixclk2gfxclk_a) as usize - ptr as usize }, 100usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(pixclk2gfxclk_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pixclk2gfxclk_b) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(pixclk2gfxclk_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pixclk2gfxclk_c) as usize - ptr as usize }, 108usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(pixclk2gfxclk_c) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dcefclk2gfxclk_a) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(dcefclk2gfxclk_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dcefclk2gfxclk_b) as usize - ptr as usize }, 116usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(dcefclk2gfxclk_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dcefclk2gfxclk_c) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(dcefclk2gfxclk_c) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phyclk2gfxclk_a) as usize - ptr as usize }, 124usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(phyclk2gfxclk_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phyclk2gfxclk_b) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(phyclk2gfxclk_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phyclk2gfxclk_c) as usize - ptr as usize }, 132usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(phyclk2gfxclk_c) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_gb_vdroop_table_a0) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_gb_vdroop_table_a0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_gb_vdroop_table_a1) as usize - ptr as usize }, 140usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_gb_vdroop_table_a1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_gb_vdroop_table_a2) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_gb_vdroop_table_a2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_avfsgb_fuse_table_m1) as usize - ptr as usize }, 148usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_avfsgb_fuse_table_m1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_avfsgb_fuse_table_m2) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_avfsgb_fuse_table_m2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_avfsgb_fuse_table_b) as usize - ptr as usize }, 156usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_avfsgb_fuse_table_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enable_acg_gb_vdroop_table) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(enable_acg_gb_vdroop_table) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enable_acg_gb_fuse_table) as usize - ptr as usize }, 161usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(enable_acg_gb_fuse_table) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_dispclk2gfxclk_a) as usize - ptr as usize }, 162usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_dispclk2gfxclk_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_dispclk2gfxclk_b) as usize - ptr as usize }, 166usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_dispclk2gfxclk_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_dispclk2gfxclk_c) as usize - ptr as usize }, 170usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_dispclk2gfxclk_c) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_pixclk2gfxclk_a) as usize - ptr as usize }, 174usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_pixclk2gfxclk_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_pixclk2gfxclk_b) as usize - ptr as usize }, 178usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_pixclk2gfxclk_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_pixclk2gfxclk_c) as usize - ptr as usize }, 182usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_pixclk2gfxclk_c) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_dcefclk2gfxclk_a) as usize - ptr as usize }, 186usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_dcefclk2gfxclk_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_dcefclk2gfxclk_b) as usize - ptr as usize }, 190usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_dcefclk2gfxclk_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_dcefclk2gfxclk_c) as usize - ptr as usize }, 194usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_dcefclk2gfxclk_c) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_phyclk2gfxclk_a) as usize - ptr as usize }, 198usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_phyclk2gfxclk_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_phyclk2gfxclk_b) as usize - ptr as usize }, 202usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_phyclk2gfxclk_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).acg_phyclk2gfxclk_c) as usize - ptr as usize }, 206usize, concat!( "Offset of field: ", stringify!(atom_asic_profiling_info_v4_2), "::", stringify!(acg_phyclk2gfxclk_c) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_multimedia_info_v2_1 { pub table_header: atom_common_table_header, pub uvdip_min_ver: u8, pub uvdip_max_ver: u8, pub vceip_min_ver: u8, pub vceip_max_ver: u8, pub uvd_enc_max_input_width_pixels: u16, pub uvd_enc_max_input_height_pixels: u16, pub vce_enc_max_input_width_pixels: u16, pub vce_enc_max_input_height_pixels: u16, pub uvd_enc_max_bandwidth: u32, pub vce_enc_max_bandwidth: u32, } #[test] fn bindgen_test_layout_atom_multimedia_info_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(atom_multimedia_info_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_multimedia_info_v2_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_multimedia_info_v2_1), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uvdip_min_ver) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_multimedia_info_v2_1), "::", stringify!(uvdip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uvdip_max_ver) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_multimedia_info_v2_1), "::", stringify!(uvdip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vceip_min_ver) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_multimedia_info_v2_1), "::", stringify!(vceip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vceip_max_ver) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_multimedia_info_v2_1), "::", stringify!(vceip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uvd_enc_max_input_width_pixels) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_multimedia_info_v2_1), "::", stringify!(uvd_enc_max_input_width_pixels) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uvd_enc_max_input_height_pixels) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_multimedia_info_v2_1), "::", stringify!(uvd_enc_max_input_height_pixels) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vce_enc_max_input_width_pixels) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_multimedia_info_v2_1), "::", stringify!(vce_enc_max_input_width_pixels) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vce_enc_max_input_height_pixels) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_multimedia_info_v2_1), "::", stringify!(vce_enc_max_input_height_pixels) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).uvd_enc_max_bandwidth) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_multimedia_info_v2_1), "::", stringify!(uvd_enc_max_bandwidth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vce_enc_max_bandwidth) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_multimedia_info_v2_1), "::", stringify!(vce_enc_max_bandwidth) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_umc_info_v3_1 { pub table_header: atom_common_table_header, pub ucode_version: u32, pub ucode_rom_startaddr: u32, pub ucode_length: u32, pub umc_reg_init_offset: u16, pub customer_ucode_name_offset: u16, pub mclk_ss_percentage: u16, pub mclk_ss_rate_10hz: u16, pub umcip_min_ver: u8, pub umcip_max_ver: u8, pub vram_type: u8, pub umc_config: u8, pub mem_refclk_10khz: u32, } #[test] fn bindgen_test_layout_atom_umc_info_v3_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(atom_umc_info_v3_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_umc_info_v3_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_1), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ucode_version) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_1), "::", stringify!(ucode_version) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ucode_rom_startaddr) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_1), "::", stringify!(ucode_rom_startaddr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ucode_length) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_1), "::", stringify!(ucode_length) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_reg_init_offset) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_1), "::", stringify!(umc_reg_init_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).customer_ucode_name_offset) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_1), "::", stringify!(customer_ucode_name_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mclk_ss_percentage) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_1), "::", stringify!(mclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mclk_ss_rate_10hz) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_1), "::", stringify!(mclk_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_min_ver) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_1), "::", stringify!(umcip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_max_ver) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_1), "::", stringify!(umcip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_type) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_1), "::", stringify!(vram_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_config) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_1), "::", stringify!(umc_config) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_refclk_10khz) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_1), "::", stringify!(mem_refclk_10khz) ) ); } pub const atom_umc_config_def_UMC_CONFIG__ENABLE_1KB_INTERLEAVE_MODE: atom_umc_config_def = 1; pub const atom_umc_config_def_UMC_CONFIG__DEFAULT_MEM_ECC_ENABLE: atom_umc_config_def = 2; pub const atom_umc_config_def_UMC_CONFIG__ENABLE_HBM_LANE_REPAIR: atom_umc_config_def = 4; pub const atom_umc_config_def_UMC_CONFIG__ENABLE_BANK_HARVESTING: atom_umc_config_def = 8; pub const atom_umc_config_def_UMC_CONFIG__ENABLE_PHY_REINIT: atom_umc_config_def = 16; pub const atom_umc_config_def_UMC_CONFIG__DISABLE_UCODE_CHKSTATUS: atom_umc_config_def = 32; pub type atom_umc_config_def = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_umc_info_v3_2 { pub table_header: atom_common_table_header, pub ucode_version: u32, pub ucode_rom_startaddr: u32, pub ucode_length: u32, pub umc_reg_init_offset: u16, pub customer_ucode_name_offset: u16, pub mclk_ss_percentage: u16, pub mclk_ss_rate_10hz: u16, pub umcip_min_ver: u8, pub umcip_max_ver: u8, pub vram_type: u8, pub umc_config: u8, pub mem_refclk_10khz: u32, pub pstate_uclk_10khz: [u32; 4usize], pub umcgoldenoffset: u16, pub densitygoldenoffset: u16, } #[test] fn bindgen_test_layout_atom_umc_info_v3_2() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 52usize, concat!("Size of: ", stringify!(atom_umc_info_v3_2)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_umc_info_v3_2)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ucode_version) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(ucode_version) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ucode_rom_startaddr) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(ucode_rom_startaddr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ucode_length) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(ucode_length) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_reg_init_offset) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(umc_reg_init_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).customer_ucode_name_offset) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(customer_ucode_name_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mclk_ss_percentage) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(mclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mclk_ss_rate_10hz) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(mclk_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_min_ver) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(umcip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_max_ver) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(umcip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_type) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(vram_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_config) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(umc_config) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_refclk_10khz) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(mem_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pstate_uclk_10khz) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(pstate_uclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcgoldenoffset) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(umcgoldenoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).densitygoldenoffset) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_2), "::", stringify!(densitygoldenoffset) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_umc_info_v3_3 { pub table_header: atom_common_table_header, pub ucode_reserved: u32, pub ucode_rom_startaddr: u32, pub ucode_length: u32, pub umc_reg_init_offset: u16, pub customer_ucode_name_offset: u16, pub mclk_ss_percentage: u16, pub mclk_ss_rate_10hz: u16, pub umcip_min_ver: u8, pub umcip_max_ver: u8, pub vram_type: u8, pub umc_config: u8, pub mem_refclk_10khz: u32, pub pstate_uclk_10khz: [u32; 4usize], pub umcgoldenoffset: u16, pub densitygoldenoffset: u16, pub umc_config1: u32, pub bist_data_startaddr: u32, pub reserved: [u32; 2usize], } #[test] fn bindgen_test_layout_atom_umc_info_v3_3() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 68usize, concat!("Size of: ", stringify!(atom_umc_info_v3_3)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_umc_info_v3_3)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ucode_reserved) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(ucode_reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ucode_rom_startaddr) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(ucode_rom_startaddr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ucode_length) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(ucode_length) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_reg_init_offset) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(umc_reg_init_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).customer_ucode_name_offset) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(customer_ucode_name_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mclk_ss_percentage) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(mclk_ss_percentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mclk_ss_rate_10hz) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(mclk_ss_rate_10hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_min_ver) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(umcip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_max_ver) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(umcip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_type) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(vram_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_config) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(umc_config) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_refclk_10khz) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(mem_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pstate_uclk_10khz) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(pstate_uclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcgoldenoffset) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(umcgoldenoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).densitygoldenoffset) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(densitygoldenoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_config1) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(umc_config1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bist_data_startaddr) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(bist_data_startaddr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v3_3), "::", stringify!(reserved) ) ); } pub const atom_umc_config1_def_UMC_CONFIG1__ENABLE_PSTATE_PHASE_STORE_TRAIN: atom_umc_config1_def = 1; pub const atom_umc_config1_def_UMC_CONFIG1__ENABLE_AUTO_FRAMING: atom_umc_config1_def = 2; pub const atom_umc_config1_def_UMC_CONFIG1__ENABLE_RESTORE_BIST_DATA: atom_umc_config1_def = 4; pub const atom_umc_config1_def_UMC_CONFIG1__DISABLE_STROBE_MODE: atom_umc_config1_def = 8; pub const atom_umc_config1_def_UMC_CONFIG1__DEBUG_DATA_PARITY_EN: atom_umc_config1_def = 16; pub const atom_umc_config1_def_UMC_CONFIG1__ENABLE_ECC_CAPABLE: atom_umc_config1_def = 65536; pub type atom_umc_config1_def = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_umc_info_v4_0 { pub table_header: atom_common_table_header, pub ucode_reserved: [u32; 5usize], pub umcip_min_ver: u8, pub umcip_max_ver: u8, pub vram_type: u8, pub umc_config: u8, pub mem_refclk_10khz: u32, pub clk_reserved: [u32; 4usize], pub golden_reserved: u32, pub umc_config1: u32, pub reserved: [u32; 2usize], pub channel_num: u8, pub channel_width: u8, pub channel_reserve: [u8; 2usize], pub umc_info_reserved: [u8; 16usize], } #[test] fn bindgen_test_layout_atom_umc_info_v4_0() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 84usize, concat!("Size of: ", stringify!(atom_umc_info_v4_0)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_umc_info_v4_0)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ucode_reserved) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(ucode_reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_min_ver) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(umcip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_max_ver) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(umcip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_type) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(vram_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_config) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(umc_config) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_refclk_10khz) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(mem_refclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).clk_reserved) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(clk_reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).golden_reserved) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(golden_reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_config1) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(umc_config1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_num) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(channel_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_width) as usize - ptr as usize }, 65usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(channel_width) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_reserve) as usize - ptr as usize }, 66usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(channel_reserve) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_info_reserved) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(atom_umc_info_v4_0), "::", stringify!(umc_info_reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_vram_module_v9 { pub memory_size: u32, pub channel_enable: u32, pub max_mem_clk: u32, pub reserved: [u16; 3usize], pub mem_voltage: u16, pub vram_module_size: u16, pub ext_memory_id: u8, pub memory_type: u8, pub channel_num: u8, pub channel_width: u8, pub density: u8, pub tunningset_id: u8, pub vender_rev_id: u8, pub refreshrate: u8, pub hbm_ven_rev_id: u8, pub vram_rsd2: u8, pub dram_pnstring: [::core::ffi::c_char; 20usize], } #[test] fn bindgen_test_layout_atom_vram_module_v9() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 52usize, concat!("Size of: ", stringify!(atom_vram_module_v9)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_vram_module_v9)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memory_size) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(memory_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_enable) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(channel_enable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_mem_clk) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(max_mem_clk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_voltage) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(mem_voltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_module_size) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(vram_module_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ext_memory_id) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(ext_memory_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memory_type) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(memory_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_num) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(channel_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_width) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(channel_width) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).density) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(density) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tunningset_id) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(tunningset_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vender_rev_id) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(vender_rev_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).refreshrate) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(refreshrate) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hbm_ven_rev_id) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(hbm_ven_rev_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_rsd2) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(vram_rsd2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dram_pnstring) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v9), "::", stringify!(dram_pnstring) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_vram_info_header_v2_3 { pub table_header: atom_common_table_header, pub mem_adjust_tbloffset: u16, pub mem_clk_patch_tbloffset: u16, pub mc_adjust_pertile_tbloffset: u16, pub mc_phyinit_tbloffset: u16, pub dram_data_remap_tbloffset: u16, pub tmrs_seq_offset: u16, pub post_ucode_init_offset: u16, pub vram_rsd2: u16, pub vram_module_num: u8, pub umcip_min_ver: u8, pub umcip_max_ver: u8, pub mc_phy_tile_num: u8, pub vram_module: [atom_vram_module_v9; 16usize], } #[test] fn bindgen_test_layout_atom_vram_info_header_v2_3() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 856usize, concat!("Size of: ", stringify!(atom_vram_info_header_v2_3)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_vram_info_header_v2_3)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_3), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_adjust_tbloffset) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_3), "::", stringify!(mem_adjust_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_clk_patch_tbloffset) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_3), "::", stringify!(mem_clk_patch_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_adjust_pertile_tbloffset) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_3), "::", stringify!(mc_adjust_pertile_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_phyinit_tbloffset) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_3), "::", stringify!(mc_phyinit_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dram_data_remap_tbloffset) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_3), "::", stringify!(dram_data_remap_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tmrs_seq_offset) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_3), "::", stringify!(tmrs_seq_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).post_ucode_init_offset) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_3), "::", stringify!(post_ucode_init_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_rsd2) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_3), "::", stringify!(vram_rsd2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_module_num) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_3), "::", stringify!(vram_module_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_min_ver) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_3), "::", stringify!(umcip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_max_ver) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_3), "::", stringify!(umcip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_phy_tile_num) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_3), "::", stringify!(mc_phy_tile_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_module) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_3), "::", stringify!(vram_module) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_vram_module_v3_0 { pub density: u8, pub tunningset_id: u8, pub ext_memory_id: u8, pub dram_vendor_id: u8, pub dram_info_offset: u16, pub mem_tuning_offset: u16, pub tmrs_seq_offset: u16, pub reserved1: u16, pub dram_size_per_ch: u32, pub reserved: [u32; 3usize], pub dram_pnstring: [::core::ffi::c_char; 40usize], } #[test] fn bindgen_test_layout_atom_vram_module_v3_0() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 68usize, concat!("Size of: ", stringify!(atom_vram_module_v3_0)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_vram_module_v3_0)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).density) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v3_0), "::", stringify!(density) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tunningset_id) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v3_0), "::", stringify!(tunningset_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ext_memory_id) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v3_0), "::", stringify!(ext_memory_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dram_vendor_id) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v3_0), "::", stringify!(dram_vendor_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dram_info_offset) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v3_0), "::", stringify!(dram_info_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_tuning_offset) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v3_0), "::", stringify!(mem_tuning_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tmrs_seq_offset) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v3_0), "::", stringify!(tmrs_seq_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v3_0), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dram_size_per_ch) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v3_0), "::", stringify!(dram_size_per_ch) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v3_0), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dram_pnstring) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v3_0), "::", stringify!(dram_pnstring) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_vram_info_header_v3_0 { pub table_header: atom_common_table_header, pub mem_tuning_table_offset: u16, pub dram_info_table_offset: u16, pub tmrs_table_offset: u16, pub mc_init_table_offset: u16, pub dram_data_remap_table_offset: u16, pub umc_emuinittable_offset: u16, pub reserved_sub_table_offset: [u16; 2usize], pub vram_module_num: u8, pub umcip_min_ver: u8, pub umcip_max_ver: u8, pub mc_phy_tile_num: u8, pub memory_type: u8, pub channel_num: u8, pub channel_width: u8, pub reserved1: u8, pub channel_enable: u32, pub channel1_enable: u32, pub feature_enable: u32, pub feature1_enable: u32, pub hardcode_mem_size: u32, pub reserved4: [u32; 4usize], pub vram_module: [atom_vram_module_v3_0; 8usize], } #[test] fn bindgen_test_layout_atom_vram_info_header_v3_0() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 608usize, concat!("Size of: ", stringify!(atom_vram_info_header_v3_0)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_vram_info_header_v3_0)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_tuning_table_offset) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(mem_tuning_table_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dram_info_table_offset) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(dram_info_table_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tmrs_table_offset) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(tmrs_table_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_init_table_offset) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(mc_init_table_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dram_data_remap_table_offset) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(dram_data_remap_table_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_emuinittable_offset) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(umc_emuinittable_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved_sub_table_offset) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(reserved_sub_table_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_module_num) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(vram_module_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_min_ver) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(umcip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_max_ver) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(umcip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_phy_tile_num) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(mc_phy_tile_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memory_type) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(memory_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_num) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(channel_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_width) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(channel_width) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_enable) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(channel_enable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel1_enable) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(channel1_enable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).feature_enable) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(feature_enable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).feature1_enable) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(feature1_enable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hardcode_mem_size) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(hardcode_mem_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved4) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(reserved4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_module) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v3_0), "::", stringify!(vram_module) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_umc_register_addr_info { pub _bitfield_align_1: [u8; 0], pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, } #[test] fn bindgen_test_layout_atom_umc_register_addr_info() { assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(atom_umc_register_addr_info)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_umc_register_addr_info)) ); } impl atom_umc_register_addr_info { #[inline] pub fn umc_register_addr(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } } #[inline] pub fn set_umc_register_addr(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(0usize, 24u8, val as u64) } } #[inline] pub fn umc_reg_type_ind(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u32) } } #[inline] pub fn set_umc_reg_type_ind(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(24usize, 1u8, val as u64) } } #[inline] pub fn umc_reg_rsvd(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 7u8) as u32) } } #[inline] pub fn set_umc_reg_rsvd(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(25usize, 7u8, val as u64) } } #[inline] pub fn new_bitfield_1( umc_register_addr: u32, umc_reg_type_ind: u32, umc_reg_rsvd: u32, ) -> __BindgenBitfieldUnit<[u8; 4usize]> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); __bindgen_bitfield_unit.set(0usize, 24u8, { let umc_register_addr: u32 = unsafe { ::core::mem::transmute(umc_register_addr) }; umc_register_addr as u64 }); __bindgen_bitfield_unit.set(24usize, 1u8, { let umc_reg_type_ind: u32 = unsafe { ::core::mem::transmute(umc_reg_type_ind) }; umc_reg_type_ind as u64 }); __bindgen_bitfield_unit.set(25usize, 7u8, { let umc_reg_rsvd: u32 = unsafe { ::core::mem::transmute(umc_reg_rsvd) }; umc_reg_rsvd as u64 }); __bindgen_bitfield_unit } } pub const atom_umc_register_addr_info_flag_b3ATOM_UMC_REG_ADD_INFO_INDIRECT_ACCESS: atom_umc_register_addr_info_flag = 1; pub type atom_umc_register_addr_info_flag = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Copy, Clone)] pub union atom_umc_register_addr_info_access { pub umc_reg_addr: atom_umc_register_addr_info, pub u32umc_reg_addr: u32, } #[test] fn bindgen_test_layout_atom_umc_register_addr_info_access() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(atom_umc_register_addr_info_access)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_umc_register_addr_info_access) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_reg_addr) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_umc_register_addr_info_access), "::", stringify!(umc_reg_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).u32umc_reg_addr) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_umc_register_addr_info_access), "::", stringify!(u32umc_reg_addr) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_umc_reg_setting_id_config { pub _bitfield_align_1: [u8; 0], pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, } #[test] fn bindgen_test_layout_atom_umc_reg_setting_id_config() { assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(atom_umc_reg_setting_id_config)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_umc_reg_setting_id_config)) ); } impl atom_umc_reg_setting_id_config { #[inline] pub fn memclockrange(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } } #[inline] pub fn set_memclockrange(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(0usize, 24u8, val as u64) } } #[inline] pub fn mem_blk_id(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } } #[inline] pub fn set_mem_blk_id(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(24usize, 8u8, val as u64) } } #[inline] pub fn new_bitfield_1( memclockrange: u32, mem_blk_id: u32, ) -> __BindgenBitfieldUnit<[u8; 4usize]> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); __bindgen_bitfield_unit.set(0usize, 24u8, { let memclockrange: u32 = unsafe { ::core::mem::transmute(memclockrange) }; memclockrange as u64 }); __bindgen_bitfield_unit.set(24usize, 8u8, { let mem_blk_id: u32 = unsafe { ::core::mem::transmute(mem_blk_id) }; mem_blk_id as u64 }); __bindgen_bitfield_unit } } #[repr(C, packed)] #[derive(Copy, Clone)] pub union atom_umc_reg_setting_id_config_access { pub umc_id_access: atom_umc_reg_setting_id_config, pub u32umc_id_access: u32, } #[test] fn bindgen_test_layout_atom_umc_reg_setting_id_config_access() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(atom_umc_reg_setting_id_config_access) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_umc_reg_setting_id_config_access) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_id_access) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_umc_reg_setting_id_config_access), "::", stringify!(umc_id_access) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).u32umc_id_access) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_umc_reg_setting_id_config_access), "::", stringify!(u32umc_id_access) ) ); } #[repr(C, packed)] #[derive(Copy, Clone)] pub struct atom_umc_reg_setting_data_block { pub block_id: atom_umc_reg_setting_id_config_access, pub u32umc_reg_data: [u32; 1usize], } #[test] fn bindgen_test_layout_atom_umc_reg_setting_data_block() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(atom_umc_reg_setting_data_block)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_umc_reg_setting_data_block)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).block_id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_umc_reg_setting_data_block), "::", stringify!(block_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).u32umc_reg_data) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_umc_reg_setting_data_block), "::", stringify!(u32umc_reg_data) ) ); } #[repr(C, packed)] #[derive(Copy, Clone)] pub struct atom_umc_init_reg_block { pub umc_reg_num: u16, pub reserved: u16, pub umc_reg_list: [atom_umc_register_addr_info_access; 1usize], pub umc_reg_setting_list: [atom_umc_reg_setting_data_block; 1usize], } #[test] fn bindgen_test_layout_atom_umc_init_reg_block() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(atom_umc_init_reg_block)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_umc_init_reg_block)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_reg_num) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_umc_init_reg_block), "::", stringify!(umc_reg_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_umc_init_reg_block), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_reg_list) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_umc_init_reg_block), "::", stringify!(umc_reg_list) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umc_reg_setting_list) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_umc_init_reg_block), "::", stringify!(umc_reg_setting_list) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_vram_module_v10 { pub memory_size: u32, pub channel_enable: u32, pub max_mem_clk: u32, pub reserved: [u16; 3usize], pub mem_voltage: u16, pub vram_module_size: u16, pub ext_memory_id: u8, pub memory_type: u8, pub channel_num: u8, pub channel_width: u8, pub density: u8, pub tunningset_id: u8, pub vender_rev_id: u8, pub refreshrate: u8, pub vram_flags: u8, pub vram_rsd2: u8, pub gddr6_mr10: u16, pub gddr6_mr1: u16, pub gddr6_mr2: u16, pub gddr6_mr7: u16, pub dram_pnstring: [::core::ffi::c_char; 20usize], } #[test] fn bindgen_test_layout_atom_vram_module_v10() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 60usize, concat!("Size of: ", stringify!(atom_vram_module_v10)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_vram_module_v10)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memory_size) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(memory_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_enable) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(channel_enable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max_mem_clk) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(max_mem_clk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_voltage) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(mem_voltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_module_size) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(vram_module_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ext_memory_id) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(ext_memory_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memory_type) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(memory_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_num) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(channel_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_width) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(channel_width) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).density) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(density) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tunningset_id) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(tunningset_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vender_rev_id) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(vender_rev_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).refreshrate) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(refreshrate) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_flags) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(vram_flags) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_rsd2) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(vram_rsd2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gddr6_mr10) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(gddr6_mr10) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gddr6_mr1) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(gddr6_mr1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gddr6_mr2) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(gddr6_mr2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gddr6_mr7) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(gddr6_mr7) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dram_pnstring) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v10), "::", stringify!(dram_pnstring) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_vram_info_header_v2_4 { pub table_header: atom_common_table_header, pub mem_adjust_tbloffset: u16, pub mem_clk_patch_tbloffset: u16, pub mc_adjust_pertile_tbloffset: u16, pub mc_phyinit_tbloffset: u16, pub dram_data_remap_tbloffset: u16, pub reserved: u16, pub post_ucode_init_offset: u16, pub vram_rsd2: u16, pub vram_module_num: u8, pub umcip_min_ver: u8, pub umcip_max_ver: u8, pub mc_phy_tile_num: u8, pub vram_module: [atom_vram_module_v10; 16usize], } #[test] fn bindgen_test_layout_atom_vram_info_header_v2_4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 984usize, concat!("Size of: ", stringify!(atom_vram_info_header_v2_4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_vram_info_header_v2_4)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_4), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_adjust_tbloffset) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_4), "::", stringify!(mem_adjust_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_clk_patch_tbloffset) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_4), "::", stringify!(mem_clk_patch_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_adjust_pertile_tbloffset) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_4), "::", stringify!(mc_adjust_pertile_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_phyinit_tbloffset) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_4), "::", stringify!(mc_phyinit_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dram_data_remap_tbloffset) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_4), "::", stringify!(dram_data_remap_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_4), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).post_ucode_init_offset) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_4), "::", stringify!(post_ucode_init_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_rsd2) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_4), "::", stringify!(vram_rsd2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_module_num) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_4), "::", stringify!(vram_module_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_min_ver) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_4), "::", stringify!(umcip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_max_ver) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_4), "::", stringify!(umcip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_phy_tile_num) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_4), "::", stringify!(mc_phy_tile_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_module) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_4), "::", stringify!(vram_module) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_vram_module_v11 { pub memory_size: u32, pub channel_enable: u32, pub mem_voltage: u16, pub vram_module_size: u16, pub ext_memory_id: u8, pub memory_type: u8, pub channel_num: u8, pub channel_width: u8, pub density: u8, pub tunningset_id: u8, pub reserved: [u16; 4usize], pub vender_rev_id: u8, pub refreshrate: u8, pub vram_flags: u8, pub vram_rsd2: u8, pub gddr6_mr10: u16, pub gddr6_mr0: u16, pub gddr6_mr1: u16, pub gddr6_mr2: u16, pub gddr6_mr4: u16, pub gddr6_mr7: u16, pub gddr6_mr8: u16, pub dram_pnstring: [::core::ffi::c_char; 40usize], } #[test] fn bindgen_test_layout_atom_vram_module_v11() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 84usize, concat!("Size of: ", stringify!(atom_vram_module_v11)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_vram_module_v11)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memory_size) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(memory_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_enable) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(channel_enable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_voltage) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(mem_voltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_module_size) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(vram_module_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ext_memory_id) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(ext_memory_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memory_type) as usize - ptr as usize }, 13usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(memory_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_num) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(channel_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channel_width) as usize - ptr as usize }, 15usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(channel_width) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).density) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(density) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tunningset_id) as usize - ptr as usize }, 17usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(tunningset_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vender_rev_id) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(vender_rev_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).refreshrate) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(refreshrate) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_flags) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(vram_flags) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_rsd2) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(vram_rsd2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gddr6_mr10) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(gddr6_mr10) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gddr6_mr0) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(gddr6_mr0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gddr6_mr1) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(gddr6_mr1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gddr6_mr2) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(gddr6_mr2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gddr6_mr4) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(gddr6_mr4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gddr6_mr7) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(gddr6_mr7) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gddr6_mr8) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(gddr6_mr8) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dram_pnstring) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_vram_module_v11), "::", stringify!(dram_pnstring) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_gddr6_ac_timing_v2_5 { pub u32umc_id_access: u32, pub RL: u8, pub WL: u8, pub tRAS: u8, pub tRC: u8, pub tREFI: u16, pub tRFC: u8, pub tRFCpb: u8, pub tRREFD: u8, pub tRCDRD: u8, pub tRCDWR: u8, pub tRP: u8, pub tRRDS: u8, pub tRRDL: u8, pub tWR: u8, pub tWTRS: u8, pub tWTRL: u8, pub tFAW: u8, pub tCCDS: u8, pub tCCDL: u8, pub tCRCRL: u8, pub tCRCWL: u8, pub tCKE: u8, pub tCKSRE: u8, pub tCKSRX: u8, pub tRTPS: u8, pub tRTPL: u8, pub tMRD: u8, pub tMOD: u8, pub tXS: u8, pub tXHP: u8, pub tXSMRS: u8, pub tXSH: u32, pub tPD: u8, pub tXP: u8, pub tCPDED: u8, pub tACTPDE: u8, pub tPREPDE: u8, pub tREFPDE: u8, pub tMRSPDEN: u8, pub tRDSRE: u8, pub tWRSRE: u8, pub tPPD: u8, pub tCCDMW: u8, pub tWTRTR: u8, pub tLTLTR: u8, pub tREFTR: u8, pub VNDR: u8, pub reserved: [u8; 9usize], } #[test] fn bindgen_test_layout_atom_gddr6_ac_timing_v2_5() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(atom_gddr6_ac_timing_v2_5)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_gddr6_ac_timing_v2_5)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).u32umc_id_access) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(u32umc_id_access) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).RL) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(RL) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).WL) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(WL) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tRAS) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tRAS) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tRC) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tRC) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tREFI) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tREFI) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tRFC) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tRFC) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tRFCpb) as usize - ptr as usize }, 11usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tRFCpb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tRREFD) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tRREFD) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tRCDRD) as usize - ptr as usize }, 13usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tRCDRD) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tRCDWR) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tRCDWR) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tRP) as usize - ptr as usize }, 15usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tRP) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tRRDS) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tRRDS) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tRRDL) as usize - ptr as usize }, 17usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tRRDL) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tWR) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tWR) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tWTRS) as usize - ptr as usize }, 19usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tWTRS) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tWTRL) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tWTRL) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tFAW) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tFAW) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tCCDS) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tCCDS) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tCCDL) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tCCDL) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tCRCRL) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tCRCRL) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tCRCWL) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tCRCWL) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tCKE) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tCKE) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tCKSRE) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tCKSRE) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tCKSRX) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tCKSRX) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tRTPS) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tRTPS) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tRTPL) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tRTPL) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tMRD) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tMRD) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tMOD) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tMOD) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tXS) as usize - ptr as usize }, 33usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tXS) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tXHP) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tXHP) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tXSMRS) as usize - ptr as usize }, 35usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tXSMRS) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tXSH) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tXSH) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tPD) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tPD) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tXP) as usize - ptr as usize }, 41usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tXP) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tCPDED) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tCPDED) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tACTPDE) as usize - ptr as usize }, 43usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tACTPDE) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tPREPDE) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tPREPDE) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tREFPDE) as usize - ptr as usize }, 45usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tREFPDE) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tMRSPDEN) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tMRSPDEN) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tRDSRE) as usize - ptr as usize }, 47usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tRDSRE) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tWRSRE) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tWRSRE) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tPPD) as usize - ptr as usize }, 49usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tPPD) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tCCDMW) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tCCDMW) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tWTRTR) as usize - ptr as usize }, 51usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tWTRTR) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tLTLTR) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tLTLTR) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tREFTR) as usize - ptr as usize }, 53usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(tREFTR) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VNDR) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(VNDR) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 55usize, concat!( "Offset of field: ", stringify!(atom_gddr6_ac_timing_v2_5), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_gddr6_bit_byte_remap { pub dphy_byteremap: u32, pub dphy_bitremap0: u32, pub dphy_bitremap1: u32, pub dphy_bitremap2: u32, pub aphy_bitremap0: u32, pub aphy_bitremap1: u32, pub phy_dram: u32, } #[test] fn bindgen_test_layout_atom_gddr6_bit_byte_remap() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 28usize, concat!("Size of: ", stringify!(atom_gddr6_bit_byte_remap)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_gddr6_bit_byte_remap)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dphy_byteremap) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_gddr6_bit_byte_remap), "::", stringify!(dphy_byteremap) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dphy_bitremap0) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_gddr6_bit_byte_remap), "::", stringify!(dphy_bitremap0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dphy_bitremap1) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_gddr6_bit_byte_remap), "::", stringify!(dphy_bitremap1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dphy_bitremap2) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_gddr6_bit_byte_remap), "::", stringify!(dphy_bitremap2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).aphy_bitremap0) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_gddr6_bit_byte_remap), "::", stringify!(aphy_bitremap0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).aphy_bitremap1) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_gddr6_bit_byte_remap), "::", stringify!(aphy_bitremap1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phy_dram) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_gddr6_bit_byte_remap), "::", stringify!(phy_dram) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_gddr6_dram_data_remap { pub table_size: u32, pub phyintf_ck_inverted: [u8; 8usize], pub bit_byte_remap: [atom_gddr6_bit_byte_remap; 16usize], } #[test] fn bindgen_test_layout_atom_gddr6_dram_data_remap() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 460usize, concat!("Size of: ", stringify!(atom_gddr6_dram_data_remap)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_gddr6_dram_data_remap)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_size) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_gddr6_dram_data_remap), "::", stringify!(table_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phyintf_ck_inverted) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_gddr6_dram_data_remap), "::", stringify!(phyintf_ck_inverted) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bit_byte_remap) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_gddr6_dram_data_remap), "::", stringify!(bit_byte_remap) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_vram_info_header_v2_5 { pub table_header: atom_common_table_header, pub mem_adjust_tbloffset: u16, pub gddr6_ac_timing_offset: u16, pub mc_adjust_pertile_tbloffset: u16, pub mc_phyinit_tbloffset: u16, pub dram_data_remap_tbloffset: u16, pub reserved: u16, pub post_ucode_init_offset: u16, pub strobe_mode_patch_tbloffset: u16, pub vram_module_num: u8, pub umcip_min_ver: u8, pub umcip_max_ver: u8, pub mc_phy_tile_num: u8, pub vram_module: [atom_vram_module_v11; 16usize], } #[test] fn bindgen_test_layout_atom_vram_info_header_v2_5() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 1368usize, concat!("Size of: ", stringify!(atom_vram_info_header_v2_5)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_vram_info_header_v2_5)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_5), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_adjust_tbloffset) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_5), "::", stringify!(mem_adjust_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gddr6_ac_timing_offset) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_5), "::", stringify!(gddr6_ac_timing_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_adjust_pertile_tbloffset) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_5), "::", stringify!(mc_adjust_pertile_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_phyinit_tbloffset) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_5), "::", stringify!(mc_phyinit_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dram_data_remap_tbloffset) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_5), "::", stringify!(dram_data_remap_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_5), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).post_ucode_init_offset) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_5), "::", stringify!(post_ucode_init_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).strobe_mode_patch_tbloffset) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_5), "::", stringify!(strobe_mode_patch_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_module_num) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_5), "::", stringify!(vram_module_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_min_ver) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_5), "::", stringify!(umcip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_max_ver) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_5), "::", stringify!(umcip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_phy_tile_num) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_5), "::", stringify!(mc_phy_tile_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_module) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_5), "::", stringify!(vram_module) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_vram_info_header_v2_6 { pub table_header: atom_common_table_header, pub mem_adjust_tbloffset: u16, pub mem_clk_patch_tbloffset: u16, pub mc_adjust_pertile_tbloffset: u16, pub mc_phyinit_tbloffset: u16, pub dram_data_remap_tbloffset: u16, pub tmrs_seq_offset: u16, pub post_ucode_init_offset: u16, pub vram_rsd2: u16, pub vram_module_num: u8, pub umcip_min_ver: u8, pub umcip_max_ver: u8, pub mc_phy_tile_num: u8, pub vram_module: [atom_vram_module_v9; 16usize], } #[test] fn bindgen_test_layout_atom_vram_info_header_v2_6() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 856usize, concat!("Size of: ", stringify!(atom_vram_info_header_v2_6)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_vram_info_header_v2_6)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_6), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_adjust_tbloffset) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_6), "::", stringify!(mem_adjust_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mem_clk_patch_tbloffset) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_6), "::", stringify!(mem_clk_patch_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_adjust_pertile_tbloffset) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_6), "::", stringify!(mc_adjust_pertile_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_phyinit_tbloffset) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_6), "::", stringify!(mc_phyinit_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dram_data_remap_tbloffset) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_6), "::", stringify!(dram_data_remap_tbloffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tmrs_seq_offset) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_6), "::", stringify!(tmrs_seq_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).post_ucode_init_offset) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_6), "::", stringify!(post_ucode_init_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_rsd2) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_6), "::", stringify!(vram_rsd2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_module_num) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_6), "::", stringify!(vram_module_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_min_ver) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_6), "::", stringify!(umcip_min_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).umcip_max_ver) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_6), "::", stringify!(umcip_max_ver) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mc_phy_tile_num) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_6), "::", stringify!(mc_phy_tile_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vram_module) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(atom_vram_info_header_v2_6), "::", stringify!(vram_module) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_i2c_data_entry { pub i2c_reg_index: u16, pub i2c_reg_data: u16, } #[test] fn bindgen_test_layout_atom_i2c_data_entry() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(atom_i2c_data_entry)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_i2c_data_entry)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_reg_index) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_i2c_data_entry), "::", stringify!(i2c_reg_index) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_reg_data) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_i2c_data_entry), "::", stringify!(i2c_reg_data) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_voltage_object_header_v4 { pub voltage_type: u8, pub voltage_mode: u8, pub object_size: u16, } #[test] fn bindgen_test_layout_atom_voltage_object_header_v4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(atom_voltage_object_header_v4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_voltage_object_header_v4)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).voltage_type) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_voltage_object_header_v4), "::", stringify!(voltage_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).voltage_mode) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_voltage_object_header_v4), "::", stringify!(voltage_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).object_size) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_voltage_object_header_v4), "::", stringify!(object_size) ) ); } pub const atom_voltage_object_mode_VOLTAGE_OBJ_GPIO_LUT: atom_voltage_object_mode = 0; pub const atom_voltage_object_mode_VOLTAGE_OBJ_VR_I2C_INIT_SEQ: atom_voltage_object_mode = 3; pub const atom_voltage_object_mode_VOLTAGE_OBJ_PHASE_LUT: atom_voltage_object_mode = 4; pub const atom_voltage_object_mode_VOLTAGE_OBJ_SVID2: atom_voltage_object_mode = 7; pub const atom_voltage_object_mode_VOLTAGE_OBJ_EVV: atom_voltage_object_mode = 8; pub const atom_voltage_object_mode_VOLTAGE_OBJ_MERGED_POWER: atom_voltage_object_mode = 9; pub type atom_voltage_object_mode = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_i2c_voltage_object_v4 { pub header: atom_voltage_object_header_v4, pub regulator_id: u8, pub i2c_id: u8, pub i2c_slave_addr: u8, pub i2c_control_offset: u8, pub i2c_flag: u8, pub i2c_speed: u8, pub reserved: [u8; 2usize], pub i2cdatalut: [atom_i2c_data_entry; 1usize], } #[test] fn bindgen_test_layout_atom_i2c_voltage_object_v4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(atom_i2c_voltage_object_v4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_i2c_voltage_object_v4)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_i2c_voltage_object_v4), "::", stringify!(header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regulator_id) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_i2c_voltage_object_v4), "::", stringify!(regulator_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_id) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_i2c_voltage_object_v4), "::", stringify!(i2c_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_slave_addr) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_i2c_voltage_object_v4), "::", stringify!(i2c_slave_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_control_offset) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_i2c_voltage_object_v4), "::", stringify!(i2c_control_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_flag) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_i2c_voltage_object_v4), "::", stringify!(i2c_flag) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_speed) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(atom_i2c_voltage_object_v4), "::", stringify!(i2c_speed) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_i2c_voltage_object_v4), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2cdatalut) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_i2c_voltage_object_v4), "::", stringify!(i2cdatalut) ) ); } pub const atom_i2c_voltage_control_flag_VOLTAGE_DATA_ONE_BYTE: atom_i2c_voltage_control_flag = 0; pub const atom_i2c_voltage_control_flag_VOLTAGE_DATA_TWO_BYTE: atom_i2c_voltage_control_flag = 1; pub type atom_i2c_voltage_control_flag = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_voltage_gpio_map_lut { pub voltage_gpio_reg_val: u32, pub voltage_level_mv: u16, } #[test] fn bindgen_test_layout_atom_voltage_gpio_map_lut() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 6usize, concat!("Size of: ", stringify!(atom_voltage_gpio_map_lut)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_voltage_gpio_map_lut)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).voltage_gpio_reg_val) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_voltage_gpio_map_lut), "::", stringify!(voltage_gpio_reg_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).voltage_level_mv) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_voltage_gpio_map_lut), "::", stringify!(voltage_level_mv) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_gpio_voltage_object_v4 { pub header: atom_voltage_object_header_v4, pub gpio_control_id: u8, pub gpio_entry_num: u8, pub phase_delay_us: u8, pub reserved: u8, pub gpio_mask_val: u32, pub voltage_gpio_lut: [atom_voltage_gpio_map_lut; 1usize], } #[test] fn bindgen_test_layout_atom_gpio_voltage_object_v4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 18usize, concat!("Size of: ", stringify!(atom_gpio_voltage_object_v4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_gpio_voltage_object_v4)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_gpio_voltage_object_v4), "::", stringify!(header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpio_control_id) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_gpio_voltage_object_v4), "::", stringify!(gpio_control_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpio_entry_num) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_gpio_voltage_object_v4), "::", stringify!(gpio_entry_num) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phase_delay_us) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_gpio_voltage_object_v4), "::", stringify!(phase_delay_us) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_gpio_voltage_object_v4), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpio_mask_val) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_gpio_voltage_object_v4), "::", stringify!(gpio_mask_val) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).voltage_gpio_lut) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(atom_gpio_voltage_object_v4), "::", stringify!(voltage_gpio_lut) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct atom_svid2_voltage_object_v4 { pub header: atom_voltage_object_header_v4, pub loadline_psi1: u8, pub psi0_l_vid_thresd: u8, pub psi0_enable: u8, pub maxvstep: u8, pub telemetry_offset: u8, pub telemetry_gain: u8, pub reserved1: u16, } #[test] fn bindgen_test_layout_atom_svid2_voltage_object_v4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(atom_svid2_voltage_object_v4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_svid2_voltage_object_v4)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_svid2_voltage_object_v4), "::", stringify!(header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).loadline_psi1) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_svid2_voltage_object_v4), "::", stringify!(loadline_psi1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).psi0_l_vid_thresd) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_svid2_voltage_object_v4), "::", stringify!(psi0_l_vid_thresd) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).psi0_enable) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(atom_svid2_voltage_object_v4), "::", stringify!(psi0_enable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).maxvstep) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(atom_svid2_voltage_object_v4), "::", stringify!(maxvstep) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).telemetry_offset) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(atom_svid2_voltage_object_v4), "::", stringify!(telemetry_offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).telemetry_gain) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(atom_svid2_voltage_object_v4), "::", stringify!(telemetry_gain) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(atom_svid2_voltage_object_v4), "::", stringify!(reserved1) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_merged_voltage_object_v4 { pub header: atom_voltage_object_header_v4, pub merged_powerrail_type: u8, pub reserved: [u8; 3usize], } #[test] fn bindgen_test_layout_atom_merged_voltage_object_v4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(atom_merged_voltage_object_v4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_merged_voltage_object_v4)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_merged_voltage_object_v4), "::", stringify!(header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).merged_powerrail_type) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_merged_voltage_object_v4), "::", stringify!(merged_powerrail_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(atom_merged_voltage_object_v4), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub union atom_voltage_object_v4 { pub gpio_voltage_obj: atom_gpio_voltage_object_v4, pub i2c_voltage_obj: atom_i2c_voltage_object_v4, pub svid2_voltage_obj: atom_svid2_voltage_object_v4, pub merged_voltage_obj: atom_merged_voltage_object_v4, } #[test] fn bindgen_test_layout_atom_voltage_object_v4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 18usize, concat!("Size of: ", stringify!(atom_voltage_object_v4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_voltage_object_v4)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).gpio_voltage_obj) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_voltage_object_v4), "::", stringify!(gpio_voltage_obj) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_voltage_obj) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_voltage_object_v4), "::", stringify!(i2c_voltage_obj) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).svid2_voltage_obj) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_voltage_object_v4), "::", stringify!(svid2_voltage_obj) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).merged_voltage_obj) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_voltage_object_v4), "::", stringify!(merged_voltage_obj) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct atom_voltage_objects_info_v4_1 { pub table_header: atom_common_table_header, pub voltage_object: [atom_voltage_object_v4; 1usize], } #[test] fn bindgen_test_layout_atom_voltage_objects_info_v4_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 22usize, concat!("Size of: ", stringify!(atom_voltage_objects_info_v4_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(atom_voltage_objects_info_v4_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_voltage_objects_info_v4_1), "::", stringify!(table_header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).voltage_object) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(atom_voltage_objects_info_v4_1), "::", stringify!(voltage_object) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct asic_init_engine_parameters { pub _bitfield_align_1: [u8; 0], pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, } #[test] fn bindgen_test_layout_asic_init_engine_parameters() { assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(asic_init_engine_parameters)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(asic_init_engine_parameters)) ); } impl asic_init_engine_parameters { #[inline] pub fn sclkfreqin10khz(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } } #[inline] pub fn set_sclkfreqin10khz(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(0usize, 24u8, val as u64) } } #[inline] pub fn engineflag(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } } #[inline] pub fn set_engineflag(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(24usize, 8u8, val as u64) } } #[inline] pub fn new_bitfield_1( sclkfreqin10khz: u32, engineflag: u32, ) -> __BindgenBitfieldUnit<[u8; 4usize]> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); __bindgen_bitfield_unit.set(0usize, 24u8, { let sclkfreqin10khz: u32 = unsafe { ::core::mem::transmute(sclkfreqin10khz) }; sclkfreqin10khz as u64 }); __bindgen_bitfield_unit.set(24usize, 8u8, { let engineflag: u32 = unsafe { ::core::mem::transmute(engineflag) }; engineflag as u64 }); __bindgen_bitfield_unit } } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct asic_init_mem_parameters { pub _bitfield_align_1: [u8; 0], pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, } #[test] fn bindgen_test_layout_asic_init_mem_parameters() { assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(asic_init_mem_parameters)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(asic_init_mem_parameters)) ); } impl asic_init_mem_parameters { #[inline] pub fn mclkfreqin10khz(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } } #[inline] pub fn set_mclkfreqin10khz(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(0usize, 24u8, val as u64) } } #[inline] pub fn memflag(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } } #[inline] pub fn set_memflag(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(24usize, 8u8, val as u64) } } #[inline] pub fn new_bitfield_1( mclkfreqin10khz: u32, memflag: u32, ) -> __BindgenBitfieldUnit<[u8; 4usize]> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); __bindgen_bitfield_unit.set(0usize, 24u8, { let mclkfreqin10khz: u32 = unsafe { ::core::mem::transmute(mclkfreqin10khz) }; mclkfreqin10khz as u64 }); __bindgen_bitfield_unit.set(24usize, 8u8, { let memflag: u32 = unsafe { ::core::mem::transmute(memflag) }; memflag as u64 }); __bindgen_bitfield_unit } } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct asic_init_parameters_v2_1 { pub engineparam: asic_init_engine_parameters, pub memparam: asic_init_mem_parameters, } #[test] fn bindgen_test_layout_asic_init_parameters_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(asic_init_parameters_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(asic_init_parameters_v2_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).engineparam) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(asic_init_parameters_v2_1), "::", stringify!(engineparam) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).memparam) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(asic_init_parameters_v2_1), "::", stringify!(memparam) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct asic_init_ps_allocation_v2_1 { pub param: asic_init_parameters_v2_1, pub reserved: [u32; 16usize], } #[test] fn bindgen_test_layout_asic_init_ps_allocation_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(asic_init_ps_allocation_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(asic_init_ps_allocation_v2_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).param) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(asic_init_ps_allocation_v2_1), "::", stringify!(param) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(asic_init_ps_allocation_v2_1), "::", stringify!(reserved) ) ); } pub const atom_asic_init_engine_flag_b3NORMAL_ENGINE_INIT: atom_asic_init_engine_flag = 0; pub const atom_asic_init_engine_flag_b3SRIOV_SKIP_ASIC_INIT: atom_asic_init_engine_flag = 2; pub const atom_asic_init_engine_flag_b3SRIOV_LOAD_UCODE: atom_asic_init_engine_flag = 64; pub type atom_asic_init_engine_flag = ::core::ffi::c_uint; pub const atom_asic_init_mem_flag_b3NORMAL_MEM_INIT: atom_asic_init_mem_flag = 0; pub const atom_asic_init_mem_flag_b3DRAM_SELF_REFRESH_EXIT: atom_asic_init_mem_flag = 32; pub type atom_asic_init_mem_flag = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct set_engine_clock_parameters_v2_1 { pub _bitfield_align_1: [u8; 0], pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, pub reserved: [u32; 10usize], } #[test] fn bindgen_test_layout_set_engine_clock_parameters_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 44usize, concat!("Size of: ", stringify!(set_engine_clock_parameters_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(set_engine_clock_parameters_v2_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(set_engine_clock_parameters_v2_1), "::", stringify!(reserved) ) ); } impl set_engine_clock_parameters_v2_1 { #[inline] pub fn sclkfreqin10khz(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } } #[inline] pub fn set_sclkfreqin10khz(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(0usize, 24u8, val as u64) } } #[inline] pub fn sclkflag(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } } #[inline] pub fn set_sclkflag(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(24usize, 8u8, val as u64) } } #[inline] pub fn new_bitfield_1( sclkfreqin10khz: u32, sclkflag: u32, ) -> __BindgenBitfieldUnit<[u8; 4usize]> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); __bindgen_bitfield_unit.set(0usize, 24u8, { let sclkfreqin10khz: u32 = unsafe { ::core::mem::transmute(sclkfreqin10khz) }; sclkfreqin10khz as u64 }); __bindgen_bitfield_unit.set(24usize, 8u8, { let sclkflag: u32 = unsafe { ::core::mem::transmute(sclkflag) }; sclkflag as u64 }); __bindgen_bitfield_unit } } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct set_engine_clock_ps_allocation_v2_1 { pub clockinfo: set_engine_clock_parameters_v2_1, pub reserved: [u32; 10usize], } #[test] fn bindgen_test_layout_set_engine_clock_ps_allocation_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 84usize, concat!("Size of: ", stringify!(set_engine_clock_ps_allocation_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(set_engine_clock_ps_allocation_v2_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).clockinfo) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(set_engine_clock_ps_allocation_v2_1), "::", stringify!(clockinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(set_engine_clock_ps_allocation_v2_1), "::", stringify!(reserved) ) ); } pub const atom_set_engine_mem_clock_flag_b3NORMAL_CHANGE_CLOCK: atom_set_engine_mem_clock_flag = 0; pub const atom_set_engine_mem_clock_flag_b3FIRST_TIME_CHANGE_CLOCK: atom_set_engine_mem_clock_flag = 8; pub const atom_set_engine_mem_clock_flag_b3STORE_DPM_TRAINGING: atom_set_engine_mem_clock_flag = 64; pub type atom_set_engine_mem_clock_flag = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct get_engine_clock_parameter { pub sclk_10khz: u32, pub reserved: u32, } #[test] fn bindgen_test_layout_get_engine_clock_parameter() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(get_engine_clock_parameter)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(get_engine_clock_parameter)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sclk_10khz) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(get_engine_clock_parameter), "::", stringify!(sclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(get_engine_clock_parameter), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct set_memory_clock_parameters_v2_1 { pub _bitfield_align_1: [u8; 0], pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, pub reserved: [u32; 10usize], } #[test] fn bindgen_test_layout_set_memory_clock_parameters_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 44usize, concat!("Size of: ", stringify!(set_memory_clock_parameters_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(set_memory_clock_parameters_v2_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(set_memory_clock_parameters_v2_1), "::", stringify!(reserved) ) ); } impl set_memory_clock_parameters_v2_1 { #[inline] pub fn mclkfreqin10khz(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } } #[inline] pub fn set_mclkfreqin10khz(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(0usize, 24u8, val as u64) } } #[inline] pub fn mclkflag(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } } #[inline] pub fn set_mclkflag(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(24usize, 8u8, val as u64) } } #[inline] pub fn new_bitfield_1( mclkfreqin10khz: u32, mclkflag: u32, ) -> __BindgenBitfieldUnit<[u8; 4usize]> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); __bindgen_bitfield_unit.set(0usize, 24u8, { let mclkfreqin10khz: u32 = unsafe { ::core::mem::transmute(mclkfreqin10khz) }; mclkfreqin10khz as u64 }); __bindgen_bitfield_unit.set(24usize, 8u8, { let mclkflag: u32 = unsafe { ::core::mem::transmute(mclkflag) }; mclkflag as u64 }); __bindgen_bitfield_unit } } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct set_memory_clock_ps_allocation_v2_1 { pub clockinfo: set_memory_clock_parameters_v2_1, pub reserved: [u32; 10usize], } #[test] fn bindgen_test_layout_set_memory_clock_ps_allocation_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 84usize, concat!("Size of: ", stringify!(set_memory_clock_ps_allocation_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(set_memory_clock_ps_allocation_v2_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).clockinfo) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(set_memory_clock_ps_allocation_v2_1), "::", stringify!(clockinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(set_memory_clock_ps_allocation_v2_1), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct get_memory_clock_parameter { pub mclk_10khz: u32, pub reserved: u32, } #[test] fn bindgen_test_layout_get_memory_clock_parameter() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(get_memory_clock_parameter)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(get_memory_clock_parameter)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mclk_10khz) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(get_memory_clock_parameter), "::", stringify!(mclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(get_memory_clock_parameter), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct set_voltage_parameters_v1_4 { pub voltagetype: u8, pub command: u8, pub vlevel_mv: u16, } #[test] fn bindgen_test_layout_set_voltage_parameters_v1_4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(set_voltage_parameters_v1_4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(set_voltage_parameters_v1_4)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).voltagetype) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(set_voltage_parameters_v1_4), "::", stringify!(voltagetype) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).command) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(set_voltage_parameters_v1_4), "::", stringify!(command) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vlevel_mv) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(set_voltage_parameters_v1_4), "::", stringify!(vlevel_mv) ) ); } pub const atom_set_voltage_command_ATOM_SET_VOLTAGE: atom_set_voltage_command = 0; pub const atom_set_voltage_command_ATOM_INIT_VOLTAGE_REGULATOR: atom_set_voltage_command = 3; pub const atom_set_voltage_command_ATOM_SET_VOLTAGE_PHASE: atom_set_voltage_command = 4; pub const atom_set_voltage_command_ATOM_GET_LEAKAGE_ID: atom_set_voltage_command = 8; pub type atom_set_voltage_command = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct set_voltage_ps_allocation_v1_4 { pub setvoltageparam: set_voltage_parameters_v1_4, pub reserved: [u32; 10usize], } #[test] fn bindgen_test_layout_set_voltage_ps_allocation_v1_4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 44usize, concat!("Size of: ", stringify!(set_voltage_ps_allocation_v1_4)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(set_voltage_ps_allocation_v1_4)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).setvoltageparam) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(set_voltage_ps_allocation_v1_4), "::", stringify!(setvoltageparam) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(set_voltage_ps_allocation_v1_4), "::", stringify!(reserved) ) ); } pub const atom_gpu_clock_type_COMPUTE_GPUCLK_INPUT_FLAG_DEFAULT_GPUCLK: atom_gpu_clock_type = 0; pub const atom_gpu_clock_type_COMPUTE_GPUCLK_INPUT_FLAG_GFXCLK: atom_gpu_clock_type = 1; pub const atom_gpu_clock_type_COMPUTE_GPUCLK_INPUT_FLAG_UCLK: atom_gpu_clock_type = 2; pub type atom_gpu_clock_type = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct compute_gpu_clock_input_parameter_v1_8 { pub _bitfield_align_1: [u8; 0], pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, pub reserved: [u32; 5usize], } #[test] fn bindgen_test_layout_compute_gpu_clock_input_parameter_v1_8() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 24usize, concat!( "Size of: ", stringify!(compute_gpu_clock_input_parameter_v1_8) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(compute_gpu_clock_input_parameter_v1_8) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(compute_gpu_clock_input_parameter_v1_8), "::", stringify!(reserved) ) ); } impl compute_gpu_clock_input_parameter_v1_8 { #[inline] pub fn gpuclock_10khz(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } } #[inline] pub fn set_gpuclock_10khz(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(0usize, 24u8, val as u64) } } #[inline] pub fn gpu_clock_type(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } } #[inline] pub fn set_gpu_clock_type(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(24usize, 8u8, val as u64) } } #[inline] pub fn new_bitfield_1( gpuclock_10khz: u32, gpu_clock_type: u32, ) -> __BindgenBitfieldUnit<[u8; 4usize]> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); __bindgen_bitfield_unit.set(0usize, 24u8, { let gpuclock_10khz: u32 = unsafe { ::core::mem::transmute(gpuclock_10khz) }; gpuclock_10khz as u64 }); __bindgen_bitfield_unit.set(24usize, 8u8, { let gpu_clock_type: u32 = unsafe { ::core::mem::transmute(gpu_clock_type) }; gpu_clock_type as u64 }); __bindgen_bitfield_unit } } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct compute_gpu_clock_output_parameter_v1_8 { pub _bitfield_align_1: [u8; 0], pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, pub pll_fb_mult: u32, pub pll_ss_fbsmult: u32, pub pll_ss_slew_frac: u16, pub pll_ss_enable: u8, pub reserved: u8, pub reserved1: [u32; 2usize], } #[test] fn bindgen_test_layout_compute_gpu_clock_output_parameter_v1_8() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 24usize, concat!( "Size of: ", stringify!(compute_gpu_clock_output_parameter_v1_8) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(compute_gpu_clock_output_parameter_v1_8) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pll_fb_mult) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(compute_gpu_clock_output_parameter_v1_8), "::", stringify!(pll_fb_mult) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pll_ss_fbsmult) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(compute_gpu_clock_output_parameter_v1_8), "::", stringify!(pll_ss_fbsmult) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pll_ss_slew_frac) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(compute_gpu_clock_output_parameter_v1_8), "::", stringify!(pll_ss_slew_frac) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pll_ss_enable) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(compute_gpu_clock_output_parameter_v1_8), "::", stringify!(pll_ss_enable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 15usize, concat!( "Offset of field: ", stringify!(compute_gpu_clock_output_parameter_v1_8), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(compute_gpu_clock_output_parameter_v1_8), "::", stringify!(reserved1) ) ); } impl compute_gpu_clock_output_parameter_v1_8 { #[inline] pub fn gpuclock_10khz(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } } #[inline] pub fn set_gpuclock_10khz(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(0usize, 24u8, val as u64) } } #[inline] pub fn dfs_did(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } } #[inline] pub fn set_dfs_did(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(24usize, 8u8, val as u64) } } #[inline] pub fn new_bitfield_1( gpuclock_10khz: u32, dfs_did: u32, ) -> __BindgenBitfieldUnit<[u8; 4usize]> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); __bindgen_bitfield_unit.set(0usize, 24u8, { let gpuclock_10khz: u32 = unsafe { ::core::mem::transmute(gpuclock_10khz) }; gpuclock_10khz as u64 }); __bindgen_bitfield_unit.set(24usize, 8u8, { let dfs_did: u32 = unsafe { ::core::mem::transmute(dfs_did) }; dfs_did as u64 }); __bindgen_bitfield_unit } } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct read_efuse_input_parameters_v3_1 { pub efuse_start_index: u16, pub reserved: u8, pub bitslen: u8, } #[test] fn bindgen_test_layout_read_efuse_input_parameters_v3_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(read_efuse_input_parameters_v3_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(read_efuse_input_parameters_v3_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).efuse_start_index) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(read_efuse_input_parameters_v3_1), "::", stringify!(efuse_start_index) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(read_efuse_input_parameters_v3_1), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bitslen) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(read_efuse_input_parameters_v3_1), "::", stringify!(bitslen) ) ); } #[repr(C, packed)] #[derive(Copy, Clone)] pub union read_efuse_value_parameters_v3_1 { pub efuse_info: read_efuse_input_parameters_v3_1, pub efusevalue: u32, } #[test] fn bindgen_test_layout_read_efuse_value_parameters_v3_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(read_efuse_value_parameters_v3_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(read_efuse_value_parameters_v3_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).efuse_info) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(read_efuse_value_parameters_v3_1), "::", stringify!(efuse_info) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).efusevalue) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(read_efuse_value_parameters_v3_1), "::", stringify!(efusevalue) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atom_get_smu_clock_info_parameters_v3_1 { pub syspll_id: u8, pub clk_id: u8, pub command: u8, pub dfsdid: u8, } #[test] fn bindgen_test_layout_atom_get_smu_clock_info_parameters_v3_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(atom_get_smu_clock_info_parameters_v3_1) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_get_smu_clock_info_parameters_v3_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspll_id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_get_smu_clock_info_parameters_v3_1), "::", stringify!(syspll_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).clk_id) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(atom_get_smu_clock_info_parameters_v3_1), "::", stringify!(clk_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).command) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(atom_get_smu_clock_info_parameters_v3_1), "::", stringify!(command) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dfsdid) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(atom_get_smu_clock_info_parameters_v3_1), "::", stringify!(dfsdid) ) ); } pub const atom_get_smu_clock_info_command_GET_SMU_CLOCK_INFO_V3_1_GET_CLOCK_FREQ: atom_get_smu_clock_info_command = 0; pub const atom_get_smu_clock_info_command_GET_SMU_CLOCK_INFO_V3_1_GET_PLLVCO_FREQ: atom_get_smu_clock_info_command = 1; pub const atom_get_smu_clock_info_command_GET_SMU_CLOCK_INFO_V3_1_GET_PLLREFCLK_FREQ: atom_get_smu_clock_info_command = 2; pub type atom_get_smu_clock_info_command = ::core::ffi::c_uint; pub const atom_smu9_syspll0_clock_id_SMU9_SYSPLL0_SMNCLK_ID: atom_smu9_syspll0_clock_id = 0; pub const atom_smu9_syspll0_clock_id_SMU9_SYSPLL0_SOCCLK_ID: atom_smu9_syspll0_clock_id = 1; pub const atom_smu9_syspll0_clock_id_SMU9_SYSPLL0_MP0CLK_ID: atom_smu9_syspll0_clock_id = 2; pub const atom_smu9_syspll0_clock_id_SMU9_SYSPLL0_MP1CLK_ID: atom_smu9_syspll0_clock_id = 3; pub const atom_smu9_syspll0_clock_id_SMU9_SYSPLL0_LCLK_ID: atom_smu9_syspll0_clock_id = 4; pub const atom_smu9_syspll0_clock_id_SMU9_SYSPLL0_DCLK_ID: atom_smu9_syspll0_clock_id = 5; pub const atom_smu9_syspll0_clock_id_SMU9_SYSPLL0_VCLK_ID: atom_smu9_syspll0_clock_id = 6; pub const atom_smu9_syspll0_clock_id_SMU9_SYSPLL0_ECLK_ID: atom_smu9_syspll0_clock_id = 7; pub const atom_smu9_syspll0_clock_id_SMU9_SYSPLL0_DCEFCLK_ID: atom_smu9_syspll0_clock_id = 8; pub const atom_smu9_syspll0_clock_id_SMU9_SYSPLL0_DPREFCLK_ID: atom_smu9_syspll0_clock_id = 10; pub const atom_smu9_syspll0_clock_id_SMU9_SYSPLL0_DISPCLK_ID: atom_smu9_syspll0_clock_id = 11; pub type atom_smu9_syspll0_clock_id = ::core::ffi::c_uint; pub const atom_smu11_syspll_id_SMU11_SYSPLL0_ID: atom_smu11_syspll_id = 0; pub const atom_smu11_syspll_id_SMU11_SYSPLL1_0_ID: atom_smu11_syspll_id = 1; pub const atom_smu11_syspll_id_SMU11_SYSPLL1_1_ID: atom_smu11_syspll_id = 2; pub const atom_smu11_syspll_id_SMU11_SYSPLL1_2_ID: atom_smu11_syspll_id = 3; pub const atom_smu11_syspll_id_SMU11_SYSPLL2_ID: atom_smu11_syspll_id = 4; pub const atom_smu11_syspll_id_SMU11_SYSPLL3_0_ID: atom_smu11_syspll_id = 5; pub const atom_smu11_syspll_id_SMU11_SYSPLL3_1_ID: atom_smu11_syspll_id = 6; pub type atom_smu11_syspll_id = ::core::ffi::c_uint; pub const atom_smu11_syspll0_clock_id_SMU11_SYSPLL0_ECLK_ID: atom_smu11_syspll0_clock_id = 0; pub const atom_smu11_syspll0_clock_id_SMU11_SYSPLL0_SOCCLK_ID: atom_smu11_syspll0_clock_id = 1; pub const atom_smu11_syspll0_clock_id_SMU11_SYSPLL0_MP0CLK_ID: atom_smu11_syspll0_clock_id = 2; pub const atom_smu11_syspll0_clock_id_SMU11_SYSPLL0_DCLK_ID: atom_smu11_syspll0_clock_id = 3; pub const atom_smu11_syspll0_clock_id_SMU11_SYSPLL0_VCLK_ID: atom_smu11_syspll0_clock_id = 4; pub const atom_smu11_syspll0_clock_id_SMU11_SYSPLL0_DCEFCLK_ID: atom_smu11_syspll0_clock_id = 5; pub type atom_smu11_syspll0_clock_id = ::core::ffi::c_uint; pub const atom_smu11_syspll1_0_clock_id_SMU11_SYSPLL1_0_UCLKA_ID: atom_smu11_syspll1_0_clock_id = 0; pub type atom_smu11_syspll1_0_clock_id = ::core::ffi::c_uint; pub const atom_smu11_syspll1_1_clock_id_SMU11_SYSPLL1_0_UCLKB_ID: atom_smu11_syspll1_1_clock_id = 0; pub type atom_smu11_syspll1_1_clock_id = ::core::ffi::c_uint; pub const atom_smu11_syspll1_2_clock_id_SMU11_SYSPLL1_0_FCLK_ID: atom_smu11_syspll1_2_clock_id = 0; pub type atom_smu11_syspll1_2_clock_id = ::core::ffi::c_uint; pub const atom_smu11_syspll2_clock_id_SMU11_SYSPLL2_GFXCLK_ID: atom_smu11_syspll2_clock_id = 0; pub type atom_smu11_syspll2_clock_id = ::core::ffi::c_uint; pub const atom_smu11_syspll3_0_clock_id_SMU11_SYSPLL3_0_WAFCLK_ID: atom_smu11_syspll3_0_clock_id = 0; pub const atom_smu11_syspll3_0_clock_id_SMU11_SYSPLL3_0_DISPCLK_ID: atom_smu11_syspll3_0_clock_id = 1; pub const atom_smu11_syspll3_0_clock_id_SMU11_SYSPLL3_0_DPREFCLK_ID: atom_smu11_syspll3_0_clock_id = 2; pub type atom_smu11_syspll3_0_clock_id = ::core::ffi::c_uint; pub const atom_smu11_syspll3_1_clock_id_SMU11_SYSPLL3_1_MP1CLK_ID: atom_smu11_syspll3_1_clock_id = 0; pub const atom_smu11_syspll3_1_clock_id_SMU11_SYSPLL3_1_SMNCLK_ID: atom_smu11_syspll3_1_clock_id = 1; pub const atom_smu11_syspll3_1_clock_id_SMU11_SYSPLL3_1_LCLK_ID: atom_smu11_syspll3_1_clock_id = 2; pub type atom_smu11_syspll3_1_clock_id = ::core::ffi::c_uint; pub const atom_smu12_syspll_id_SMU12_SYSPLL0_ID: atom_smu12_syspll_id = 0; pub const atom_smu12_syspll_id_SMU12_SYSPLL1_ID: atom_smu12_syspll_id = 1; pub const atom_smu12_syspll_id_SMU12_SYSPLL2_ID: atom_smu12_syspll_id = 2; pub const atom_smu12_syspll_id_SMU12_SYSPLL3_0_ID: atom_smu12_syspll_id = 3; pub const atom_smu12_syspll_id_SMU12_SYSPLL3_1_ID: atom_smu12_syspll_id = 4; pub type atom_smu12_syspll_id = ::core::ffi::c_uint; pub const atom_smu12_syspll0_clock_id_SMU12_SYSPLL0_SMNCLK_ID: atom_smu12_syspll0_clock_id = 0; pub const atom_smu12_syspll0_clock_id_SMU12_SYSPLL0_SOCCLK_ID: atom_smu12_syspll0_clock_id = 1; pub const atom_smu12_syspll0_clock_id_SMU12_SYSPLL0_MP0CLK_ID: atom_smu12_syspll0_clock_id = 2; pub const atom_smu12_syspll0_clock_id_SMU12_SYSPLL0_MP1CLK_ID: atom_smu12_syspll0_clock_id = 3; pub const atom_smu12_syspll0_clock_id_SMU12_SYSPLL0_MP2CLK_ID: atom_smu12_syspll0_clock_id = 4; pub const atom_smu12_syspll0_clock_id_SMU12_SYSPLL0_VCLK_ID: atom_smu12_syspll0_clock_id = 5; pub const atom_smu12_syspll0_clock_id_SMU12_SYSPLL0_LCLK_ID: atom_smu12_syspll0_clock_id = 6; pub const atom_smu12_syspll0_clock_id_SMU12_SYSPLL0_DCLK_ID: atom_smu12_syspll0_clock_id = 7; pub const atom_smu12_syspll0_clock_id_SMU12_SYSPLL0_ACLK_ID: atom_smu12_syspll0_clock_id = 8; pub const atom_smu12_syspll0_clock_id_SMU12_SYSPLL0_ISPCLK_ID: atom_smu12_syspll0_clock_id = 9; pub const atom_smu12_syspll0_clock_id_SMU12_SYSPLL0_SHUBCLK_ID: atom_smu12_syspll0_clock_id = 10; pub type atom_smu12_syspll0_clock_id = ::core::ffi::c_uint; pub const atom_smu12_syspll1_clock_id_SMU12_SYSPLL1_DISPCLK_ID: atom_smu12_syspll1_clock_id = 0; pub const atom_smu12_syspll1_clock_id_SMU12_SYSPLL1_DPPCLK_ID: atom_smu12_syspll1_clock_id = 1; pub const atom_smu12_syspll1_clock_id_SMU12_SYSPLL1_DPREFCLK_ID: atom_smu12_syspll1_clock_id = 2; pub const atom_smu12_syspll1_clock_id_SMU12_SYSPLL1_DCFCLK_ID: atom_smu12_syspll1_clock_id = 3; pub type atom_smu12_syspll1_clock_id = ::core::ffi::c_uint; pub const atom_smu12_syspll2_clock_id_SMU12_SYSPLL2_Pre_GFXCLK_ID: atom_smu12_syspll2_clock_id = 0; pub type atom_smu12_syspll2_clock_id = ::core::ffi::c_uint; pub const atom_smu12_syspll3_0_clock_id_SMU12_SYSPLL3_0_FCLK_ID: atom_smu12_syspll3_0_clock_id = 0; pub type atom_smu12_syspll3_0_clock_id = ::core::ffi::c_uint; pub const atom_smu12_syspll3_1_clock_id_SMU12_SYSPLL3_1_UMCCLK_ID: atom_smu12_syspll3_1_clock_id = 0; pub type atom_smu12_syspll3_1_clock_id = ::core::ffi::c_uint; #[repr(C)] #[derive(Copy, Clone)] pub struct atom_get_smu_clock_info_output_parameters_v3_1 { pub atom_smu_outputclkfreq: atom_get_smu_clock_info_output_parameters_v3_1__bindgen_ty_1, } #[repr(C, packed)] #[derive(Copy, Clone)] pub union atom_get_smu_clock_info_output_parameters_v3_1__bindgen_ty_1 { pub smu_clock_freq_hz: u32, pub syspllvcofreq_10khz: u32, pub sysspllrefclk_10khz: u32, } #[test] fn bindgen_test_layout_atom_get_smu_clock_info_output_parameters_v3_1__bindgen_ty_1() { const UNINIT: ::core::mem::MaybeUninit< atom_get_smu_clock_info_output_parameters_v3_1__bindgen_ty_1, > = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(atom_get_smu_clock_info_output_parameters_v3_1__bindgen_ty_1) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_get_smu_clock_info_output_parameters_v3_1__bindgen_ty_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smu_clock_freq_hz) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_get_smu_clock_info_output_parameters_v3_1__bindgen_ty_1), "::", stringify!(smu_clock_freq_hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).syspllvcofreq_10khz) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_get_smu_clock_info_output_parameters_v3_1__bindgen_ty_1), "::", stringify!(syspllvcofreq_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sysspllrefclk_10khz) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_get_smu_clock_info_output_parameters_v3_1__bindgen_ty_1), "::", stringify!(sysspllrefclk_10khz) ) ); } #[test] fn bindgen_test_layout_atom_get_smu_clock_info_output_parameters_v3_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(atom_get_smu_clock_info_output_parameters_v3_1) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(atom_get_smu_clock_info_output_parameters_v3_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).atom_smu_outputclkfreq) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(atom_get_smu_clock_info_output_parameters_v3_1), "::", stringify!(atom_smu_outputclkfreq) ) ); } pub const atom_dynamic_memory_setting_command_COMPUTE_MEMORY_PLL_PARAM: atom_dynamic_memory_setting_command = 1; pub const atom_dynamic_memory_setting_command_COMPUTE_ENGINE_PLL_PARAM: atom_dynamic_memory_setting_command = 2; pub const atom_dynamic_memory_setting_command_ADJUST_MC_SETTING_PARAM: atom_dynamic_memory_setting_command = 3; pub type atom_dynamic_memory_setting_command = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct dynamic_mclk_settings_parameters_v2_1 { pub _bitfield_align_1: [u8; 0], pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, pub reserved: u32, } #[test] fn bindgen_test_layout_dynamic_mclk_settings_parameters_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!( "Size of: ", stringify!(dynamic_mclk_settings_parameters_v2_1) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(dynamic_mclk_settings_parameters_v2_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(dynamic_mclk_settings_parameters_v2_1), "::", stringify!(reserved) ) ); } impl dynamic_mclk_settings_parameters_v2_1 { #[inline] pub fn mclk_10khz(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } } #[inline] pub fn set_mclk_10khz(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(0usize, 24u8, val as u64) } } #[inline] pub fn command(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } } #[inline] pub fn set_command(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(24usize, 8u8, val as u64) } } #[inline] pub fn new_bitfield_1(mclk_10khz: u32, command: u32) -> __BindgenBitfieldUnit<[u8; 4usize]> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); __bindgen_bitfield_unit.set(0usize, 24u8, { let mclk_10khz: u32 = unsafe { ::core::mem::transmute(mclk_10khz) }; mclk_10khz as u64 }); __bindgen_bitfield_unit.set(24usize, 8u8, { let command: u32 = unsafe { ::core::mem::transmute(command) }; command as u64 }); __bindgen_bitfield_unit } } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct dynamic_sclk_settings_parameters_v2_1 { pub _bitfield_align_1: [u8; 0], pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, pub mclk_10khz: u32, pub reserved: u32, } #[test] fn bindgen_test_layout_dynamic_sclk_settings_parameters_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 12usize, concat!( "Size of: ", stringify!(dynamic_sclk_settings_parameters_v2_1) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(dynamic_sclk_settings_parameters_v2_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mclk_10khz) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(dynamic_sclk_settings_parameters_v2_1), "::", stringify!(mclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(dynamic_sclk_settings_parameters_v2_1), "::", stringify!(reserved) ) ); } impl dynamic_sclk_settings_parameters_v2_1 { #[inline] pub fn sclk_10khz(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } } #[inline] pub fn set_sclk_10khz(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(0usize, 24u8, val as u64) } } #[inline] pub fn command(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } } #[inline] pub fn set_command(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(24usize, 8u8, val as u64) } } #[inline] pub fn new_bitfield_1(sclk_10khz: u32, command: u32) -> __BindgenBitfieldUnit<[u8; 4usize]> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); __bindgen_bitfield_unit.set(0usize, 24u8, { let sclk_10khz: u32 = unsafe { ::core::mem::transmute(sclk_10khz) }; sclk_10khz as u64 }); __bindgen_bitfield_unit.set(24usize, 8u8, { let command: u32 = unsafe { ::core::mem::transmute(command) }; command as u64 }); __bindgen_bitfield_unit } } #[repr(C)] #[derive(Copy, Clone)] pub union dynamic_memory_settings_parameters_v2_1 { pub mclk_setting: dynamic_mclk_settings_parameters_v2_1, pub sclk_setting: dynamic_sclk_settings_parameters_v2_1, } #[test] fn bindgen_test_layout_dynamic_memory_settings_parameters_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 12usize, concat!( "Size of: ", stringify!(dynamic_memory_settings_parameters_v2_1) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(dynamic_memory_settings_parameters_v2_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mclk_setting) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dynamic_memory_settings_parameters_v2_1), "::", stringify!(mclk_setting) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sclk_setting) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dynamic_memory_settings_parameters_v2_1), "::", stringify!(sclk_setting) ) ); } pub const atom_umc6_0_ucode_function_call_enum_id_UMC60_UCODE_FUNC_ID_REINIT: atom_umc6_0_ucode_function_call_enum_id = 0; pub const atom_umc6_0_ucode_function_call_enum_id_UMC60_UCODE_FUNC_ID_ENTER_SELFREFRESH: atom_umc6_0_ucode_function_call_enum_id = 1; pub const atom_umc6_0_ucode_function_call_enum_id_UMC60_UCODE_FUNC_ID_EXIT_SELFREFRESH: atom_umc6_0_ucode_function_call_enum_id = 2; pub type atom_umc6_0_ucode_function_call_enum_id = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct memory_training_parameters_v2_1 { pub ucode_func_id: u8, pub ucode_reserved: [u8; 3usize], pub reserved: [u32; 5usize], } #[test] fn bindgen_test_layout_memory_training_parameters_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(memory_training_parameters_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(memory_training_parameters_v2_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ucode_func_id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(memory_training_parameters_v2_1), "::", stringify!(ucode_func_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ucode_reserved) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(memory_training_parameters_v2_1), "::", stringify!(ucode_reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(memory_training_parameters_v2_1), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct set_pixel_clock_parameter_v1_7 { pub pixclk_100hz: u32, pub pll_id: u8, pub encoderobjid: u8, pub encoder_mode: u8, pub miscinfo: u8, pub crtc_id: u8, pub deep_color_ratio: u8, pub reserved1: [u8; 2usize], pub reserved2: u32, } #[test] fn bindgen_test_layout_set_pixel_clock_parameter_v1_7() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(set_pixel_clock_parameter_v1_7)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(set_pixel_clock_parameter_v1_7)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pixclk_100hz) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(set_pixel_clock_parameter_v1_7), "::", stringify!(pixclk_100hz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pll_id) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(set_pixel_clock_parameter_v1_7), "::", stringify!(pll_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).encoderobjid) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(set_pixel_clock_parameter_v1_7), "::", stringify!(encoderobjid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).encoder_mode) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(set_pixel_clock_parameter_v1_7), "::", stringify!(encoder_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).miscinfo) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(set_pixel_clock_parameter_v1_7), "::", stringify!(miscinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(set_pixel_clock_parameter_v1_7), "::", stringify!(crtc_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).deep_color_ratio) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(set_pixel_clock_parameter_v1_7), "::", stringify!(deep_color_ratio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(set_pixel_clock_parameter_v1_7), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(set_pixel_clock_parameter_v1_7), "::", stringify!(reserved2) ) ); } pub const atom_set_pixel_clock_v1_7_misc_info_PIXEL_CLOCK_V7_MISC_FORCE_PROG_PPLL: atom_set_pixel_clock_v1_7_misc_info = 1; pub const atom_set_pixel_clock_v1_7_misc_info_PIXEL_CLOCK_V7_MISC_PROG_PHYPLL: atom_set_pixel_clock_v1_7_misc_info = 2; pub const atom_set_pixel_clock_v1_7_misc_info_PIXEL_CLOCK_V7_MISC_YUV420_MODE: atom_set_pixel_clock_v1_7_misc_info = 4; pub const atom_set_pixel_clock_v1_7_misc_info_PIXEL_CLOCK_V7_MISC_DVI_DUALLINK_EN: atom_set_pixel_clock_v1_7_misc_info = 8; pub const atom_set_pixel_clock_v1_7_misc_info_PIXEL_CLOCK_V7_MISC_REF_DIV_SRC: atom_set_pixel_clock_v1_7_misc_info = 48; pub const atom_set_pixel_clock_v1_7_misc_info_PIXEL_CLOCK_V7_MISC_REF_DIV_SRC_XTALIN: atom_set_pixel_clock_v1_7_misc_info = 0; pub const atom_set_pixel_clock_v1_7_misc_info_PIXEL_CLOCK_V7_MISC_REF_DIV_SRC_PCIE: atom_set_pixel_clock_v1_7_misc_info = 16; pub const atom_set_pixel_clock_v1_7_misc_info_PIXEL_CLOCK_V7_MISC_REF_DIV_SRC_GENLK: atom_set_pixel_clock_v1_7_misc_info = 32; pub const atom_set_pixel_clock_v1_7_misc_info_PIXEL_CLOCK_V7_MISC_REF_DIV_SRC_REFPAD: atom_set_pixel_clock_v1_7_misc_info = 48; pub const atom_set_pixel_clock_v1_7_misc_info_PIXEL_CLOCK_V7_MISC_ATOMIC_UPDATE: atom_set_pixel_clock_v1_7_misc_info = 64; pub const atom_set_pixel_clock_v1_7_misc_info_PIXEL_CLOCK_V7_MISC_FORCE_SS_DIS: atom_set_pixel_clock_v1_7_misc_info = 128; pub type atom_set_pixel_clock_v1_7_misc_info = ::core::ffi::c_uint; pub const atom_set_pixel_clock_v1_7_deepcolor_ratio_PIXEL_CLOCK_V7_DEEPCOLOR_RATIO_DIS: atom_set_pixel_clock_v1_7_deepcolor_ratio = 0; pub const atom_set_pixel_clock_v1_7_deepcolor_ratio_PIXEL_CLOCK_V7_DEEPCOLOR_RATIO_5_4: atom_set_pixel_clock_v1_7_deepcolor_ratio = 1; pub const atom_set_pixel_clock_v1_7_deepcolor_ratio_PIXEL_CLOCK_V7_DEEPCOLOR_RATIO_3_2: atom_set_pixel_clock_v1_7_deepcolor_ratio = 2; pub const atom_set_pixel_clock_v1_7_deepcolor_ratio_PIXEL_CLOCK_V7_DEEPCOLOR_RATIO_2_1: atom_set_pixel_clock_v1_7_deepcolor_ratio = 3; pub type atom_set_pixel_clock_v1_7_deepcolor_ratio = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct set_dce_clock_parameters_v2_1 { pub dceclk_10khz: u32, pub dceclktype: u8, pub dceclksrc: u8, pub dceclkflag: u8, pub crtc_id: u8, } #[test] fn bindgen_test_layout_set_dce_clock_parameters_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(set_dce_clock_parameters_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(set_dce_clock_parameters_v2_1)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dceclk_10khz) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(set_dce_clock_parameters_v2_1), "::", stringify!(dceclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dceclktype) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(set_dce_clock_parameters_v2_1), "::", stringify!(dceclktype) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dceclksrc) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(set_dce_clock_parameters_v2_1), "::", stringify!(dceclksrc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dceclkflag) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(set_dce_clock_parameters_v2_1), "::", stringify!(dceclkflag) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(set_dce_clock_parameters_v2_1), "::", stringify!(crtc_id) ) ); } pub const atom_set_dce_clock_clock_type_DCE_CLOCK_TYPE_DISPCLK: atom_set_dce_clock_clock_type = 0; pub const atom_set_dce_clock_clock_type_DCE_CLOCK_TYPE_DPREFCLK: atom_set_dce_clock_clock_type = 1; pub const atom_set_dce_clock_clock_type_DCE_CLOCK_TYPE_PIXELCLK: atom_set_dce_clock_clock_type = 2; pub type atom_set_dce_clock_clock_type = ::core::ffi::c_uint; pub const atom_set_dce_clock_dprefclk_flag_DCE_CLOCK_FLAG_PLL_REFCLK_SRC_MASK: atom_set_dce_clock_dprefclk_flag = 3; pub const atom_set_dce_clock_dprefclk_flag_DCE_CLOCK_FLAG_PLL_REFCLK_SRC_GENERICA: atom_set_dce_clock_dprefclk_flag = 0; pub const atom_set_dce_clock_dprefclk_flag_DCE_CLOCK_FLAG_PLL_REFCLK_SRC_GENLK: atom_set_dce_clock_dprefclk_flag = 1; pub const atom_set_dce_clock_dprefclk_flag_DCE_CLOCK_FLAG_PLL_REFCLK_SRC_PCIE: atom_set_dce_clock_dprefclk_flag = 2; pub const atom_set_dce_clock_dprefclk_flag_DCE_CLOCK_FLAG_PLL_REFCLK_SRC_XTALIN: atom_set_dce_clock_dprefclk_flag = 3; pub type atom_set_dce_clock_dprefclk_flag = ::core::ffi::c_uint; pub const atom_set_dce_clock_pixclk_flag_DCE_CLOCK_FLAG_PCLK_DEEPCOLOR_RATIO_MASK: atom_set_dce_clock_pixclk_flag = 3; pub const atom_set_dce_clock_pixclk_flag_DCE_CLOCK_FLAG_PCLK_DEEPCOLOR_RATIO_DIS: atom_set_dce_clock_pixclk_flag = 0; pub const atom_set_dce_clock_pixclk_flag_DCE_CLOCK_FLAG_PCLK_DEEPCOLOR_RATIO_5_4: atom_set_dce_clock_pixclk_flag = 1; pub const atom_set_dce_clock_pixclk_flag_DCE_CLOCK_FLAG_PCLK_DEEPCOLOR_RATIO_3_2: atom_set_dce_clock_pixclk_flag = 2; pub const atom_set_dce_clock_pixclk_flag_DCE_CLOCK_FLAG_PCLK_DEEPCOLOR_RATIO_2_1: atom_set_dce_clock_pixclk_flag = 3; pub const atom_set_dce_clock_pixclk_flag_DCE_CLOCK_FLAG_PIXCLK_YUV420_MODE: atom_set_dce_clock_pixclk_flag = 4; pub type atom_set_dce_clock_pixclk_flag = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct set_dce_clock_ps_allocation_v2_1 { pub param: set_dce_clock_parameters_v2_1, pub ulReserved: [u32; 2usize], } #[test] fn bindgen_test_layout_set_dce_clock_ps_allocation_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(set_dce_clock_ps_allocation_v2_1)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(set_dce_clock_ps_allocation_v2_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).param) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(set_dce_clock_ps_allocation_v2_1), "::", stringify!(param) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ulReserved) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(set_dce_clock_ps_allocation_v2_1), "::", stringify!(ulReserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct blank_crtc_parameters { pub crtc_id: u8, pub blanking: u8, pub reserved: u16, pub reserved1: u32, } #[test] fn bindgen_test_layout_blank_crtc_parameters() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(blank_crtc_parameters)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(blank_crtc_parameters)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(blank_crtc_parameters), "::", stringify!(crtc_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).blanking) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(blank_crtc_parameters), "::", stringify!(blanking) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(blank_crtc_parameters), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(blank_crtc_parameters), "::", stringify!(reserved1) ) ); } pub const atom_blank_crtc_command_ATOM_BLANKING: atom_blank_crtc_command = 1; pub const atom_blank_crtc_command_ATOM_BLANKING_OFF: atom_blank_crtc_command = 0; pub type atom_blank_crtc_command = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct enable_crtc_parameters { pub crtc_id: u8, pub enable: u8, pub padding: [u8; 2usize], } #[test] fn bindgen_test_layout_enable_crtc_parameters() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(enable_crtc_parameters)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(enable_crtc_parameters)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(enable_crtc_parameters), "::", stringify!(crtc_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enable) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(enable_crtc_parameters), "::", stringify!(enable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(enable_crtc_parameters), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct enable_disp_power_gating_parameters_v2_1 { pub disp_pipe_id: u8, pub enable: u8, pub padding: [u8; 2usize], } #[test] fn bindgen_test_layout_enable_disp_power_gating_parameters_v2_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(enable_disp_power_gating_parameters_v2_1) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(enable_disp_power_gating_parameters_v2_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).disp_pipe_id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(enable_disp_power_gating_parameters_v2_1), "::", stringify!(disp_pipe_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).enable) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(enable_disp_power_gating_parameters_v2_1), "::", stringify!(enable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(enable_disp_power_gating_parameters_v2_1), "::", stringify!(padding) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct enable_disp_power_gating_ps_allocation { pub param: enable_disp_power_gating_parameters_v2_1, pub ulReserved: [u32; 4usize], } #[test] fn bindgen_test_layout_enable_disp_power_gating_ps_allocation() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 20usize, concat!( "Size of: ", stringify!(enable_disp_power_gating_ps_allocation) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(enable_disp_power_gating_ps_allocation) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).param) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(enable_disp_power_gating_ps_allocation), "::", stringify!(param) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ulReserved) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(enable_disp_power_gating_ps_allocation), "::", stringify!(ulReserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct set_crtc_using_dtd_timing_parameters { pub h_size: u16, pub h_blanking_time: u16, pub v_size: u16, pub v_blanking_time: u16, pub h_syncoffset: u16, pub h_syncwidth: u16, pub v_syncoffset: u16, pub v_syncwidth: u16, pub modemiscinfo: u16, pub h_border: u8, pub v_border: u8, pub crtc_id: u8, pub encoder_mode: u8, pub padding: [u8; 2usize], } #[test] fn bindgen_test_layout_set_crtc_using_dtd_timing_parameters() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 24usize, concat!( "Size of: ", stringify!(set_crtc_using_dtd_timing_parameters) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(set_crtc_using_dtd_timing_parameters) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).h_size) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(set_crtc_using_dtd_timing_parameters), "::", stringify!(h_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).h_blanking_time) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(set_crtc_using_dtd_timing_parameters), "::", stringify!(h_blanking_time) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).v_size) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(set_crtc_using_dtd_timing_parameters), "::", stringify!(v_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).v_blanking_time) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(set_crtc_using_dtd_timing_parameters), "::", stringify!(v_blanking_time) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).h_syncoffset) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(set_crtc_using_dtd_timing_parameters), "::", stringify!(h_syncoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).h_syncwidth) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(set_crtc_using_dtd_timing_parameters), "::", stringify!(h_syncwidth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).v_syncoffset) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(set_crtc_using_dtd_timing_parameters), "::", stringify!(v_syncoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).v_syncwidth) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(set_crtc_using_dtd_timing_parameters), "::", stringify!(v_syncwidth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).modemiscinfo) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(set_crtc_using_dtd_timing_parameters), "::", stringify!(modemiscinfo) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).h_border) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(set_crtc_using_dtd_timing_parameters), "::", stringify!(h_border) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).v_border) as usize - ptr as usize }, 19usize, concat!( "Offset of field: ", stringify!(set_crtc_using_dtd_timing_parameters), "::", stringify!(v_border) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(set_crtc_using_dtd_timing_parameters), "::", stringify!(crtc_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).encoder_mode) as usize - ptr as usize }, 21usize, concat!( "Offset of field: ", stringify!(set_crtc_using_dtd_timing_parameters), "::", stringify!(encoder_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(set_crtc_using_dtd_timing_parameters), "::", stringify!(padding) ) ); } #[repr(C, packed)] #[derive(Copy, Clone)] pub struct process_i2c_channel_transaction_parameters { pub i2cspeed_khz: u8, pub regind_status: process_i2c_channel_transaction_parameters__bindgen_ty_1, pub i2c_data_out: u16, pub flag: u8, pub trans_bytes: u8, pub slave_addr: u8, pub i2c_id: u8, } #[repr(C)] #[derive(Copy, Clone)] pub union process_i2c_channel_transaction_parameters__bindgen_ty_1 { pub regindex: u8, pub status: u8, } #[test] fn bindgen_test_layout_process_i2c_channel_transaction_parameters__bindgen_ty_1() { const UNINIT: ::core::mem::MaybeUninit< process_i2c_channel_transaction_parameters__bindgen_ty_1, > = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 1usize, concat!( "Size of: ", stringify!(process_i2c_channel_transaction_parameters__bindgen_ty_1) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(process_i2c_channel_transaction_parameters__bindgen_ty_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regindex) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(process_i2c_channel_transaction_parameters__bindgen_ty_1), "::", stringify!(regindex) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).status) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(process_i2c_channel_transaction_parameters__bindgen_ty_1), "::", stringify!(status) ) ); } #[test] fn bindgen_test_layout_process_i2c_channel_transaction_parameters() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!( "Size of: ", stringify!(process_i2c_channel_transaction_parameters) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(process_i2c_channel_transaction_parameters) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2cspeed_khz) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(process_i2c_channel_transaction_parameters), "::", stringify!(i2cspeed_khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).regind_status) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(process_i2c_channel_transaction_parameters), "::", stringify!(regind_status) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_data_out) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(process_i2c_channel_transaction_parameters), "::", stringify!(i2c_data_out) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).flag) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(process_i2c_channel_transaction_parameters), "::", stringify!(flag) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).trans_bytes) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(process_i2c_channel_transaction_parameters), "::", stringify!(trans_bytes) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).slave_addr) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(process_i2c_channel_transaction_parameters), "::", stringify!(slave_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).i2c_id) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(process_i2c_channel_transaction_parameters), "::", stringify!(i2c_id) ) ); } pub const atom_process_i2c_flag_HW_I2C_WRITE: atom_process_i2c_flag = 1; pub const atom_process_i2c_flag_HW_I2C_READ: atom_process_i2c_flag = 0; pub const atom_process_i2c_flag_I2C_2BYTE_ADDR: atom_process_i2c_flag = 2; pub const atom_process_i2c_flag_HW_I2C_SMBUS_BYTE_WR: atom_process_i2c_flag = 4; pub type atom_process_i2c_flag = ::core::ffi::c_uint; pub const atom_process_i2c_status_HW_ASSISTED_I2C_STATUS_FAILURE: atom_process_i2c_status = 2; pub const atom_process_i2c_status_HW_ASSISTED_I2C_STATUS_SUCCESS: atom_process_i2c_status = 1; pub type atom_process_i2c_status = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Copy, Clone)] pub struct process_aux_channel_transaction_parameters_v1_2 { pub aux_request: u16, pub dataout: u16, pub channelid: u8, pub aux_status_delay: process_aux_channel_transaction_parameters_v1_2__bindgen_ty_1, pub dataout_len: u8, pub hpd_id: u8, } #[repr(C)] #[derive(Copy, Clone)] pub union process_aux_channel_transaction_parameters_v1_2__bindgen_ty_1 { pub reply_status: u8, pub aux_delay: u8, } #[test] fn bindgen_test_layout_process_aux_channel_transaction_parameters_v1_2__bindgen_ty_1() { const UNINIT: ::core::mem::MaybeUninit< process_aux_channel_transaction_parameters_v1_2__bindgen_ty_1, > = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 1usize, concat!( "Size of: ", stringify!(process_aux_channel_transaction_parameters_v1_2__bindgen_ty_1) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(process_aux_channel_transaction_parameters_v1_2__bindgen_ty_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reply_status) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(process_aux_channel_transaction_parameters_v1_2__bindgen_ty_1), "::", stringify!(reply_status) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).aux_delay) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(process_aux_channel_transaction_parameters_v1_2__bindgen_ty_1), "::", stringify!(aux_delay) ) ); } #[test] fn bindgen_test_layout_process_aux_channel_transaction_parameters_v1_2() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!( "Size of: ", stringify!(process_aux_channel_transaction_parameters_v1_2) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(process_aux_channel_transaction_parameters_v1_2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).aux_request) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(process_aux_channel_transaction_parameters_v1_2), "::", stringify!(aux_request) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dataout) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(process_aux_channel_transaction_parameters_v1_2), "::", stringify!(dataout) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).channelid) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(process_aux_channel_transaction_parameters_v1_2), "::", stringify!(channelid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).aux_status_delay) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(process_aux_channel_transaction_parameters_v1_2), "::", stringify!(aux_status_delay) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dataout_len) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(process_aux_channel_transaction_parameters_v1_2), "::", stringify!(dataout_len) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hpd_id) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(process_aux_channel_transaction_parameters_v1_2), "::", stringify!(hpd_id) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct select_crtc_source_parameters_v2_3 { pub crtc_id: u8, pub encoder_id: u8, pub encode_mode: u8, pub dst_bpc: u8, } #[test] fn bindgen_test_layout_select_crtc_source_parameters_v2_3() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(select_crtc_source_parameters_v2_3)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(select_crtc_source_parameters_v2_3) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(select_crtc_source_parameters_v2_3), "::", stringify!(crtc_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).encoder_id) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(select_crtc_source_parameters_v2_3), "::", stringify!(encoder_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).encode_mode) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(select_crtc_source_parameters_v2_3), "::", stringify!(encode_mode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dst_bpc) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(select_crtc_source_parameters_v2_3), "::", stringify!(dst_bpc) ) ); } pub const atom_dig_encoder_control_action_ATOM_ENCODER_CMD_DISABLE_DIG: atom_dig_encoder_control_action = 0; pub const atom_dig_encoder_control_action_ATOM_ENCODER_CMD_ENABLE_DIG: atom_dig_encoder_control_action = 1; pub const atom_dig_encoder_control_action_ATOM_ENCODER_CMD_DP_LINK_TRAINING_START: atom_dig_encoder_control_action = 8; pub const atom_dig_encoder_control_action_ATOM_ENCODER_CMD_DP_LINK_TRAINING_PATTERN1: atom_dig_encoder_control_action = 9; pub const atom_dig_encoder_control_action_ATOM_ENCODER_CMD_DP_LINK_TRAINING_PATTERN2: atom_dig_encoder_control_action = 10; pub const atom_dig_encoder_control_action_ATOM_ENCODER_CMD_DP_LINK_TRAINING_PATTERN3: atom_dig_encoder_control_action = 19; pub const atom_dig_encoder_control_action_ATOM_ENCODER_CMD_DP_LINK_TRAINING_COMPLETE: atom_dig_encoder_control_action = 11; pub const atom_dig_encoder_control_action_ATOM_ENCODER_CMD_DP_VIDEO_OFF: atom_dig_encoder_control_action = 12; pub const atom_dig_encoder_control_action_ATOM_ENCODER_CMD_DP_VIDEO_ON: atom_dig_encoder_control_action = 13; pub const atom_dig_encoder_control_action_ATOM_ENCODER_CMD_SETUP_PANEL_MODE: atom_dig_encoder_control_action = 16; pub const atom_dig_encoder_control_action_ATOM_ENCODER_CMD_DP_LINK_TRAINING_PATTERN4: atom_dig_encoder_control_action = 20; pub const atom_dig_encoder_control_action_ATOM_ENCODER_CMD_STREAM_SETUP: atom_dig_encoder_control_action = 15; pub const atom_dig_encoder_control_action_ATOM_ENCODER_CMD_LINK_SETUP: atom_dig_encoder_control_action = 17; pub const atom_dig_encoder_control_action_ATOM_ENCODER_CMD_ENCODER_BLANK: atom_dig_encoder_control_action = 18; pub type atom_dig_encoder_control_action = ::core::ffi::c_uint; pub const atom_dig_encoder_control_panelmode_DP_PANEL_MODE_DISABLE: atom_dig_encoder_control_panelmode = 0; pub const atom_dig_encoder_control_panelmode_DP_PANEL_MODE_ENABLE_eDP_MODE: atom_dig_encoder_control_panelmode = 1; pub const atom_dig_encoder_control_panelmode_DP_PANEL_MODE_ENABLE_LVLINK_MODE: atom_dig_encoder_control_panelmode = 17; pub type atom_dig_encoder_control_panelmode = ::core::ffi::c_uint; pub const atom_dig_encoder_control_v5_digid_ATOM_ENCODER_CONFIG_V5_DIG0_ENCODER: atom_dig_encoder_control_v5_digid = 0; pub const atom_dig_encoder_control_v5_digid_ATOM_ENCODER_CONFIG_V5_DIG1_ENCODER: atom_dig_encoder_control_v5_digid = 1; pub const atom_dig_encoder_control_v5_digid_ATOM_ENCODER_CONFIG_V5_DIG2_ENCODER: atom_dig_encoder_control_v5_digid = 2; pub const atom_dig_encoder_control_v5_digid_ATOM_ENCODER_CONFIG_V5_DIG3_ENCODER: atom_dig_encoder_control_v5_digid = 3; pub const atom_dig_encoder_control_v5_digid_ATOM_ENCODER_CONFIG_V5_DIG4_ENCODER: atom_dig_encoder_control_v5_digid = 4; pub const atom_dig_encoder_control_v5_digid_ATOM_ENCODER_CONFIG_V5_DIG5_ENCODER: atom_dig_encoder_control_v5_digid = 5; pub const atom_dig_encoder_control_v5_digid_ATOM_ENCODER_CONFIG_V5_DIG6_ENCODER: atom_dig_encoder_control_v5_digid = 6; pub const atom_dig_encoder_control_v5_digid_ATOM_ENCODER_CONFIG_V5_DIG7_ENCODER: atom_dig_encoder_control_v5_digid = 7; pub type atom_dig_encoder_control_v5_digid = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct dig_encoder_stream_setup_parameters_v1_5 { pub digid: u8, pub action: u8, pub digmode: u8, pub lanenum: u8, pub pclk_10khz: u32, pub bitpercolor: u8, pub dplinkrate_270mhz: u8, pub reserved: [u8; 2usize], } #[test] fn bindgen_test_layout_dig_encoder_stream_setup_parameters_v1_5() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 12usize, concat!( "Size of: ", stringify!(dig_encoder_stream_setup_parameters_v1_5) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(dig_encoder_stream_setup_parameters_v1_5) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).digid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dig_encoder_stream_setup_parameters_v1_5), "::", stringify!(digid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).action) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(dig_encoder_stream_setup_parameters_v1_5), "::", stringify!(action) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).digmode) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(dig_encoder_stream_setup_parameters_v1_5), "::", stringify!(digmode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lanenum) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(dig_encoder_stream_setup_parameters_v1_5), "::", stringify!(lanenum) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pclk_10khz) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(dig_encoder_stream_setup_parameters_v1_5), "::", stringify!(pclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bitpercolor) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(dig_encoder_stream_setup_parameters_v1_5), "::", stringify!(bitpercolor) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dplinkrate_270mhz) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(dig_encoder_stream_setup_parameters_v1_5), "::", stringify!(dplinkrate_270mhz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(dig_encoder_stream_setup_parameters_v1_5), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct dig_encoder_link_setup_parameters_v1_5 { pub digid: u8, pub action: u8, pub digmode: u8, pub lanenum: u8, pub symclk_10khz: u8, pub hpd_sel: u8, pub digfe_sel: u8, pub reserved: [u8; 2usize], } #[test] fn bindgen_test_layout_dig_encoder_link_setup_parameters_v1_5() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 9usize, concat!( "Size of: ", stringify!(dig_encoder_link_setup_parameters_v1_5) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(dig_encoder_link_setup_parameters_v1_5) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).digid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dig_encoder_link_setup_parameters_v1_5), "::", stringify!(digid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).action) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(dig_encoder_link_setup_parameters_v1_5), "::", stringify!(action) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).digmode) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(dig_encoder_link_setup_parameters_v1_5), "::", stringify!(digmode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lanenum) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(dig_encoder_link_setup_parameters_v1_5), "::", stringify!(lanenum) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).symclk_10khz) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(dig_encoder_link_setup_parameters_v1_5), "::", stringify!(symclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hpd_sel) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(dig_encoder_link_setup_parameters_v1_5), "::", stringify!(hpd_sel) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).digfe_sel) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(dig_encoder_link_setup_parameters_v1_5), "::", stringify!(digfe_sel) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(dig_encoder_link_setup_parameters_v1_5), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct dp_panel_mode_set_parameters_v1_5 { pub digid: u8, pub action: u8, pub panelmode: u8, pub reserved1: u8, pub reserved2: [u32; 2usize], } #[test] fn bindgen_test_layout_dp_panel_mode_set_parameters_v1_5() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(dp_panel_mode_set_parameters_v1_5)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(dp_panel_mode_set_parameters_v1_5) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).digid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dp_panel_mode_set_parameters_v1_5), "::", stringify!(digid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).action) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(dp_panel_mode_set_parameters_v1_5), "::", stringify!(action) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).panelmode) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(dp_panel_mode_set_parameters_v1_5), "::", stringify!(panelmode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(dp_panel_mode_set_parameters_v1_5), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(dp_panel_mode_set_parameters_v1_5), "::", stringify!(reserved2) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct dig_encoder_generic_cmd_parameters_v1_5 { pub digid: u8, pub action: u8, pub reserved1: [u8; 2usize], pub reserved2: [u32; 2usize], } #[test] fn bindgen_test_layout_dig_encoder_generic_cmd_parameters_v1_5() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 12usize, concat!( "Size of: ", stringify!(dig_encoder_generic_cmd_parameters_v1_5) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(dig_encoder_generic_cmd_parameters_v1_5) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).digid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dig_encoder_generic_cmd_parameters_v1_5), "::", stringify!(digid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).action) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(dig_encoder_generic_cmd_parameters_v1_5), "::", stringify!(action) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(dig_encoder_generic_cmd_parameters_v1_5), "::", stringify!(reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(dig_encoder_generic_cmd_parameters_v1_5), "::", stringify!(reserved2) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub union dig_encoder_control_parameters_v1_5 { pub cmd_param: dig_encoder_generic_cmd_parameters_v1_5, pub stream_param: dig_encoder_stream_setup_parameters_v1_5, pub link_param: dig_encoder_link_setup_parameters_v1_5, pub dppanel_param: dp_panel_mode_set_parameters_v1_5, } #[test] fn bindgen_test_layout_dig_encoder_control_parameters_v1_5() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(dig_encoder_control_parameters_v1_5)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(dig_encoder_control_parameters_v1_5) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cmd_param) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dig_encoder_control_parameters_v1_5), "::", stringify!(cmd_param) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).stream_param) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dig_encoder_control_parameters_v1_5), "::", stringify!(stream_param) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).link_param) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dig_encoder_control_parameters_v1_5), "::", stringify!(link_param) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dppanel_param) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dig_encoder_control_parameters_v1_5), "::", stringify!(dppanel_param) ) ); } #[repr(C, packed)] #[derive(Copy, Clone)] pub struct dig_transmitter_control_parameters_v1_6 { pub phyid: u8, pub action: u8, pub mode_laneset: dig_transmitter_control_parameters_v1_6__bindgen_ty_1, pub lanenum: u8, pub symclk_10khz: u32, pub hpdsel: u8, pub digfe_sel: u8, pub connobj_id: u8, pub reserved: u8, pub reserved1: u32, } #[repr(C)] #[derive(Copy, Clone)] pub union dig_transmitter_control_parameters_v1_6__bindgen_ty_1 { pub digmode: u8, pub dplaneset: u8, } #[test] fn bindgen_test_layout_dig_transmitter_control_parameters_v1_6__bindgen_ty_1() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 1usize, concat!( "Size of: ", stringify!(dig_transmitter_control_parameters_v1_6__bindgen_ty_1) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(dig_transmitter_control_parameters_v1_6__bindgen_ty_1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).digmode) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dig_transmitter_control_parameters_v1_6__bindgen_ty_1), "::", stringify!(digmode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dplaneset) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dig_transmitter_control_parameters_v1_6__bindgen_ty_1), "::", stringify!(dplaneset) ) ); } #[test] fn bindgen_test_layout_dig_transmitter_control_parameters_v1_6() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(dig_transmitter_control_parameters_v1_6) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(dig_transmitter_control_parameters_v1_6) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).phyid) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dig_transmitter_control_parameters_v1_6), "::", stringify!(phyid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).action) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(dig_transmitter_control_parameters_v1_6), "::", stringify!(action) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mode_laneset) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(dig_transmitter_control_parameters_v1_6), "::", stringify!(mode_laneset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lanenum) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(dig_transmitter_control_parameters_v1_6), "::", stringify!(lanenum) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).symclk_10khz) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(dig_transmitter_control_parameters_v1_6), "::", stringify!(symclk_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hpdsel) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(dig_transmitter_control_parameters_v1_6), "::", stringify!(hpdsel) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).digfe_sel) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(dig_transmitter_control_parameters_v1_6), "::", stringify!(digfe_sel) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).connobj_id) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(dig_transmitter_control_parameters_v1_6), "::", stringify!(connobj_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 11usize, concat!( "Offset of field: ", stringify!(dig_transmitter_control_parameters_v1_6), "::", stringify!(reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(dig_transmitter_control_parameters_v1_6), "::", stringify!(reserved1) ) ); } #[repr(C, packed)] #[derive(Copy, Clone)] pub struct dig_transmitter_control_ps_allocation_v1_6 { pub param: dig_transmitter_control_parameters_v1_6, pub reserved: [u32; 4usize], } #[test] fn bindgen_test_layout_dig_transmitter_control_ps_allocation_v1_6() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 32usize, concat!( "Size of: ", stringify!(dig_transmitter_control_ps_allocation_v1_6) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(dig_transmitter_control_ps_allocation_v1_6) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).param) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(dig_transmitter_control_ps_allocation_v1_6), "::", stringify!(param) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(dig_transmitter_control_ps_allocation_v1_6), "::", stringify!(reserved) ) ); } pub const atom_dig_transmitter_control_action_ATOM_TRANSMITTER_ACTION_DISABLE: atom_dig_transmitter_control_action = 0; pub const atom_dig_transmitter_control_action_ATOM_TRANSMITTER_ACTION_ENABLE: atom_dig_transmitter_control_action = 1; pub const atom_dig_transmitter_control_action_ATOM_TRANSMITTER_ACTION_LCD_BLOFF: atom_dig_transmitter_control_action = 2; pub const atom_dig_transmitter_control_action_ATOM_TRANSMITTER_ACTION_LCD_BLON: atom_dig_transmitter_control_action = 3; pub const atom_dig_transmitter_control_action_ATOM_TRANSMITTER_ACTION_BL_BRIGHTNESS_CONTROL: atom_dig_transmitter_control_action = 4; pub const atom_dig_transmitter_control_action_ATOM_TRANSMITTER_ACTION_LCD_SELFTEST_START: atom_dig_transmitter_control_action = 5; pub const atom_dig_transmitter_control_action_ATOM_TRANSMITTER_ACTION_LCD_SELFTEST_STOP: atom_dig_transmitter_control_action = 6; pub const atom_dig_transmitter_control_action_ATOM_TRANSMITTER_ACTION_INIT: atom_dig_transmitter_control_action = 7; pub const atom_dig_transmitter_control_action_ATOM_TRANSMITTER_ACTION_DISABLE_OUTPUT: atom_dig_transmitter_control_action = 8; pub const atom_dig_transmitter_control_action_ATOM_TRANSMITTER_ACTION_ENABLE_OUTPUT: atom_dig_transmitter_control_action = 9; pub const atom_dig_transmitter_control_action_ATOM_TRANSMITTER_ACTION_SETUP: atom_dig_transmitter_control_action = 10; pub const atom_dig_transmitter_control_action_ATOM_TRANSMITTER_ACTION_SETUP_VSEMPH: atom_dig_transmitter_control_action = 11; pub const atom_dig_transmitter_control_action_ATOM_TRANSMITTER_ACTION_POWER_ON: atom_dig_transmitter_control_action = 12; pub const atom_dig_transmitter_control_action_ATOM_TRANSMITTER_ACTION_POWER_OFF: atom_dig_transmitter_control_action = 13; pub type atom_dig_transmitter_control_action = ::core::ffi::c_uint; pub const atom_dig_transmitter_control_digfe_sel_ATOM_TRANMSITTER_V6__DIGA_SEL: atom_dig_transmitter_control_digfe_sel = 1; pub const atom_dig_transmitter_control_digfe_sel_ATOM_TRANMSITTER_V6__DIGB_SEL: atom_dig_transmitter_control_digfe_sel = 2; pub const atom_dig_transmitter_control_digfe_sel_ATOM_TRANMSITTER_V6__DIGC_SEL: atom_dig_transmitter_control_digfe_sel = 4; pub const atom_dig_transmitter_control_digfe_sel_ATOM_TRANMSITTER_V6__DIGD_SEL: atom_dig_transmitter_control_digfe_sel = 8; pub const atom_dig_transmitter_control_digfe_sel_ATOM_TRANMSITTER_V6__DIGE_SEL: atom_dig_transmitter_control_digfe_sel = 16; pub const atom_dig_transmitter_control_digfe_sel_ATOM_TRANMSITTER_V6__DIGF_SEL: atom_dig_transmitter_control_digfe_sel = 32; pub const atom_dig_transmitter_control_digfe_sel_ATOM_TRANMSITTER_V6__DIGG_SEL: atom_dig_transmitter_control_digfe_sel = 64; pub type atom_dig_transmitter_control_digfe_sel = ::core::ffi::c_uint; pub const atom_dig_transmitter_control_hpd_sel_ATOM_TRANSMITTER_V6_NO_HPD_SEL: atom_dig_transmitter_control_hpd_sel = 0; pub const atom_dig_transmitter_control_hpd_sel_ATOM_TRANSMITTER_V6_HPD1_SEL: atom_dig_transmitter_control_hpd_sel = 1; pub const atom_dig_transmitter_control_hpd_sel_ATOM_TRANSMITTER_V6_HPD2_SEL: atom_dig_transmitter_control_hpd_sel = 2; pub const atom_dig_transmitter_control_hpd_sel_ATOM_TRANSMITTER_V6_HPD3_SEL: atom_dig_transmitter_control_hpd_sel = 3; pub const atom_dig_transmitter_control_hpd_sel_ATOM_TRANSMITTER_V6_HPD4_SEL: atom_dig_transmitter_control_hpd_sel = 4; pub const atom_dig_transmitter_control_hpd_sel_ATOM_TRANSMITTER_V6_HPD5_SEL: atom_dig_transmitter_control_hpd_sel = 5; pub const atom_dig_transmitter_control_hpd_sel_ATOM_TRANSMITTER_V6_HPD6_SEL: atom_dig_transmitter_control_hpd_sel = 6; pub type atom_dig_transmitter_control_hpd_sel = ::core::ffi::c_uint; pub const atom_dig_transmitter_control_dplaneset_DP_LANE_SET__0DB_0_4V: atom_dig_transmitter_control_dplaneset = 0; pub const atom_dig_transmitter_control_dplaneset_DP_LANE_SET__0DB_0_6V: atom_dig_transmitter_control_dplaneset = 1; pub const atom_dig_transmitter_control_dplaneset_DP_LANE_SET__0DB_0_8V: atom_dig_transmitter_control_dplaneset = 2; pub const atom_dig_transmitter_control_dplaneset_DP_LANE_SET__0DB_1_2V: atom_dig_transmitter_control_dplaneset = 3; pub const atom_dig_transmitter_control_dplaneset_DP_LANE_SET__3_5DB_0_4V: atom_dig_transmitter_control_dplaneset = 8; pub const atom_dig_transmitter_control_dplaneset_DP_LANE_SET__3_5DB_0_6V: atom_dig_transmitter_control_dplaneset = 9; pub const atom_dig_transmitter_control_dplaneset_DP_LANE_SET__3_5DB_0_8V: atom_dig_transmitter_control_dplaneset = 10; pub const atom_dig_transmitter_control_dplaneset_DP_LANE_SET__6DB_0_4V: atom_dig_transmitter_control_dplaneset = 16; pub const atom_dig_transmitter_control_dplaneset_DP_LANE_SET__6DB_0_6V: atom_dig_transmitter_control_dplaneset = 17; pub const atom_dig_transmitter_control_dplaneset_DP_LANE_SET__9_5DB_0_4V: atom_dig_transmitter_control_dplaneset = 24; pub type atom_dig_transmitter_control_dplaneset = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct external_encoder_control_parameters_v2_4 { pub pixelclock_10khz: u16, pub config: u8, pub action: u8, pub encodermode: u8, pub lanenum: u8, pub bitpercolor: u8, pub hpd_id: u8, } #[test] fn bindgen_test_layout_external_encoder_control_parameters_v2_4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!( "Size of: ", stringify!(external_encoder_control_parameters_v2_4) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(external_encoder_control_parameters_v2_4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pixelclock_10khz) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(external_encoder_control_parameters_v2_4), "::", stringify!(pixelclock_10khz) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).config) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(external_encoder_control_parameters_v2_4), "::", stringify!(config) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).action) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(external_encoder_control_parameters_v2_4), "::", stringify!(action) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).encodermode) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(external_encoder_control_parameters_v2_4), "::", stringify!(encodermode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lanenum) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(external_encoder_control_parameters_v2_4), "::", stringify!(lanenum) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).bitpercolor) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(external_encoder_control_parameters_v2_4), "::", stringify!(bitpercolor) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).hpd_id) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(external_encoder_control_parameters_v2_4), "::", stringify!(hpd_id) ) ); } pub const external_encoder_control_action_def_EXTERNAL_ENCODER_ACTION_V3_DISABLE_OUTPUT: external_encoder_control_action_def = 0; pub const external_encoder_control_action_def_EXTERNAL_ENCODER_ACTION_V3_ENABLE_OUTPUT: external_encoder_control_action_def = 1; pub const external_encoder_control_action_def_EXTERNAL_ENCODER_ACTION_V3_ENCODER_INIT: external_encoder_control_action_def = 7; pub const external_encoder_control_action_def_EXTERNAL_ENCODER_ACTION_V3_ENCODER_SETUP: external_encoder_control_action_def = 15; pub const external_encoder_control_action_def_EXTERNAL_ENCODER_ACTION_V3_ENCODER_BLANKING_OFF: external_encoder_control_action_def = 16; pub const external_encoder_control_action_def_EXTERNAL_ENCODER_ACTION_V3_ENCODER_BLANKING: external_encoder_control_action_def = 17; pub const external_encoder_control_action_def_EXTERNAL_ENCODER_ACTION_V3_DACLOAD_DETECTION: external_encoder_control_action_def = 18; pub const external_encoder_control_action_def_EXTERNAL_ENCODER_ACTION_V3_DDC_SETUP: external_encoder_control_action_def = 20; pub type external_encoder_control_action_def = ::core::ffi::c_uint; pub const external_encoder_control_v2_4_config_def_EXTERNAL_ENCODER_CONFIG_V3_DPLINKRATE_MASK: external_encoder_control_v2_4_config_def = 3; pub const external_encoder_control_v2_4_config_def_EXTERNAL_ENCODER_CONFIG_V3_DPLINKRATE_1_62GHZ: external_encoder_control_v2_4_config_def = 0; pub const external_encoder_control_v2_4_config_def_EXTERNAL_ENCODER_CONFIG_V3_DPLINKRATE_2_70GHZ: external_encoder_control_v2_4_config_def = 1; pub const external_encoder_control_v2_4_config_def_EXTERNAL_ENCODER_CONFIG_V3_DPLINKRATE_5_40GHZ: external_encoder_control_v2_4_config_def = 2; pub const external_encoder_control_v2_4_config_def_EXTERNAL_ENCODER_CONFIG_V3_DPLINKRATE_3_24GHZ: external_encoder_control_v2_4_config_def = 3; pub const external_encoder_control_v2_4_config_def_EXTERNAL_ENCODER_CONFIG_V3_ENCODER_SEL_MAKS: external_encoder_control_v2_4_config_def = 112; pub const external_encoder_control_v2_4_config_def_EXTERNAL_ENCODER_CONFIG_V3_ENCODER1: external_encoder_control_v2_4_config_def = 0; pub const external_encoder_control_v2_4_config_def_EXTERNAL_ENCODER_CONFIG_V3_ENCODER2: external_encoder_control_v2_4_config_def = 16; pub const external_encoder_control_v2_4_config_def_EXTERNAL_ENCODER_CONFIG_V3_ENCODER3: external_encoder_control_v2_4_config_def = 32; pub type external_encoder_control_v2_4_config_def = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct external_encoder_control_ps_allocation_v2_4 { pub sExtEncoder: external_encoder_control_parameters_v2_4, pub reserved: [u32; 2usize], } #[test] fn bindgen_test_layout_external_encoder_control_ps_allocation_v2_4() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(external_encoder_control_ps_allocation_v2_4) ) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(external_encoder_control_ps_allocation_v2_4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sExtEncoder) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(external_encoder_control_ps_allocation_v2_4), "::", stringify!(sExtEncoder) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(external_encoder_control_ps_allocation_v2_4), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct amd_acpi_description_header { pub signature: u32, pub tableLength: u32, pub revision: u8, pub checksum: u8, pub oemId: [u8; 6usize], pub oemTableId: [u8; 8usize], pub oemRevision: u32, pub creatorId: u32, pub creatorRevision: u32, } #[test] fn bindgen_test_layout_amd_acpi_description_header() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 36usize, concat!("Size of: ", stringify!(amd_acpi_description_header)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(amd_acpi_description_header)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).signature) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(amd_acpi_description_header), "::", stringify!(signature) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tableLength) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(amd_acpi_description_header), "::", stringify!(tableLength) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).revision) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(amd_acpi_description_header), "::", stringify!(revision) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).checksum) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(amd_acpi_description_header), "::", stringify!(checksum) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).oemId) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(amd_acpi_description_header), "::", stringify!(oemId) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).oemTableId) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(amd_acpi_description_header), "::", stringify!(oemTableId) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).oemRevision) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(amd_acpi_description_header), "::", stringify!(oemRevision) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).creatorId) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(amd_acpi_description_header), "::", stringify!(creatorId) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).creatorRevision) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(amd_acpi_description_header), "::", stringify!(creatorRevision) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct uefi_acpi_vfct { pub sheader: amd_acpi_description_header, pub tableUUID: [u8; 16usize], pub vbiosimageoffset: u32, pub lib1Imageoffset: u32, pub reserved: [u32; 4usize], } #[test] fn bindgen_test_layout_uefi_acpi_vfct() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 76usize, concat!("Size of: ", stringify!(uefi_acpi_vfct)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(uefi_acpi_vfct)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).sheader) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(uefi_acpi_vfct), "::", stringify!(sheader) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).tableUUID) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(uefi_acpi_vfct), "::", stringify!(tableUUID) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vbiosimageoffset) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(uefi_acpi_vfct), "::", stringify!(vbiosimageoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lib1Imageoffset) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(uefi_acpi_vfct), "::", stringify!(lib1Imageoffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(uefi_acpi_vfct), "::", stringify!(reserved) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct vfct_image_header { pub pcibus: u32, pub pcidevice: u32, pub pcifunction: u32, pub vendorid: u16, pub deviceid: u16, pub ssvid: u16, pub ssid: u16, pub revision: u32, pub imagelength: u32, } #[test] fn bindgen_test_layout_vfct_image_header() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 28usize, concat!("Size of: ", stringify!(vfct_image_header)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(vfct_image_header)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcibus) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(vfct_image_header), "::", stringify!(pcibus) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcidevice) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(vfct_image_header), "::", stringify!(pcidevice) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pcifunction) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(vfct_image_header), "::", stringify!(pcifunction) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vendorid) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(vfct_image_header), "::", stringify!(vendorid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).deviceid) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(vfct_image_header), "::", stringify!(deviceid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ssvid) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(vfct_image_header), "::", stringify!(ssvid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ssid) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(vfct_image_header), "::", stringify!(ssid) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).revision) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(vfct_image_header), "::", stringify!(revision) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).imagelength) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(vfct_image_header), "::", stringify!(imagelength) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct gop_vbios_content { pub vbiosheader: vfct_image_header, pub vbioscontent: [u8; 1usize], } #[test] fn bindgen_test_layout_gop_vbios_content() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 29usize, concat!("Size of: ", stringify!(gop_vbios_content)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(gop_vbios_content)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vbiosheader) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(gop_vbios_content), "::", stringify!(vbiosheader) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).vbioscontent) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(gop_vbios_content), "::", stringify!(vbioscontent) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct gop_lib1_content { pub lib1header: vfct_image_header, pub lib1content: [u8; 1usize], } #[test] fn bindgen_test_layout_gop_lib1_content() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 29usize, concat!("Size of: ", stringify!(gop_lib1_content)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(gop_lib1_content)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lib1header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(gop_lib1_content), "::", stringify!(lib1header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).lib1content) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(gop_lib1_content), "::", stringify!(lib1content) ) ); } pub const scratch_register_def_ATOM_DEVICE_CONNECT_INFO_DEF: scratch_register_def = 0; pub const scratch_register_def_ATOM_BL_BRI_LEVEL_INFO_DEF: scratch_register_def = 2; pub const scratch_register_def_ATOM_ACTIVE_INFO_DEF: scratch_register_def = 3; pub const scratch_register_def_ATOM_LCD_INFO_DEF: scratch_register_def = 4; pub const scratch_register_def_ATOM_DEVICE_REQ_INFO_DEF: scratch_register_def = 5; pub const scratch_register_def_ATOM_ACC_CHANGE_INFO_DEF: scratch_register_def = 6; pub const scratch_register_def_ATOM_PRE_OS_MODE_INFO_DEF: scratch_register_def = 7; pub const scratch_register_def_ATOM_PRE_OS_ASSERTION_DEF: scratch_register_def = 8; pub const scratch_register_def_ATOM_INTERNAL_TIMER_INFO_DEF: scratch_register_def = 10; pub type scratch_register_def = ::core::ffi::c_uint; pub const scratch_device_connect_info_bit_def_ATOM_DISPLAY_LCD1_CONNECT: scratch_device_connect_info_bit_def = 2; pub const scratch_device_connect_info_bit_def_ATOM_DISPLAY_DFP1_CONNECT: scratch_device_connect_info_bit_def = 8; pub const scratch_device_connect_info_bit_def_ATOM_DISPLAY_DFP2_CONNECT: scratch_device_connect_info_bit_def = 128; pub const scratch_device_connect_info_bit_def_ATOM_DISPLAY_DFP3_CONNECT: scratch_device_connect_info_bit_def = 512; pub const scratch_device_connect_info_bit_def_ATOM_DISPLAY_DFP4_CONNECT: scratch_device_connect_info_bit_def = 1024; pub const scratch_device_connect_info_bit_def_ATOM_DISPLAY_DFP5_CONNECT: scratch_device_connect_info_bit_def = 2048; pub const scratch_device_connect_info_bit_def_ATOM_DISPLAY_DFP6_CONNECT: scratch_device_connect_info_bit_def = 64; pub const scratch_device_connect_info_bit_def_ATOM_DISPLAY_DFPx_CONNECT: scratch_device_connect_info_bit_def = 3784; pub const scratch_device_connect_info_bit_def_ATOM_CONNECT_INFO_DEVICE_MASK: scratch_device_connect_info_bit_def = 4095; pub type scratch_device_connect_info_bit_def = ::core::ffi::c_uint; pub const scratch_bl_bri_level_info_bit_def_ATOM_CURRENT_BL_LEVEL_SHIFT: scratch_bl_bri_level_info_bit_def = 8; pub const scratch_bl_bri_level_info_bit_def_ATOM_CURRENT_BL_LEVEL_MASK: scratch_bl_bri_level_info_bit_def = 65280; pub const scratch_bl_bri_level_info_bit_def_ATOM_DEVICE_DPMS_STATE: scratch_bl_bri_level_info_bit_def = 65536; pub type scratch_bl_bri_level_info_bit_def = ::core::ffi::c_uint; pub const scratch_active_info_bits_def_ATOM_DISPLAY_LCD1_ACTIVE: scratch_active_info_bits_def = 2; pub const scratch_active_info_bits_def_ATOM_DISPLAY_DFP1_ACTIVE: scratch_active_info_bits_def = 8; pub const scratch_active_info_bits_def_ATOM_DISPLAY_DFP2_ACTIVE: scratch_active_info_bits_def = 128; pub const scratch_active_info_bits_def_ATOM_DISPLAY_DFP3_ACTIVE: scratch_active_info_bits_def = 512; pub const scratch_active_info_bits_def_ATOM_DISPLAY_DFP4_ACTIVE: scratch_active_info_bits_def = 1024; pub const scratch_active_info_bits_def_ATOM_DISPLAY_DFP5_ACTIVE: scratch_active_info_bits_def = 2048; pub const scratch_active_info_bits_def_ATOM_DISPLAY_DFP6_ACTIVE: scratch_active_info_bits_def = 64; pub const scratch_active_info_bits_def_ATOM_ACTIVE_INFO_DEVICE_MASK: scratch_active_info_bits_def = 4095; pub type scratch_active_info_bits_def = ::core::ffi::c_uint; pub const scratch_device_req_info_bits_def_ATOM_DISPLAY_LCD1_REQ: scratch_device_req_info_bits_def = 2; pub const scratch_device_req_info_bits_def_ATOM_DISPLAY_DFP1_REQ: scratch_device_req_info_bits_def = 8; pub const scratch_device_req_info_bits_def_ATOM_DISPLAY_DFP2_REQ: scratch_device_req_info_bits_def = 128; pub const scratch_device_req_info_bits_def_ATOM_DISPLAY_DFP3_REQ: scratch_device_req_info_bits_def = 512; pub const scratch_device_req_info_bits_def_ATOM_DISPLAY_DFP4_REQ: scratch_device_req_info_bits_def = 1024; pub const scratch_device_req_info_bits_def_ATOM_DISPLAY_DFP5_REQ: scratch_device_req_info_bits_def = 2048; pub const scratch_device_req_info_bits_def_ATOM_DISPLAY_DFP6_REQ: scratch_device_req_info_bits_def = 64; pub const scratch_device_req_info_bits_def_ATOM_REQ_INFO_DEVICE_MASK: scratch_device_req_info_bits_def = 4095; pub type scratch_device_req_info_bits_def = ::core::ffi::c_uint; pub const scratch_acc_change_info_bitshift_def_ATOM_ACC_CHANGE_ACC_MODE_SHIFT: scratch_acc_change_info_bitshift_def = 4; pub const scratch_acc_change_info_bitshift_def_ATOM_ACC_CHANGE_LID_STATUS_SHIFT: scratch_acc_change_info_bitshift_def = 6; pub type scratch_acc_change_info_bitshift_def = ::core::ffi::c_uint; pub const scratch_acc_change_info_bits_def_ATOM_ACC_CHANGE_ACC_MODE: scratch_acc_change_info_bits_def = 16; pub const scratch_acc_change_info_bits_def_ATOM_ACC_CHANGE_LID_STATUS: scratch_acc_change_info_bits_def = 64; pub type scratch_acc_change_info_bits_def = ::core::ffi::c_uint; pub const scratch_pre_os_mode_info_bits_def_ATOM_PRE_OS_MODE_MASK: scratch_pre_os_mode_info_bits_def = 3; pub const scratch_pre_os_mode_info_bits_def_ATOM_PRE_OS_MODE_VGA: scratch_pre_os_mode_info_bits_def = 0; pub const scratch_pre_os_mode_info_bits_def_ATOM_PRE_OS_MODE_VESA: scratch_pre_os_mode_info_bits_def = 1; pub const scratch_pre_os_mode_info_bits_def_ATOM_PRE_OS_MODE_GOP: scratch_pre_os_mode_info_bits_def = 2; pub const scratch_pre_os_mode_info_bits_def_ATOM_PRE_OS_MODE_PIXEL_DEPTH: scratch_pre_os_mode_info_bits_def = 12; pub const scratch_pre_os_mode_info_bits_def_ATOM_PRE_OS_MODE_PIXEL_FORMAT_MASK: scratch_pre_os_mode_info_bits_def = 240; pub const scratch_pre_os_mode_info_bits_def_ATOM_PRE_OS_MODE_8BIT_PAL_EN: scratch_pre_os_mode_info_bits_def = 256; pub const scratch_pre_os_mode_info_bits_def_ATOM_ASIC_INIT_COMPLETE: scratch_pre_os_mode_info_bits_def = 512; pub const scratch_pre_os_mode_info_bits_def_ATOM_PRE_OS_MODE_NUMBER_MASK: scratch_pre_os_mode_info_bits_def = 4294901760; pub type scratch_pre_os_mode_info_bits_def = ::core::ffi::c_uint; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__UTILITY_PIPELINE: atom_master_data_table_id = 0; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__MULTIMEDIA_INF: atom_master_data_table_id = 1; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__FIRMWARE_INF: atom_master_data_table_id = 2; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__LCD_INF: atom_master_data_table_id = 3; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__SMU_INF: atom_master_data_table_id = 4; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__VRAM_USAGE_BY_FIRMWARE: atom_master_data_table_id = 5; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__GPIO_PIN_LUT: atom_master_data_table_id = 6; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__GFX_INF: atom_master_data_table_id = 7; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__POWER_PLAY_INF: atom_master_data_table_id = 8; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__DISPLAY_OBJECT_INF: atom_master_data_table_id = 9; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__INDIRECT_IO_ACCESS: atom_master_data_table_id = 10; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__UMC_INF: atom_master_data_table_id = 11; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__DCE_INF: atom_master_data_table_id = 12; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__VRAM_INF: atom_master_data_table_id = 13; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__INTEGRATED_SYS_INF: atom_master_data_table_id = 14; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__ASIC_PROFILING_INF: atom_master_data_table_id = 15; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__VOLTAGE_OBJ_INF: atom_master_data_table_id = 16; pub const atom_master_data_table_id_VBIOS_DATA_TBL_ID__UNDEFINED: atom_master_data_table_id = 17; pub type atom_master_data_table_id = ::core::ffi::c_uint; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__ASIC_INIT: atom_master_command_table_id = 0; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__DIGX_ENCODER_CONTROL: atom_master_command_table_id = 1; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__SET_ENGINE_CLOCK: atom_master_command_table_id = 2; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__SET_MEMORY_CLOCK: atom_master_command_table_id = 3; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__SET_PIXEL_CLOCK: atom_master_command_table_id = 4; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__ENABLE_DISP_POWER_GATING: atom_master_command_table_id = 5; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__BLANK_CRTC: atom_master_command_table_id = 6; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__ENABLE_CRTC: atom_master_command_table_id = 7; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__GET_SMU_CLOCK_INFO: atom_master_command_table_id = 8; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__SELECT_CRTC_SOURCE: atom_master_command_table_id = 9; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__SET_DCE_CLOCK: atom_master_command_table_id = 10; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__GET_MEMORY_CLOCK: atom_master_command_table_id = 11; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__GET_ENGINE_CLOCK: atom_master_command_table_id = 12; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__SET_CRTC_USING_DTD_TIMING: atom_master_command_table_id = 13; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__EXTENAL_ENCODER_CONTROL: atom_master_command_table_id = 14; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__PROCESS_I2C_CHANNEL_TRANSACTION: atom_master_command_table_id = 15; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__COMPUTE_GPU_CLOCK_PARAM: atom_master_command_table_id = 16; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__DYNAMIC_MEMORY_SETTINGS: atom_master_command_table_id = 17; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__MEMORY_TRAINING: atom_master_command_table_id = 18; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__SET_VOLTAGE: atom_master_command_table_id = 19; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__DIG1_TRANSMITTER_CONTROL: atom_master_command_table_id = 20; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__PROCESS_AUX_CHANNEL_TRANSACTION: atom_master_command_table_id = 21; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__GET_VOLTAGE_INF: atom_master_command_table_id = 22; pub const atom_master_command_table_id_VBIOS_CMD_TBL_ID__UNDEFINED: atom_master_command_table_id = 23; pub type atom_master_command_table_id = ::core::ffi::c_uint; pub const FEATURE_PWR_DOMAIN_e_FEATURE_PWR_ALL: FEATURE_PWR_DOMAIN_e = 0; pub const FEATURE_PWR_DOMAIN_e_FEATURE_PWR_S5: FEATURE_PWR_DOMAIN_e = 1; pub const FEATURE_PWR_DOMAIN_e_FEATURE_PWR_BACO: FEATURE_PWR_DOMAIN_e = 2; pub const FEATURE_PWR_DOMAIN_e_FEATURE_PWR_SOC: FEATURE_PWR_DOMAIN_e = 3; pub const FEATURE_PWR_DOMAIN_e_FEATURE_PWR_GFX: FEATURE_PWR_DOMAIN_e = 4; pub const FEATURE_PWR_DOMAIN_e_FEATURE_PWR_DOMAIN_COUNT: FEATURE_PWR_DOMAIN_e = 5; pub type FEATURE_PWR_DOMAIN_e = ::core::ffi::c_uint; pub const SVI_PSI_e_SVI_PSI_0: SVI_PSI_e = 0; pub const SVI_PSI_e_SVI_PSI_1: SVI_PSI_e = 1; pub const SVI_PSI_e_SVI_PSI_2: SVI_PSI_e = 2; pub const SVI_PSI_e_SVI_PSI_3: SVI_PSI_e = 3; pub const SVI_PSI_e_SVI_PSI_4: SVI_PSI_e = 4; pub const SVI_PSI_e_SVI_PSI_5: SVI_PSI_e = 5; pub const SVI_PSI_e_SVI_PSI_6: SVI_PSI_e = 6; pub const SVI_PSI_e_SVI_PSI_7: SVI_PSI_e = 7; pub type SVI_PSI_e = ::core::ffi::c_uint; pub const SMARTSHIFT_VERSION_e_SMARTSHIFT_VERSION_1: SMARTSHIFT_VERSION_e = 0; pub const SMARTSHIFT_VERSION_e_SMARTSHIFT_VERSION_2: SMARTSHIFT_VERSION_e = 1; pub const SMARTSHIFT_VERSION_e_SMARTSHIFT_VERSION_3: SMARTSHIFT_VERSION_e = 2; pub type SMARTSHIFT_VERSION_e = ::core::ffi::c_uint; pub const FOPT_CALC_e_FOPT_CALC_AC_CALC_DC: FOPT_CALC_e = 0; pub const FOPT_CALC_e_FOPT_PPTABLE_AC_CALC_DC: FOPT_CALC_e = 1; pub const FOPT_CALC_e_FOPT_CALC_AC_PPTABLE_DC: FOPT_CALC_e = 2; pub const FOPT_CALC_e_FOPT_PPTABLE_AC_PPTABLE_DC: FOPT_CALC_e = 3; pub type FOPT_CALC_e = ::core::ffi::c_uint; pub const DRAM_BIT_WIDTH_TYPE_e_DRAM_BIT_WIDTH_DISABLED: DRAM_BIT_WIDTH_TYPE_e = 0; pub const DRAM_BIT_WIDTH_TYPE_e_DRAM_BIT_WIDTH_X_8: DRAM_BIT_WIDTH_TYPE_e = 8; pub const DRAM_BIT_WIDTH_TYPE_e_DRAM_BIT_WIDTH_X_16: DRAM_BIT_WIDTH_TYPE_e = 16; pub const DRAM_BIT_WIDTH_TYPE_e_DRAM_BIT_WIDTH_X_32: DRAM_BIT_WIDTH_TYPE_e = 32; pub const DRAM_BIT_WIDTH_TYPE_e_DRAM_BIT_WIDTH_X_64: DRAM_BIT_WIDTH_TYPE_e = 64; pub const DRAM_BIT_WIDTH_TYPE_e_DRAM_BIT_WIDTH_X_128: DRAM_BIT_WIDTH_TYPE_e = 128; pub const DRAM_BIT_WIDTH_TYPE_e_DRAM_BIT_WIDTH_COUNT: DRAM_BIT_WIDTH_TYPE_e = 129; pub type DRAM_BIT_WIDTH_TYPE_e = ::core::ffi::c_uint; pub const I2cControllerPort_e_I2C_CONTROLLER_PORT_0: I2cControllerPort_e = 0; pub const I2cControllerPort_e_I2C_CONTROLLER_PORT_1: I2cControllerPort_e = 1; pub const I2cControllerPort_e_I2C_CONTROLLER_PORT_COUNT: I2cControllerPort_e = 2; pub type I2cControllerPort_e = ::core::ffi::c_uint; pub const I2cControllerName_e_I2C_CONTROLLER_NAME_VR_GFX: I2cControllerName_e = 0; pub const I2cControllerName_e_I2C_CONTROLLER_NAME_VR_SOC: I2cControllerName_e = 1; pub const I2cControllerName_e_I2C_CONTROLLER_NAME_VR_VMEMP: I2cControllerName_e = 2; pub const I2cControllerName_e_I2C_CONTROLLER_NAME_VR_VDDIO: I2cControllerName_e = 3; pub const I2cControllerName_e_I2C_CONTROLLER_NAME_LIQUID0: I2cControllerName_e = 4; pub const I2cControllerName_e_I2C_CONTROLLER_NAME_LIQUID1: I2cControllerName_e = 5; pub const I2cControllerName_e_I2C_CONTROLLER_NAME_PLX: I2cControllerName_e = 6; pub const I2cControllerName_e_I2C_CONTROLLER_NAME_FAN_INTAKE: I2cControllerName_e = 7; pub const I2cControllerName_e_I2C_CONTROLLER_NAME_COUNT: I2cControllerName_e = 8; pub type I2cControllerName_e = ::core::ffi::c_uint; pub const I2cControllerThrottler_e_I2C_CONTROLLER_THROTTLER_TYPE_NONE: I2cControllerThrottler_e = 0; pub const I2cControllerThrottler_e_I2C_CONTROLLER_THROTTLER_VR_GFX: I2cControllerThrottler_e = 1; pub const I2cControllerThrottler_e_I2C_CONTROLLER_THROTTLER_VR_SOC: I2cControllerThrottler_e = 2; pub const I2cControllerThrottler_e_I2C_CONTROLLER_THROTTLER_VR_VMEMP: I2cControllerThrottler_e = 3; pub const I2cControllerThrottler_e_I2C_CONTROLLER_THROTTLER_VR_VDDIO: I2cControllerThrottler_e = 4; pub const I2cControllerThrottler_e_I2C_CONTROLLER_THROTTLER_LIQUID0: I2cControllerThrottler_e = 5; pub const I2cControllerThrottler_e_I2C_CONTROLLER_THROTTLER_LIQUID1: I2cControllerThrottler_e = 6; pub const I2cControllerThrottler_e_I2C_CONTROLLER_THROTTLER_PLX: I2cControllerThrottler_e = 7; pub const I2cControllerThrottler_e_I2C_CONTROLLER_THROTTLER_FAN_INTAKE: I2cControllerThrottler_e = 8; pub const I2cControllerThrottler_e_I2C_CONTROLLER_THROTTLER_INA3221: I2cControllerThrottler_e = 9; pub const I2cControllerThrottler_e_I2C_CONTROLLER_THROTTLER_COUNT: I2cControllerThrottler_e = 10; pub type I2cControllerThrottler_e = ::core::ffi::c_uint; pub const I2cControllerProtocol_e_I2C_CONTROLLER_PROTOCOL_VR_XPDE132G5: I2cControllerProtocol_e = 0; pub const I2cControllerProtocol_e_I2C_CONTROLLER_PROTOCOL_VR_IR35217: I2cControllerProtocol_e = 1; pub const I2cControllerProtocol_e_I2C_CONTROLLER_PROTOCOL_TMP_MAX31875: I2cControllerProtocol_e = 2; pub const I2cControllerProtocol_e_I2C_CONTROLLER_PROTOCOL_INA3221: I2cControllerProtocol_e = 3; pub const I2cControllerProtocol_e_I2C_CONTROLLER_PROTOCOL_TMP_MAX6604: I2cControllerProtocol_e = 4; pub const I2cControllerProtocol_e_I2C_CONTROLLER_PROTOCOL_COUNT: I2cControllerProtocol_e = 5; pub type I2cControllerProtocol_e = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct I2cControllerConfig_t { pub Enabled: u8, pub Speed: u8, pub SlaveAddress: u8, pub ControllerPort: u8, pub ControllerName: u8, pub ThermalThrotter: u8, pub I2cProtocol: u8, pub PaddingConfig: u8, } #[test] fn bindgen_test_layout_I2cControllerConfig_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(I2cControllerConfig_t)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(I2cControllerConfig_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Enabled) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(I2cControllerConfig_t), "::", stringify!(Enabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Speed) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(I2cControllerConfig_t), "::", stringify!(Speed) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SlaveAddress) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(I2cControllerConfig_t), "::", stringify!(SlaveAddress) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ControllerPort) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(I2cControllerConfig_t), "::", stringify!(ControllerPort) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ControllerName) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(I2cControllerConfig_t), "::", stringify!(ControllerName) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ThermalThrotter) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(I2cControllerConfig_t), "::", stringify!(ThermalThrotter) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).I2cProtocol) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(I2cControllerConfig_t), "::", stringify!(I2cProtocol) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PaddingConfig) as usize - ptr as usize }, 7usize, concat!( "Offset of field: ", stringify!(I2cControllerConfig_t), "::", stringify!(PaddingConfig) ) ); } pub const I2cPort_e_I2C_PORT_SVD_SCL: I2cPort_e = 0; pub const I2cPort_e_I2C_PORT_GPIO: I2cPort_e = 1; pub type I2cPort_e = ::core::ffi::c_uint; pub const I2cSpeed_e_I2C_SPEED_FAST_50K: I2cSpeed_e = 0; pub const I2cSpeed_e_I2C_SPEED_FAST_100K: I2cSpeed_e = 1; pub const I2cSpeed_e_I2C_SPEED_FAST_400K: I2cSpeed_e = 2; pub const I2cSpeed_e_I2C_SPEED_FAST_PLUS_1M: I2cSpeed_e = 3; pub const I2cSpeed_e_I2C_SPEED_HIGH_1M: I2cSpeed_e = 4; pub const I2cSpeed_e_I2C_SPEED_HIGH_2M: I2cSpeed_e = 5; pub const I2cSpeed_e_I2C_SPEED_COUNT: I2cSpeed_e = 6; pub type I2cSpeed_e = ::core::ffi::c_uint; pub const I2cCmdType_e_I2C_CMD_READ: I2cCmdType_e = 0; pub const I2cCmdType_e_I2C_CMD_WRITE: I2cCmdType_e = 1; pub const I2cCmdType_e_I2C_CMD_COUNT: I2cCmdType_e = 2; pub type I2cCmdType_e = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SwI2cCmd_t { pub ReadWriteData: u8, pub CmdConfig: u8, } #[test] fn bindgen_test_layout_SwI2cCmd_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(SwI2cCmd_t)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(SwI2cCmd_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ReadWriteData) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(SwI2cCmd_t), "::", stringify!(ReadWriteData) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).CmdConfig) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(SwI2cCmd_t), "::", stringify!(CmdConfig) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SwI2cRequest_t { pub I2CcontrollerPort: u8, pub I2CSpeed: u8, pub SlaveAddress: u8, pub NumCmds: u8, pub SwI2cCmds: [SwI2cCmd_t; 24usize], } #[test] fn bindgen_test_layout_SwI2cRequest_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 52usize, concat!("Size of: ", stringify!(SwI2cRequest_t)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(SwI2cRequest_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).I2CcontrollerPort) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(SwI2cRequest_t), "::", stringify!(I2CcontrollerPort) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).I2CSpeed) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(SwI2cRequest_t), "::", stringify!(I2CSpeed) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SlaveAddress) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(SwI2cRequest_t), "::", stringify!(SlaveAddress) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).NumCmds) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(SwI2cRequest_t), "::", stringify!(NumCmds) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SwI2cCmds) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(SwI2cRequest_t), "::", stringify!(SwI2cCmds) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SwI2cRequestExternal_t { pub SwI2cRequest: SwI2cRequest_t, pub Spare: [u32; 8usize], pub MmHubPadding: [u32; 8usize], } #[test] fn bindgen_test_layout_SwI2cRequestExternal_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 116usize, concat!("Size of: ", stringify!(SwI2cRequestExternal_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(SwI2cRequestExternal_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SwI2cRequest) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(SwI2cRequestExternal_t), "::", stringify!(SwI2cRequest) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(SwI2cRequestExternal_t), "::", stringify!(Spare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MmHubPadding) as usize - ptr as usize }, 84usize, concat!( "Offset of field: ", stringify!(SwI2cRequestExternal_t), "::", stringify!(MmHubPadding) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct EccInfo_t { pub mca_umc_status: u64, pub mca_umc_addr: u64, pub ce_count_lo_chip: u16, pub ce_count_hi_chip: u16, pub eccPadding: u32, } #[test] fn bindgen_test_layout_EccInfo_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(EccInfo_t)) ); assert_eq!( ::core::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(EccInfo_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mca_umc_status) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(EccInfo_t), "::", stringify!(mca_umc_status) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).mca_umc_addr) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(EccInfo_t), "::", stringify!(mca_umc_addr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ce_count_lo_chip) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(EccInfo_t), "::", stringify!(ce_count_lo_chip) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ce_count_hi_chip) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(EccInfo_t), "::", stringify!(ce_count_hi_chip) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).eccPadding) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(EccInfo_t), "::", stringify!(eccPadding) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct EccInfoTable_t { pub EccInfo: [EccInfo_t; 24usize], } #[test] fn bindgen_test_layout_EccInfoTable_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 576usize, concat!("Size of: ", stringify!(EccInfoTable_t)) ); assert_eq!( ::core::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(EccInfoTable_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).EccInfo) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(EccInfoTable_t), "::", stringify!(EccInfo) ) ); } pub const D3HOTSequence_e_BACO_SEQUENCE: D3HOTSequence_e = 0; pub const D3HOTSequence_e_MSR_SEQUENCE: D3HOTSequence_e = 1; pub const D3HOTSequence_e_BAMACO_SEQUENCE: D3HOTSequence_e = 2; pub const D3HOTSequence_e_ULPS_SEQUENCE: D3HOTSequence_e = 3; pub const D3HOTSequence_e_D3HOT_SEQUENCE_COUNT: D3HOTSequence_e = 4; pub type D3HOTSequence_e = ::core::ffi::c_uint; pub const PowerGatingMode_e_PG_DYNAMIC_MODE: PowerGatingMode_e = 0; pub const PowerGatingMode_e_PG_STATIC_MODE: PowerGatingMode_e = 1; pub type PowerGatingMode_e = ::core::ffi::c_uint; pub const PowerGatingSettings_e_PG_POWER_DOWN: PowerGatingSettings_e = 0; pub const PowerGatingSettings_e_PG_POWER_UP: PowerGatingSettings_e = 1; pub type PowerGatingSettings_e = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct QuadraticInt_t { pub a: u32, pub b: u32, pub c: u32, } #[test] fn bindgen_test_layout_QuadraticInt_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(QuadraticInt_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(QuadraticInt_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(QuadraticInt_t), "::", stringify!(a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(QuadraticInt_t), "::", stringify!(b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(QuadraticInt_t), "::", stringify!(c) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct LinearInt_t { pub m: u32, pub b: u32, } #[test] fn bindgen_test_layout_LinearInt_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(LinearInt_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(LinearInt_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).m) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(LinearInt_t), "::", stringify!(m) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(LinearInt_t), "::", stringify!(b) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DroopInt_t { pub a: u32, pub b: u32, pub c: u32, } #[test] fn bindgen_test_layout_DroopInt_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(DroopInt_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(DroopInt_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(DroopInt_t), "::", stringify!(a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(DroopInt_t), "::", stringify!(b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(DroopInt_t), "::", stringify!(c) ) ); } pub const DCS_ARCH_e_DCS_ARCH_DISABLED: DCS_ARCH_e = 0; pub const DCS_ARCH_e_DCS_ARCH_FADCS: DCS_ARCH_e = 1; pub const DCS_ARCH_e_DCS_ARCH_ASYNC: DCS_ARCH_e = 2; pub type DCS_ARCH_e = ::core::ffi::c_uint; pub const PPCLK_e_PPCLK_GFXCLK: PPCLK_e = 0; pub const PPCLK_e_PPCLK_SOCCLK: PPCLK_e = 1; pub const PPCLK_e_PPCLK_UCLK: PPCLK_e = 2; pub const PPCLK_e_PPCLK_FCLK: PPCLK_e = 3; pub const PPCLK_e_PPCLK_DCLK_0: PPCLK_e = 4; pub const PPCLK_e_PPCLK_VCLK_0: PPCLK_e = 5; pub const PPCLK_e_PPCLK_DCLK_1: PPCLK_e = 6; pub const PPCLK_e_PPCLK_VCLK_1: PPCLK_e = 7; pub const PPCLK_e_PPCLK_DISPCLK: PPCLK_e = 8; pub const PPCLK_e_PPCLK_DPPCLK: PPCLK_e = 9; pub const PPCLK_e_PPCLK_DPREFCLK: PPCLK_e = 10; pub const PPCLK_e_PPCLK_DCFCLK: PPCLK_e = 11; pub const PPCLK_e_PPCLK_DTBCLK: PPCLK_e = 12; pub const PPCLK_e_PPCLK_COUNT: PPCLK_e = 13; pub type PPCLK_e = ::core::ffi::c_uint; pub const VOLTAGE_MODE_e_VOLTAGE_MODE_PPTABLE: VOLTAGE_MODE_e = 0; pub const VOLTAGE_MODE_e_VOLTAGE_MODE_FUSES: VOLTAGE_MODE_e = 1; pub const VOLTAGE_MODE_e_VOLTAGE_MODE_COUNT: VOLTAGE_MODE_e = 2; pub type VOLTAGE_MODE_e = ::core::ffi::c_uint; pub const AVFS_VOLTAGE_TYPE_e_AVFS_VOLTAGE_GFX: AVFS_VOLTAGE_TYPE_e = 0; pub const AVFS_VOLTAGE_TYPE_e_AVFS_VOLTAGE_SOC: AVFS_VOLTAGE_TYPE_e = 1; pub const AVFS_VOLTAGE_TYPE_e_AVFS_VOLTAGE_COUNT: AVFS_VOLTAGE_TYPE_e = 2; pub type AVFS_VOLTAGE_TYPE_e = ::core::ffi::c_uint; pub const AVFS_TEMP_e_AVFS_TEMP_COLD: AVFS_TEMP_e = 0; pub const AVFS_TEMP_e_AVFS_TEMP_HOT: AVFS_TEMP_e = 1; pub const AVFS_TEMP_e_AVFS_TEMP_COUNT: AVFS_TEMP_e = 2; pub type AVFS_TEMP_e = ::core::ffi::c_uint; pub const AVFS_D_e_AVFS_D_G: AVFS_D_e = 0; pub const AVFS_D_e_AVFS_D_M_B: AVFS_D_e = 1; pub const AVFS_D_e_AVFS_D_M_S: AVFS_D_e = 2; pub const AVFS_D_e_AVFS_D_COUNT: AVFS_D_e = 3; pub type AVFS_D_e = ::core::ffi::c_uint; pub const UCLK_DIV_e_UCLK_DIV_BY_1: UCLK_DIV_e = 0; pub const UCLK_DIV_e_UCLK_DIV_BY_2: UCLK_DIV_e = 1; pub const UCLK_DIV_e_UCLK_DIV_BY_4: UCLK_DIV_e = 2; pub const UCLK_DIV_e_UCLK_DIV_BY_8: UCLK_DIV_e = 3; pub type UCLK_DIV_e = ::core::ffi::c_uint; pub const GpioIntPolarity_e_GPIO_INT_POLARITY_ACTIVE_LOW: GpioIntPolarity_e = 0; pub const GpioIntPolarity_e_GPIO_INT_POLARITY_ACTIVE_HIGH: GpioIntPolarity_e = 1; pub type GpioIntPolarity_e = ::core::ffi::c_uint; pub const PwrConfig_e_PWR_CONFIG_TDP: PwrConfig_e = 0; pub const PwrConfig_e_PWR_CONFIG_TGP: PwrConfig_e = 1; pub const PwrConfig_e_PWR_CONFIG_TCP_ESTIMATED: PwrConfig_e = 2; pub const PwrConfig_e_PWR_CONFIG_TCP_MEASURED: PwrConfig_e = 3; pub type PwrConfig_e = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DpmDescriptor_t { pub Padding: u8, pub SnapToDiscrete: u8, pub NumDiscreteLevels: u8, pub CalculateFopt: u8, pub ConversionToAvfsClk: LinearInt_t, pub Padding3: [u32; 3usize], pub Padding4: u16, pub FoptimalDc: u16, pub FoptimalAc: u16, pub Padding2: u16, } #[test] fn bindgen_test_layout_DpmDescriptor_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(DpmDescriptor_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(DpmDescriptor_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(DpmDescriptor_t), "::", stringify!(Padding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SnapToDiscrete) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(DpmDescriptor_t), "::", stringify!(SnapToDiscrete) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).NumDiscreteLevels) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(DpmDescriptor_t), "::", stringify!(NumDiscreteLevels) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).CalculateFopt) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(DpmDescriptor_t), "::", stringify!(CalculateFopt) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ConversionToAvfsClk) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(DpmDescriptor_t), "::", stringify!(ConversionToAvfsClk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding3) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(DpmDescriptor_t), "::", stringify!(Padding3) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding4) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(DpmDescriptor_t), "::", stringify!(Padding4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FoptimalDc) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(DpmDescriptor_t), "::", stringify!(FoptimalDc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FoptimalAc) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(DpmDescriptor_t), "::", stringify!(FoptimalAc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding2) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(DpmDescriptor_t), "::", stringify!(Padding2) ) ); } pub const PPT_THROTTLER_e_PPT_THROTTLER_PPT0: PPT_THROTTLER_e = 0; pub const PPT_THROTTLER_e_PPT_THROTTLER_PPT1: PPT_THROTTLER_e = 1; pub const PPT_THROTTLER_e_PPT_THROTTLER_PPT2: PPT_THROTTLER_e = 2; pub const PPT_THROTTLER_e_PPT_THROTTLER_PPT3: PPT_THROTTLER_e = 3; pub const PPT_THROTTLER_e_PPT_THROTTLER_COUNT: PPT_THROTTLER_e = 4; pub type PPT_THROTTLER_e = ::core::ffi::c_uint; pub const TEMP_e_TEMP_EDGE: TEMP_e = 0; pub const TEMP_e_TEMP_HOTSPOT: TEMP_e = 1; pub const TEMP_e_TEMP_HOTSPOT_G: TEMP_e = 2; pub const TEMP_e_TEMP_HOTSPOT_M: TEMP_e = 3; pub const TEMP_e_TEMP_MEM: TEMP_e = 4; pub const TEMP_e_TEMP_VR_GFX: TEMP_e = 5; pub const TEMP_e_TEMP_VR_MEM0: TEMP_e = 6; pub const TEMP_e_TEMP_VR_MEM1: TEMP_e = 7; pub const TEMP_e_TEMP_VR_SOC: TEMP_e = 8; pub const TEMP_e_TEMP_VR_U: TEMP_e = 9; pub const TEMP_e_TEMP_LIQUID0: TEMP_e = 10; pub const TEMP_e_TEMP_LIQUID1: TEMP_e = 11; pub const TEMP_e_TEMP_PLX: TEMP_e = 12; pub const TEMP_e_TEMP_COUNT: TEMP_e = 13; pub type TEMP_e = ::core::ffi::c_uint; pub const TDC_THROTTLER_e_TDC_THROTTLER_GFX: TDC_THROTTLER_e = 0; pub const TDC_THROTTLER_e_TDC_THROTTLER_SOC: TDC_THROTTLER_e = 1; pub const TDC_THROTTLER_e_TDC_THROTTLER_U: TDC_THROTTLER_e = 2; pub const TDC_THROTTLER_e_TDC_THROTTLER_COUNT: TDC_THROTTLER_e = 3; pub type TDC_THROTTLER_e = ::core::ffi::c_uint; pub const SVI_PLANE_e_SVI_PLANE_GFX: SVI_PLANE_e = 0; pub const SVI_PLANE_e_SVI_PLANE_SOC: SVI_PLANE_e = 1; pub const SVI_PLANE_e_SVI_PLANE_VMEMP: SVI_PLANE_e = 2; pub const SVI_PLANE_e_SVI_PLANE_VDDIO_MEM: SVI_PLANE_e = 3; pub const SVI_PLANE_e_SVI_PLANE_U: SVI_PLANE_e = 4; pub const SVI_PLANE_e_SVI_PLANE_COUNT: SVI_PLANE_e = 5; pub type SVI_PLANE_e = ::core::ffi::c_uint; pub const PMFW_VOLT_PLANE_e_PMFW_VOLT_PLANE_GFX: PMFW_VOLT_PLANE_e = 0; pub const PMFW_VOLT_PLANE_e_PMFW_VOLT_PLANE_SOC: PMFW_VOLT_PLANE_e = 1; pub const PMFW_VOLT_PLANE_e_PMFW_VOLT_PLANE_COUNT: PMFW_VOLT_PLANE_e = 2; pub type PMFW_VOLT_PLANE_e = ::core::ffi::c_uint; pub const CUSTOMER_VARIANT_e_CUSTOMER_VARIANT_ROW: CUSTOMER_VARIANT_e = 0; pub const CUSTOMER_VARIANT_e_CUSTOMER_VARIANT_FALCON: CUSTOMER_VARIANT_e = 1; pub const CUSTOMER_VARIANT_e_CUSTOMER_VARIANT_COUNT: CUSTOMER_VARIANT_e = 2; pub type CUSTOMER_VARIANT_e = ::core::ffi::c_uint; pub const POWER_SOURCE_e_POWER_SOURCE_AC: POWER_SOURCE_e = 0; pub const POWER_SOURCE_e_POWER_SOURCE_DC: POWER_SOURCE_e = 1; pub const POWER_SOURCE_e_POWER_SOURCE_COUNT: POWER_SOURCE_e = 2; pub type POWER_SOURCE_e = ::core::ffi::c_uint; pub const MEM_VENDOR_e_MEM_VENDOR_SAMSUNG: MEM_VENDOR_e = 0; pub const MEM_VENDOR_e_MEM_VENDOR_INFINEON: MEM_VENDOR_e = 1; pub const MEM_VENDOR_e_MEM_VENDOR_ELPIDA: MEM_VENDOR_e = 2; pub const MEM_VENDOR_e_MEM_VENDOR_ETRON: MEM_VENDOR_e = 3; pub const MEM_VENDOR_e_MEM_VENDOR_NANYA: MEM_VENDOR_e = 4; pub const MEM_VENDOR_e_MEM_VENDOR_HYNIX: MEM_VENDOR_e = 5; pub const MEM_VENDOR_e_MEM_VENDOR_MOSEL: MEM_VENDOR_e = 6; pub const MEM_VENDOR_e_MEM_VENDOR_WINBOND: MEM_VENDOR_e = 7; pub const MEM_VENDOR_e_MEM_VENDOR_ESMT: MEM_VENDOR_e = 8; pub const MEM_VENDOR_e_MEM_VENDOR_PLACEHOLDER0: MEM_VENDOR_e = 9; pub const MEM_VENDOR_e_MEM_VENDOR_PLACEHOLDER1: MEM_VENDOR_e = 10; pub const MEM_VENDOR_e_MEM_VENDOR_PLACEHOLDER2: MEM_VENDOR_e = 11; pub const MEM_VENDOR_e_MEM_VENDOR_PLACEHOLDER3: MEM_VENDOR_e = 12; pub const MEM_VENDOR_e_MEM_VENDOR_PLACEHOLDER4: MEM_VENDOR_e = 13; pub const MEM_VENDOR_e_MEM_VENDOR_PLACEHOLDER5: MEM_VENDOR_e = 14; pub const MEM_VENDOR_e_MEM_VENDOR_MICRON: MEM_VENDOR_e = 15; pub const MEM_VENDOR_e_MEM_VENDOR_COUNT: MEM_VENDOR_e = 16; pub type MEM_VENDOR_e = ::core::ffi::c_uint; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_CTL_ZONE0: PP_GRTAVFS_HW_FUSE_e = 0; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_CTL_ZONE1: PP_GRTAVFS_HW_FUSE_e = 1; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_CTL_ZONE2: PP_GRTAVFS_HW_FUSE_e = 2; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_CTL_ZONE3: PP_GRTAVFS_HW_FUSE_e = 3; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_CTL_ZONE4: PP_GRTAVFS_HW_FUSE_e = 4; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_EN_0_31_ZONE0: PP_GRTAVFS_HW_FUSE_e = 5; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_EN_32_63_ZONE0: PP_GRTAVFS_HW_FUSE_e = 6; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_EN_0_31_ZONE1: PP_GRTAVFS_HW_FUSE_e = 7; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_EN_32_63_ZONE1: PP_GRTAVFS_HW_FUSE_e = 8; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_EN_0_31_ZONE2: PP_GRTAVFS_HW_FUSE_e = 9; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_EN_32_63_ZONE2: PP_GRTAVFS_HW_FUSE_e = 10; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_EN_0_31_ZONE3: PP_GRTAVFS_HW_FUSE_e = 11; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_EN_32_63_ZONE3: PP_GRTAVFS_HW_FUSE_e = 12; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_EN_0_31_ZONE4: PP_GRTAVFS_HW_FUSE_e = 13; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPO_EN_32_63_ZONE4: PP_GRTAVFS_HW_FUSE_e = 14; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_ZONE0_VF: PP_GRTAVFS_HW_FUSE_e = 15; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_ZONE1_VF1: PP_GRTAVFS_HW_FUSE_e = 16; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_ZONE2_VF2: PP_GRTAVFS_HW_FUSE_e = 17; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_ZONE3_VF3: PP_GRTAVFS_HW_FUSE_e = 18; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_VOLTAGE_GB: PP_GRTAVFS_HW_FUSE_e = 19; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPOSCALINGCTRL_ZONE0: PP_GRTAVFS_HW_FUSE_e = 20; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPOSCALINGCTRL_ZONE1: PP_GRTAVFS_HW_FUSE_e = 21; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPOSCALINGCTRL_ZONE2: PP_GRTAVFS_HW_FUSE_e = 22; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPOSCALINGCTRL_ZONE3: PP_GRTAVFS_HW_FUSE_e = 23; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_CPOSCALINGCTRL_ZONE4: PP_GRTAVFS_HW_FUSE_e = 24; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_RESERVED_0: PP_GRTAVFS_HW_FUSE_e = 25; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_RESERVED_1: PP_GRTAVFS_HW_FUSE_e = 26; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_RESERVED_2: PP_GRTAVFS_HW_FUSE_e = 27; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_RESERVED_3: PP_GRTAVFS_HW_FUSE_e = 28; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_RESERVED_4: PP_GRTAVFS_HW_FUSE_e = 29; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_RESERVED_5: PP_GRTAVFS_HW_FUSE_e = 30; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_RESERVED_6: PP_GRTAVFS_HW_FUSE_e = 31; pub const PP_GRTAVFS_HW_FUSE_e_PP_GRTAVFS_HW_FUSE_COUNT: PP_GRTAVFS_HW_FUSE_e = 32; pub type PP_GRTAVFS_HW_FUSE_e = ::core::ffi::c_uint; pub const PP_GRTAVFS_FW_COMMON_FUSE_e_PP_GRTAVFS_FW_COMMON_PPVMIN_Z1_HOT_T0: PP_GRTAVFS_FW_COMMON_FUSE_e = 0; pub const PP_GRTAVFS_FW_COMMON_FUSE_e_PP_GRTAVFS_FW_COMMON_PPVMIN_Z1_COLD_T0: PP_GRTAVFS_FW_COMMON_FUSE_e = 1; pub const PP_GRTAVFS_FW_COMMON_FUSE_e_PP_GRTAVFS_FW_COMMON_PPVMIN_Z2_HOT_T0: PP_GRTAVFS_FW_COMMON_FUSE_e = 2; pub const PP_GRTAVFS_FW_COMMON_FUSE_e_PP_GRTAVFS_FW_COMMON_PPVMIN_Z2_COLD_T0: PP_GRTAVFS_FW_COMMON_FUSE_e = 3; pub const PP_GRTAVFS_FW_COMMON_FUSE_e_PP_GRTAVFS_FW_COMMON_PPVMIN_Z3_HOT_T0: PP_GRTAVFS_FW_COMMON_FUSE_e = 4; pub const PP_GRTAVFS_FW_COMMON_FUSE_e_PP_GRTAVFS_FW_COMMON_PPVMIN_Z3_COLD_T0: PP_GRTAVFS_FW_COMMON_FUSE_e = 5; pub const PP_GRTAVFS_FW_COMMON_FUSE_e_PP_GRTAVFS_FW_COMMON_PPVMIN_Z4_HOT_T0: PP_GRTAVFS_FW_COMMON_FUSE_e = 6; pub const PP_GRTAVFS_FW_COMMON_FUSE_e_PP_GRTAVFS_FW_COMMON_PPVMIN_Z4_COLD_T0: PP_GRTAVFS_FW_COMMON_FUSE_e = 7; pub const PP_GRTAVFS_FW_COMMON_FUSE_e_PP_GRTAVFS_FW_COMMON_SRAM_RM_Z0: PP_GRTAVFS_FW_COMMON_FUSE_e = 8; pub const PP_GRTAVFS_FW_COMMON_FUSE_e_PP_GRTAVFS_FW_COMMON_SRAM_RM_Z1: PP_GRTAVFS_FW_COMMON_FUSE_e = 9; pub const PP_GRTAVFS_FW_COMMON_FUSE_e_PP_GRTAVFS_FW_COMMON_SRAM_RM_Z2: PP_GRTAVFS_FW_COMMON_FUSE_e = 10; pub const PP_GRTAVFS_FW_COMMON_FUSE_e_PP_GRTAVFS_FW_COMMON_SRAM_RM_Z3: PP_GRTAVFS_FW_COMMON_FUSE_e = 11; pub const PP_GRTAVFS_FW_COMMON_FUSE_e_PP_GRTAVFS_FW_COMMON_SRAM_RM_Z4: PP_GRTAVFS_FW_COMMON_FUSE_e = 12; pub const PP_GRTAVFS_FW_COMMON_FUSE_e_PP_GRTAVFS_FW_COMMON_FUSE_COUNT: PP_GRTAVFS_FW_COMMON_FUSE_e = 13; pub type PP_GRTAVFS_FW_COMMON_FUSE_e = ::core::ffi::c_uint; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_GB1_PWL_VOLTAGE_NEG_1: PP_GRTAVFS_FW_SEP_FUSE_e = 0; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_GB1_PWL_VOLTAGE_0: PP_GRTAVFS_FW_SEP_FUSE_e = 1; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_GB1_PWL_VOLTAGE_1: PP_GRTAVFS_FW_SEP_FUSE_e = 2; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_GB1_PWL_VOLTAGE_2: PP_GRTAVFS_FW_SEP_FUSE_e = 3; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_GB1_PWL_VOLTAGE_3: PP_GRTAVFS_FW_SEP_FUSE_e = 4; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_GB1_PWL_VOLTAGE_4: PP_GRTAVFS_FW_SEP_FUSE_e = 5; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_GB2_PWL_VOLTAGE_NEG_1: PP_GRTAVFS_FW_SEP_FUSE_e = 6; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_GB2_PWL_VOLTAGE_0: PP_GRTAVFS_FW_SEP_FUSE_e = 7; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_GB2_PWL_VOLTAGE_1: PP_GRTAVFS_FW_SEP_FUSE_e = 8; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_GB2_PWL_VOLTAGE_2: PP_GRTAVFS_FW_SEP_FUSE_e = 9; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_GB2_PWL_VOLTAGE_3: PP_GRTAVFS_FW_SEP_FUSE_e = 10; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_GB2_PWL_VOLTAGE_4: PP_GRTAVFS_FW_SEP_FUSE_e = 11; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_VF_NEG_1_FREQUENCY: PP_GRTAVFS_FW_SEP_FUSE_e = 12; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_VF4_FREQUENCY: PP_GRTAVFS_FW_SEP_FUSE_e = 13; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_FREQUENCY_TO_COUNT_SCALER_0: PP_GRTAVFS_FW_SEP_FUSE_e = 14; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_FREQUENCY_TO_COUNT_SCALER_1: PP_GRTAVFS_FW_SEP_FUSE_e = 15; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_FREQUENCY_TO_COUNT_SCALER_2: PP_GRTAVFS_FW_SEP_FUSE_e = 16; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_FREQUENCY_TO_COUNT_SCALER_3: PP_GRTAVFS_FW_SEP_FUSE_e = 17; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_FREQUENCY_TO_COUNT_SCALER_4: PP_GRTAVFS_FW_SEP_FUSE_e = 18; pub const PP_GRTAVFS_FW_SEP_FUSE_e_PP_GRTAVFS_FW_SEP_FUSE_COUNT: PP_GRTAVFS_FW_SEP_FUSE_e = 19; pub type PP_GRTAVFS_FW_SEP_FUSE_e = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SviTelemetryScale_t { pub Offset: i8, pub Padding: u8, pub MaxCurrent: u16, } #[test] fn bindgen_test_layout_SviTelemetryScale_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(SviTelemetryScale_t)) ); assert_eq!( ::core::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(SviTelemetryScale_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(SviTelemetryScale_t), "::", stringify!(Offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(SviTelemetryScale_t), "::", stringify!(Padding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MaxCurrent) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(SviTelemetryScale_t), "::", stringify!(MaxCurrent) ) ); } pub const PP_OD_POWER_FEATURE_e_PP_OD_POWER_FEATURE_ALWAYS_ENABLED: PP_OD_POWER_FEATURE_e = 0; pub const PP_OD_POWER_FEATURE_e_PP_OD_POWER_FEATURE_DISABLED_WHILE_GAMING: PP_OD_POWER_FEATURE_e = 1; pub const PP_OD_POWER_FEATURE_e_PP_OD_POWER_FEATURE_ALWAYS_DISABLED: PP_OD_POWER_FEATURE_e = 2; pub type PP_OD_POWER_FEATURE_e = ::core::ffi::c_uint; pub const FanMode_e_FAN_MODE_AUTO: FanMode_e = 0; pub const FanMode_e_FAN_MODE_MANUAL_LINEAR: FanMode_e = 1; pub type FanMode_e = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct OverDriveTable_t { pub FeatureCtrlMask: u32, pub VoltageOffsetPerZoneBoundary: [i16; 6usize], pub Reserved: u32, pub GfxclkFmin: i16, pub GfxclkFmax: i16, pub UclkFmin: u16, pub UclkFmax: u16, pub Ppt: i16, pub Tdc: i16, pub FanLinearPwmPoints: [u8; 6usize], pub FanLinearTempPoints: [u8; 6usize], pub FanMinimumPwm: u16, pub AcousticTargetRpmThreshold: u16, pub AcousticLimitRpmThreshold: u16, pub FanTargetTemperature: u16, pub FanZeroRpmEnable: u8, pub FanZeroRpmStopTemp: u8, pub FanMode: u8, pub MaxOpTemp: u8, pub Padding: [u8; 4usize], pub Spare: [u32; 12usize], pub MmHubPadding: [u32; 8usize], } #[test] fn bindgen_test_layout_OverDriveTable_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 140usize, concat!("Size of: ", stringify!(OverDriveTable_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(OverDriveTable_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FeatureCtrlMask) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(FeatureCtrlMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VoltageOffsetPerZoneBoundary) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(VoltageOffsetPerZoneBoundary) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(Reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxclkFmin) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(GfxclkFmin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxclkFmax) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(GfxclkFmax) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkFmin) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(UclkFmin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkFmax) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(UclkFmax) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Ppt) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(Ppt) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Tdc) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(Tdc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanLinearPwmPoints) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(FanLinearPwmPoints) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanLinearTempPoints) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(FanLinearTempPoints) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanMinimumPwm) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(FanMinimumPwm) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcousticTargetRpmThreshold) as usize - ptr as usize }, 46usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(AcousticTargetRpmThreshold) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcousticLimitRpmThreshold) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(AcousticLimitRpmThreshold) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanTargetTemperature) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(FanTargetTemperature) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanZeroRpmEnable) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(FanZeroRpmEnable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanZeroRpmStopTemp) as usize - ptr as usize }, 53usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(FanZeroRpmStopTemp) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanMode) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(FanMode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MaxOpTemp) as usize - ptr as usize }, 55usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(MaxOpTemp) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(Padding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(Spare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MmHubPadding) as usize - ptr as usize }, 108usize, concat!( "Offset of field: ", stringify!(OverDriveTable_t), "::", stringify!(MmHubPadding) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct OverDriveTableExternal_t { pub OverDriveTable: OverDriveTable_t, } #[test] fn bindgen_test_layout_OverDriveTableExternal_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 140usize, concat!("Size of: ", stringify!(OverDriveTableExternal_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(OverDriveTableExternal_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).OverDriveTable) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(OverDriveTableExternal_t), "::", stringify!(OverDriveTable) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct OverDriveLimits_t { pub FeatureCtrlMask: u32, pub VoltageOffsetPerZoneBoundary: i16, pub Reserved1: u16, pub Reserved2: u16, pub GfxclkFmin: i16, pub GfxclkFmax: i16, pub UclkFmin: u16, pub UclkFmax: u16, pub Ppt: i16, pub Tdc: i16, pub FanLinearPwmPoints: u8, pub FanLinearTempPoints: u8, pub FanMinimumPwm: u16, pub AcousticTargetRpmThreshold: u16, pub AcousticLimitRpmThreshold: u16, pub FanTargetTemperature: u16, pub FanZeroRpmEnable: u8, pub FanZeroRpmStopTemp: u8, pub FanMode: u8, pub MaxOpTemp: u8, pub Padding: [u8; 4usize], pub Spare: [u32; 12usize], } #[test] fn bindgen_test_layout_OverDriveLimits_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 88usize, concat!("Size of: ", stringify!(OverDriveLimits_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(OverDriveLimits_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FeatureCtrlMask) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(FeatureCtrlMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VoltageOffsetPerZoneBoundary) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(VoltageOffsetPerZoneBoundary) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(Reserved1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(Reserved2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxclkFmin) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(GfxclkFmin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxclkFmax) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(GfxclkFmax) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkFmin) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(UclkFmin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkFmax) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(UclkFmax) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Ppt) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(Ppt) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Tdc) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(Tdc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanLinearPwmPoints) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(FanLinearPwmPoints) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanLinearTempPoints) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(FanLinearTempPoints) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanMinimumPwm) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(FanMinimumPwm) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcousticTargetRpmThreshold) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(AcousticTargetRpmThreshold) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcousticLimitRpmThreshold) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(AcousticLimitRpmThreshold) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanTargetTemperature) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(FanTargetTemperature) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanZeroRpmEnable) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(FanZeroRpmEnable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanZeroRpmStopTemp) as usize - ptr as usize }, 33usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(FanZeroRpmStopTemp) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanMode) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(FanMode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MaxOpTemp) as usize - ptr as usize }, 35usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(MaxOpTemp) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(Padding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(OverDriveLimits_t), "::", stringify!(Spare) ) ); } pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_0: BOARD_GPIO_TYPE_e = 0; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_1: BOARD_GPIO_TYPE_e = 1; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_2: BOARD_GPIO_TYPE_e = 2; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_3: BOARD_GPIO_TYPE_e = 3; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_4: BOARD_GPIO_TYPE_e = 4; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_5: BOARD_GPIO_TYPE_e = 5; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_6: BOARD_GPIO_TYPE_e = 6; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_7: BOARD_GPIO_TYPE_e = 7; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_8: BOARD_GPIO_TYPE_e = 8; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_9: BOARD_GPIO_TYPE_e = 9; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_10: BOARD_GPIO_TYPE_e = 10; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_11: BOARD_GPIO_TYPE_e = 11; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_12: BOARD_GPIO_TYPE_e = 12; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_13: BOARD_GPIO_TYPE_e = 13; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_14: BOARD_GPIO_TYPE_e = 14; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_15: BOARD_GPIO_TYPE_e = 15; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_16: BOARD_GPIO_TYPE_e = 16; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_17: BOARD_GPIO_TYPE_e = 17; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_18: BOARD_GPIO_TYPE_e = 18; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_19: BOARD_GPIO_TYPE_e = 19; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_20: BOARD_GPIO_TYPE_e = 20; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_21: BOARD_GPIO_TYPE_e = 21; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_22: BOARD_GPIO_TYPE_e = 22; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_23: BOARD_GPIO_TYPE_e = 23; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_24: BOARD_GPIO_TYPE_e = 24; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_25: BOARD_GPIO_TYPE_e = 25; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_26: BOARD_GPIO_TYPE_e = 26; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_27: BOARD_GPIO_TYPE_e = 27; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_28: BOARD_GPIO_TYPE_e = 28; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_29: BOARD_GPIO_TYPE_e = 29; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_30: BOARD_GPIO_TYPE_e = 30; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_SMUIO_31: BOARD_GPIO_TYPE_e = 31; pub const BOARD_GPIO_TYPE_e_MAX_BOARD_GPIO_SMUIO_NUM: BOARD_GPIO_TYPE_e = 32; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_DC_GEN_A: BOARD_GPIO_TYPE_e = 33; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_DC_GEN_B: BOARD_GPIO_TYPE_e = 34; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_DC_GEN_C: BOARD_GPIO_TYPE_e = 35; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_DC_GEN_D: BOARD_GPIO_TYPE_e = 36; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_DC_GEN_E: BOARD_GPIO_TYPE_e = 37; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_DC_GEN_F: BOARD_GPIO_TYPE_e = 38; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_DC_GEN_G: BOARD_GPIO_TYPE_e = 39; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_DC_GENLK_CLK: BOARD_GPIO_TYPE_e = 40; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_DC_GENLK_VSYNC: BOARD_GPIO_TYPE_e = 41; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_DC_SWAPLOCK_A: BOARD_GPIO_TYPE_e = 42; pub const BOARD_GPIO_TYPE_e_BOARD_GPIO_DC_SWAPLOCK_B: BOARD_GPIO_TYPE_e = 43; pub type BOARD_GPIO_TYPE_e = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct BootValues_t { pub InitGfxclk_bypass: u16, pub InitSocclk: u16, pub InitMp0clk: u16, pub InitMpioclk: u16, pub InitSmnclk: u16, pub InitUcpclk: u16, pub InitCsrclk: u16, pub InitDprefclk: u16, pub InitDcfclk: u16, pub InitDtbclk: u16, pub InitDclk: u16, pub InitVclk: u16, pub InitUsbdfsclk: u16, pub InitMp1clk: u16, pub InitLclk: u16, pub InitBaco400clk_bypass: u16, pub InitBaco1200clk_bypass: u16, pub InitBaco700clk_bypass: u16, pub InitFclk: u16, pub InitGfxclk_clkb: u16, pub InitUclkDPMState: u8, pub Padding: [u8; 3usize], pub InitVcoFreqPll0: u32, pub InitVcoFreqPll1: u32, pub InitVcoFreqPll2: u32, pub InitVcoFreqPll3: u32, pub InitVcoFreqPll4: u32, pub InitVcoFreqPll5: u32, pub InitVcoFreqPll6: u32, pub InitGfx: u16, pub InitSoc: u16, pub InitU: u16, pub Padding2: u16, pub Spare: [u32; 8usize], } #[test] fn bindgen_test_layout_BootValues_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 112usize, concat!("Size of: ", stringify!(BootValues_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(BootValues_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitGfxclk_bypass) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitGfxclk_bypass) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitSocclk) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitSocclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitMp0clk) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitMp0clk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitMpioclk) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitMpioclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitSmnclk) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitSmnclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitUcpclk) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitUcpclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitCsrclk) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitCsrclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitDprefclk) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitDprefclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitDcfclk) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitDcfclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitDtbclk) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitDtbclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitDclk) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitDclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitVclk) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitVclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitUsbdfsclk) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitUsbdfsclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitMp1clk) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitMp1clk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitLclk) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitLclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitBaco400clk_bypass) as usize - ptr as usize }, 30usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitBaco400clk_bypass) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitBaco1200clk_bypass) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitBaco1200clk_bypass) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitBaco700clk_bypass) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitBaco700clk_bypass) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitFclk) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitFclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitGfxclk_clkb) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitGfxclk_clkb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitUclkDPMState) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitUclkDPMState) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding) as usize - ptr as usize }, 41usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(Padding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitVcoFreqPll0) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitVcoFreqPll0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitVcoFreqPll1) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitVcoFreqPll1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitVcoFreqPll2) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitVcoFreqPll2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitVcoFreqPll3) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitVcoFreqPll3) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitVcoFreqPll4) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitVcoFreqPll4) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitVcoFreqPll5) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitVcoFreqPll5) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitVcoFreqPll6) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitVcoFreqPll6) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitGfx) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitGfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitSoc) as usize - ptr as usize }, 74usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitSoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).InitU) as usize - ptr as usize }, 76usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(InitU) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding2) as usize - ptr as usize }, 78usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(Padding2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(BootValues_t), "::", stringify!(Spare) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct MsgLimits_t { pub Power: [[u16; 2usize]; 4usize], pub Tdc: [u16; 3usize], pub Temperature: [u16; 13usize], pub PwmLimitMin: u8, pub PwmLimitMax: u8, pub FanTargetTemperature: u8, pub Spare1: [u8; 1usize], pub AcousticTargetRpmThresholdMin: u16, pub AcousticTargetRpmThresholdMax: u16, pub AcousticLimitRpmThresholdMin: u16, pub AcousticLimitRpmThresholdMax: u16, pub PccLimitMin: u16, pub PccLimitMax: u16, pub FanStopTempMin: u16, pub FanStopTempMax: u16, pub FanStartTempMin: u16, pub FanStartTempMax: u16, pub PowerMinPpt0: [u16; 2usize], pub Spare: [u32; 11usize], } #[test] fn bindgen_test_layout_MsgLimits_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 120usize, concat!("Size of: ", stringify!(MsgLimits_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(MsgLimits_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Power) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(Power) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Tdc) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(Tdc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Temperature) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(Temperature) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PwmLimitMin) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(PwmLimitMin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PwmLimitMax) as usize - ptr as usize }, 49usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(PwmLimitMax) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanTargetTemperature) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(FanTargetTemperature) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Spare1) as usize - ptr as usize }, 51usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(Spare1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcousticTargetRpmThresholdMin) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(AcousticTargetRpmThresholdMin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcousticTargetRpmThresholdMax) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(AcousticTargetRpmThresholdMax) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcousticLimitRpmThresholdMin) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(AcousticLimitRpmThresholdMin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcousticLimitRpmThresholdMax) as usize - ptr as usize }, 58usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(AcousticLimitRpmThresholdMax) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PccLimitMin) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(PccLimitMin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PccLimitMax) as usize - ptr as usize }, 62usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(PccLimitMax) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanStopTempMin) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(FanStopTempMin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanStopTempMax) as usize - ptr as usize }, 66usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(FanStopTempMax) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanStartTempMin) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(FanStartTempMin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanStartTempMax) as usize - ptr as usize }, 70usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(FanStartTempMax) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PowerMinPpt0) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(PowerMinPpt0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, 76usize, concat!( "Offset of field: ", stringify!(MsgLimits_t), "::", stringify!(Spare) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DriverReportedClocks_t { pub BaseClockAc: u16, pub GameClockAc: u16, pub BoostClockAc: u16, pub BaseClockDc: u16, pub GameClockDc: u16, pub BoostClockDc: u16, pub Reserved: [u32; 4usize], } #[test] fn bindgen_test_layout_DriverReportedClocks_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 28usize, concat!("Size of: ", stringify!(DriverReportedClocks_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(DriverReportedClocks_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BaseClockAc) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(DriverReportedClocks_t), "::", stringify!(BaseClockAc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GameClockAc) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(DriverReportedClocks_t), "::", stringify!(GameClockAc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoostClockAc) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(DriverReportedClocks_t), "::", stringify!(BoostClockAc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BaseClockDc) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(DriverReportedClocks_t), "::", stringify!(BaseClockDc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GameClockDc) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(DriverReportedClocks_t), "::", stringify!(GameClockDc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoostClockDc) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(DriverReportedClocks_t), "::", stringify!(BoostClockDc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(DriverReportedClocks_t), "::", stringify!(Reserved) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct AvfsDcBtcParams_t { pub DcBtcEnabled: u8, pub Padding: [u8; 3usize], pub DcTol: u16, pub DcBtcGb: u16, pub DcBtcMin: u16, pub DcBtcMax: u16, pub DcBtcGbScalar: LinearInt_t, } #[test] fn bindgen_test_layout_AvfsDcBtcParams_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 20usize, concat!("Size of: ", stringify!(AvfsDcBtcParams_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(AvfsDcBtcParams_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcBtcEnabled) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(AvfsDcBtcParams_t), "::", stringify!(DcBtcEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(AvfsDcBtcParams_t), "::", stringify!(Padding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcTol) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(AvfsDcBtcParams_t), "::", stringify!(DcTol) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcBtcGb) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(AvfsDcBtcParams_t), "::", stringify!(DcBtcGb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcBtcMin) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(AvfsDcBtcParams_t), "::", stringify!(DcBtcMin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcBtcMax) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(AvfsDcBtcParams_t), "::", stringify!(DcBtcMax) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcBtcGbScalar) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(AvfsDcBtcParams_t), "::", stringify!(DcBtcGbScalar) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct AvfsFuseOverride_t { pub AvfsTemp: [u16; 2usize], pub VftFMin: u16, pub VInversion: u16, pub qVft: [QuadraticInt_t; 2usize], pub qAvfsGb: QuadraticInt_t, pub qAvfsGb2: QuadraticInt_t, } #[test] fn bindgen_test_layout_AvfsFuseOverride_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 56usize, concat!("Size of: ", stringify!(AvfsFuseOverride_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(AvfsFuseOverride_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AvfsTemp) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(AvfsFuseOverride_t), "::", stringify!(AvfsTemp) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VftFMin) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(AvfsFuseOverride_t), "::", stringify!(VftFMin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VInversion) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(AvfsFuseOverride_t), "::", stringify!(VInversion) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).qVft) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(AvfsFuseOverride_t), "::", stringify!(qVft) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).qAvfsGb) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(AvfsFuseOverride_t), "::", stringify!(qAvfsGb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).qAvfsGb2) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(AvfsFuseOverride_t), "::", stringify!(qAvfsGb2) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SkuTable_t { pub Version: u32, pub FeaturesToRun: [u32; 2usize], pub TotalPowerConfig: u8, pub CustomerVariant: u8, pub MemoryTemperatureTypeMask: u8, pub SmartShiftVersion: u8, pub SocketPowerLimitAc: [u16; 4usize], pub SocketPowerLimitDc: [u16; 4usize], pub SocketPowerLimitSmartShift2: u16, pub EnableLegacyPptLimit: u8, pub UseInputTelemetry: u8, pub SmartShiftMinReportedPptinDcs: u8, pub PaddingPpt: [u8; 1usize], pub VrTdcLimit: [u16; 3usize], pub PlatformTdcLimit: [u16; 3usize], pub TemperatureLimit: [u16; 13usize], pub HwCtfTempLimit: u16, pub PaddingInfra: u16, pub FitControllerFailureRateLimit: u32, pub FitControllerGfxDutyCycle: u32, pub FitControllerSocDutyCycle: u32, pub FitControllerSocOffset: u32, pub GfxApccPlusResidencyLimit: u32, pub ThrottlerControlMask: u32, pub FwDStateMask: u32, pub UlvVoltageOffset: [u16; 2usize], pub UlvVoltageOffsetU: u16, pub DeepUlvVoltageOffsetSoc: u16, pub DefaultMaxVoltage: [u16; 2usize], pub BoostMaxVoltage: [u16; 2usize], pub VminTempHystersis: [i16; 2usize], pub VminTempThreshold: [i16; 2usize], pub Vmin_Hot_T0: [u16; 2usize], pub Vmin_Cold_T0: [u16; 2usize], pub Vmin_Hot_Eol: [u16; 2usize], pub Vmin_Cold_Eol: [u16; 2usize], pub Vmin_Aging_Offset: [u16; 2usize], pub Spare_Vmin_Plat_Offset_Hot: [u16; 2usize], pub Spare_Vmin_Plat_Offset_Cold: [u16; 2usize], pub VcBtcFixedVminAgingOffset: [u16; 2usize], pub VcBtcVmin2PsmDegrationGb: [u16; 2usize], pub VcBtcPsmA: [u32; 2usize], pub VcBtcPsmB: [u32; 2usize], pub VcBtcVminA: [u32; 2usize], pub VcBtcVminB: [u32; 2usize], pub PerPartVminEnabled: [u8; 2usize], pub VcBtcEnabled: [u8; 2usize], pub SocketPowerLimitAcTau: [u16; 4usize], pub SocketPowerLimitDcTau: [u16; 4usize], pub Vmin_droop: QuadraticInt_t, pub SpareVmin: [u32; 9usize], pub DpmDescriptor: [DpmDescriptor_t; 13usize], pub FreqTableGfx: [u16; 16usize], pub FreqTableVclk: [u16; 8usize], pub FreqTableDclk: [u16; 8usize], pub FreqTableSocclk: [u16; 8usize], pub FreqTableUclk: [u16; 4usize], pub FreqTableDispclk: [u16; 8usize], pub FreqTableDppClk: [u16; 8usize], pub FreqTableDprefclk: [u16; 8usize], pub FreqTableDcfclk: [u16; 8usize], pub FreqTableDtbclk: [u16; 8usize], pub FreqTableFclk: [u16; 8usize], pub DcModeMaxFreq: [u32; 13usize], pub Mp0clkFreq: [u16; 2usize], pub Mp0DpmVoltage: [u16; 2usize], pub GfxclkSpare: [u8; 2usize], pub GfxclkFreqCap: u16, pub GfxclkFgfxoffEntry: u16, pub GfxclkFgfxoffExitImu: u16, pub GfxclkFgfxoffExitRlc: u16, pub GfxclkThrottleClock: u16, pub EnableGfxPowerStagesGpio: u8, pub GfxIdlePadding: u8, pub SmsRepairWRCKClkDivEn: u8, pub SmsRepairWRCKClkDivVal: u8, pub GfxOffEntryEarlyMGCGEn: u8, pub GfxOffEntryForceCGCGEn: u8, pub GfxOffEntryForceCGCGDelayEn: u8, pub GfxOffEntryForceCGCGDelayVal: u8, pub GfxclkFreqGfxUlv: u16, pub GfxIdlePadding2: [u8; 2usize], pub GfxOffEntryHysteresis: u32, pub GfxoffSpare: [u32; 15usize], pub DfllBtcMasterScalerM: u32, pub DfllBtcMasterScalerB: i32, pub DfllBtcSlaveScalerM: u32, pub DfllBtcSlaveScalerB: i32, pub DfllPccAsWaitCtrl: u32, pub DfllPccAsStepCtrl: u32, pub GfxGpoSpare: [u32; 10usize], pub DcsGfxOffVoltage: u16, pub PaddingDcs: u16, pub DcsMinGfxOffTime: u16, pub DcsMaxGfxOffTime: u16, pub DcsMinCreditAccum: u32, pub DcsExitHysteresis: u16, pub DcsTimeout: u16, pub DcsSpare: [u32; 14usize], pub ShadowFreqTableUclk: [u16; 4usize], pub UseStrobeModeOptimizations: u8, pub PaddingMem: [u8; 3usize], pub UclkDpmPstates: [u8; 4usize], pub FreqTableUclkDiv: [u8; 4usize], pub MemVmempVoltage: [u16; 4usize], pub MemVddioVoltage: [u16; 4usize], pub FclkDpmUPstates: [u8; 8usize], pub FclkDpmVddU: [u16; 8usize], pub FclkDpmUSpeed: [u16; 8usize], pub FclkDpmDisallowPstateFreq: u16, pub PaddingFclk: u16, #[doc = "< 0:PciE-gen1 1:PciE-gen2 2:PciE-gen3 3:PciE-gen4"] pub PcieGenSpeed: [u8; 3usize], #[doc = "< 1=x1, 2=x2, 3=x4, 4=x8, 5=x12, 6=x16"] pub PcieLaneCount: [u8; 3usize], pub LclkFreq: [u16; 3usize], pub FanStopTemp: [u16; 13usize], pub FanStartTemp: [u16; 13usize], pub FanGain: [u16; 13usize], pub FanGainPadding: u16, pub FanPwmMin: u16, pub AcousticTargetRpmThreshold: u16, pub AcousticLimitRpmThreshold: u16, pub FanMaximumRpm: u16, pub MGpuAcousticLimitRpmThreshold: u16, pub FanTargetGfxclk: u16, pub TempInputSelectMask: u32, pub FanZeroRpmEnable: u8, pub FanTachEdgePerRev: u8, pub FanTargetTemperature: [u16; 13usize], pub FuzzyFan_ErrorSetDelta: i16, pub FuzzyFan_ErrorRateSetDelta: i16, pub FuzzyFan_PwmSetDelta: i16, pub FuzzyFan_Reserved: u16, pub FwCtfLimit: [u16; 13usize], pub IntakeTempEnableRPM: u16, pub IntakeTempOffsetTemp: i16, pub IntakeTempReleaseTemp: u16, pub IntakeTempHighIntakeAcousticLimit: u16, pub IntakeTempAcouticLimitReleaseRate: u16, pub FanAbnormalTempLimitOffset: i16, pub FanStalledTriggerRpm: u16, pub FanAbnormalTriggerRpmCoeff: u16, pub FanAbnormalDetectionEnable: u16, pub FanIntakeSensorSupport: u8, pub FanIntakePadding: [u8; 3usize], pub FanSpare: [u32; 13usize], pub OverrideGfxAvfsFuses: u8, pub GfxAvfsPadding: [u8; 3usize], pub L2HwRtAvfsFuses: [u32; 32usize], pub SeHwRtAvfsFuses: [u32; 32usize], pub CommonRtAvfs: [u32; 13usize], pub L2FwRtAvfsFuses: [u32; 19usize], pub SeFwRtAvfsFuses: [u32; 19usize], pub Droop_PWL_F: [u32; 5usize], pub Droop_PWL_a: [u32; 5usize], pub Droop_PWL_b: [u32; 5usize], pub Droop_PWL_c: [u32; 5usize], pub Static_PWL_Offset: [u32; 5usize], pub dGbV_dT_vmin: u32, pub dGbV_dT_vmax: u32, pub V2F_vmin_range_low: u32, pub V2F_vmin_range_high: u32, pub V2F_vmax_range_low: u32, pub V2F_vmax_range_high: u32, pub DcBtcGfxParams: AvfsDcBtcParams_t, pub GfxAvfsSpare: [u32; 32usize], pub OverrideSocAvfsFuses: u8, pub MinSocAvfsRevision: u8, pub SocAvfsPadding: [u8; 2usize], pub SocAvfsFuseOverride: [AvfsFuseOverride_t; 3usize], pub dBtcGbSoc: [DroopInt_t; 3usize], pub qAgingGb: [LinearInt_t; 3usize], pub qStaticVoltageOffset: [QuadraticInt_t; 3usize], pub DcBtcSocParams: [AvfsDcBtcParams_t; 3usize], pub SocAvfsSpare: [u32; 32usize], pub BootValues: BootValues_t, pub DriverReportedClocks: DriverReportedClocks_t, pub MsgLimits: MsgLimits_t, pub OverDriveLimitsMin: OverDriveLimits_t, pub OverDriveLimitsBasicMax: OverDriveLimits_t, pub OverDriveLimitsAdvancedMax: OverDriveLimits_t, pub DebugOverrides: u32, pub TotalBoardPowerSupport: u8, pub TotalBoardPowerPadding: [u8; 3usize], pub TotalIdleBoardPowerM: i16, pub TotalIdleBoardPowerB: i16, pub TotalBoardPowerM: i16, pub TotalBoardPowerB: i16, pub qFeffCoeffGameClock: [QuadraticInt_t; 2usize], pub qFeffCoeffBaseClock: [QuadraticInt_t; 2usize], pub qFeffCoeffBoostClock: [QuadraticInt_t; 2usize], pub Spare: [u32; 43usize], pub MmHubPadding: [u32; 8usize], } #[test] fn bindgen_test_layout_SkuTable_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 3484usize, concat!("Size of: ", stringify!(SkuTable_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(SkuTable_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Version) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FeaturesToRun) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FeaturesToRun) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).TotalPowerConfig) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(TotalPowerConfig) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).CustomerVariant) as usize - ptr as usize }, 13usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(CustomerVariant) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MemoryTemperatureTypeMask) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(MemoryTemperatureTypeMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SmartShiftVersion) as usize - ptr as usize }, 15usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SmartShiftVersion) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocketPowerLimitAc) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SocketPowerLimitAc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocketPowerLimitDc) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SocketPowerLimitDc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocketPowerLimitSmartShift2) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SocketPowerLimitSmartShift2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).EnableLegacyPptLimit) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(EnableLegacyPptLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UseInputTelemetry) as usize - ptr as usize }, 35usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(UseInputTelemetry) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SmartShiftMinReportedPptinDcs) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SmartShiftMinReportedPptinDcs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PaddingPpt) as usize - ptr as usize }, 37usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(PaddingPpt) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VrTdcLimit) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(VrTdcLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PlatformTdcLimit) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(PlatformTdcLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).TemperatureLimit) as usize - ptr as usize }, 50usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(TemperatureLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).HwCtfTempLimit) as usize - ptr as usize }, 76usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(HwCtfTempLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PaddingInfra) as usize - ptr as usize }, 78usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(PaddingInfra) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FitControllerFailureRateLimit) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FitControllerFailureRateLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FitControllerGfxDutyCycle) as usize - ptr as usize }, 84usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FitControllerGfxDutyCycle) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FitControllerSocDutyCycle) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FitControllerSocDutyCycle) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FitControllerSocOffset) as usize - ptr as usize }, 92usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FitControllerSocOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxApccPlusResidencyLimit) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxApccPlusResidencyLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ThrottlerControlMask) as usize - ptr as usize }, 100usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(ThrottlerControlMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FwDStateMask) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FwDStateMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UlvVoltageOffset) as usize - ptr as usize }, 108usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(UlvVoltageOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UlvVoltageOffsetU) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(UlvVoltageOffsetU) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DeepUlvVoltageOffsetSoc) as usize - ptr as usize }, 114usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DeepUlvVoltageOffsetSoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DefaultMaxVoltage) as usize - ptr as usize }, 116usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DefaultMaxVoltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoostMaxVoltage) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(BoostMaxVoltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VminTempHystersis) as usize - ptr as usize }, 124usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(VminTempHystersis) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VminTempThreshold) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(VminTempThreshold) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Vmin_Hot_T0) as usize - ptr as usize }, 132usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Vmin_Hot_T0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Vmin_Cold_T0) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Vmin_Cold_T0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Vmin_Hot_Eol) as usize - ptr as usize }, 140usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Vmin_Hot_Eol) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Vmin_Cold_Eol) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Vmin_Cold_Eol) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Vmin_Aging_Offset) as usize - ptr as usize }, 148usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Vmin_Aging_Offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Spare_Vmin_Plat_Offset_Hot) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Spare_Vmin_Plat_Offset_Hot) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Spare_Vmin_Plat_Offset_Cold) as usize - ptr as usize }, 156usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Spare_Vmin_Plat_Offset_Cold) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VcBtcFixedVminAgingOffset) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(VcBtcFixedVminAgingOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VcBtcVmin2PsmDegrationGb) as usize - ptr as usize }, 164usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(VcBtcVmin2PsmDegrationGb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VcBtcPsmA) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(VcBtcPsmA) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VcBtcPsmB) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(VcBtcPsmB) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VcBtcVminA) as usize - ptr as usize }, 184usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(VcBtcVminA) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VcBtcVminB) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(VcBtcVminB) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PerPartVminEnabled) as usize - ptr as usize }, 200usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(PerPartVminEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VcBtcEnabled) as usize - ptr as usize }, 202usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(VcBtcEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocketPowerLimitAcTau) as usize - ptr as usize }, 204usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SocketPowerLimitAcTau) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocketPowerLimitDcTau) as usize - ptr as usize }, 212usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SocketPowerLimitDcTau) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Vmin_droop) as usize - ptr as usize }, 220usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Vmin_droop) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SpareVmin) as usize - ptr as usize }, 232usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SpareVmin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DpmDescriptor) as usize - ptr as usize }, 268usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DpmDescriptor) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableGfx) as usize - ptr as usize }, 684usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FreqTableGfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableVclk) as usize - ptr as usize }, 716usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FreqTableVclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableDclk) as usize - ptr as usize }, 732usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FreqTableDclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableSocclk) as usize - ptr as usize }, 748usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FreqTableSocclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableUclk) as usize - ptr as usize }, 764usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FreqTableUclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableDispclk) as usize - ptr as usize }, 772usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FreqTableDispclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableDppClk) as usize - ptr as usize }, 788usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FreqTableDppClk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableDprefclk) as usize - ptr as usize }, 804usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FreqTableDprefclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableDcfclk) as usize - ptr as usize }, 820usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FreqTableDcfclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableDtbclk) as usize - ptr as usize }, 836usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FreqTableDtbclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableFclk) as usize - ptr as usize }, 852usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FreqTableFclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcModeMaxFreq) as usize - ptr as usize }, 868usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DcModeMaxFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mp0clkFreq) as usize - ptr as usize }, 920usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Mp0clkFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mp0DpmVoltage) as usize - ptr as usize }, 924usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Mp0DpmVoltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxclkSpare) as usize - ptr as usize }, 928usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxclkSpare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxclkFreqCap) as usize - ptr as usize }, 930usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxclkFreqCap) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxclkFgfxoffEntry) as usize - ptr as usize }, 932usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxclkFgfxoffEntry) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxclkFgfxoffExitImu) as usize - ptr as usize }, 934usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxclkFgfxoffExitImu) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxclkFgfxoffExitRlc) as usize - ptr as usize }, 936usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxclkFgfxoffExitRlc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxclkThrottleClock) as usize - ptr as usize }, 938usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxclkThrottleClock) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).EnableGfxPowerStagesGpio) as usize - ptr as usize }, 940usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(EnableGfxPowerStagesGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxIdlePadding) as usize - ptr as usize }, 941usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxIdlePadding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SmsRepairWRCKClkDivEn) as usize - ptr as usize }, 942usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SmsRepairWRCKClkDivEn) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SmsRepairWRCKClkDivVal) as usize - ptr as usize }, 943usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SmsRepairWRCKClkDivVal) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxOffEntryEarlyMGCGEn) as usize - ptr as usize }, 944usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxOffEntryEarlyMGCGEn) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxOffEntryForceCGCGEn) as usize - ptr as usize }, 945usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxOffEntryForceCGCGEn) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxOffEntryForceCGCGDelayEn) as usize - ptr as usize }, 946usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxOffEntryForceCGCGDelayEn) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxOffEntryForceCGCGDelayVal) as usize - ptr as usize }, 947usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxOffEntryForceCGCGDelayVal) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxclkFreqGfxUlv) as usize - ptr as usize }, 948usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxclkFreqGfxUlv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxIdlePadding2) as usize - ptr as usize }, 950usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxIdlePadding2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxOffEntryHysteresis) as usize - ptr as usize }, 952usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxOffEntryHysteresis) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxoffSpare) as usize - ptr as usize }, 956usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxoffSpare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllBtcMasterScalerM) as usize - ptr as usize }, 1016usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DfllBtcMasterScalerM) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllBtcMasterScalerB) as usize - ptr as usize }, 1020usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DfllBtcMasterScalerB) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllBtcSlaveScalerM) as usize - ptr as usize }, 1024usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DfllBtcSlaveScalerM) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllBtcSlaveScalerB) as usize - ptr as usize }, 1028usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DfllBtcSlaveScalerB) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllPccAsWaitCtrl) as usize - ptr as usize }, 1032usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DfllPccAsWaitCtrl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DfllPccAsStepCtrl) as usize - ptr as usize }, 1036usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DfllPccAsStepCtrl) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxGpoSpare) as usize - ptr as usize }, 1040usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxGpoSpare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcsGfxOffVoltage) as usize - ptr as usize }, 1080usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DcsGfxOffVoltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PaddingDcs) as usize - ptr as usize }, 1082usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(PaddingDcs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcsMinGfxOffTime) as usize - ptr as usize }, 1084usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DcsMinGfxOffTime) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcsMaxGfxOffTime) as usize - ptr as usize }, 1086usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DcsMaxGfxOffTime) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcsMinCreditAccum) as usize - ptr as usize }, 1088usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DcsMinCreditAccum) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcsExitHysteresis) as usize - ptr as usize }, 1092usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DcsExitHysteresis) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcsTimeout) as usize - ptr as usize }, 1094usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DcsTimeout) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcsSpare) as usize - ptr as usize }, 1096usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DcsSpare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ShadowFreqTableUclk) as usize - ptr as usize }, 1152usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(ShadowFreqTableUclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UseStrobeModeOptimizations) as usize - ptr as usize }, 1160usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(UseStrobeModeOptimizations) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PaddingMem) as usize - ptr as usize }, 1161usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(PaddingMem) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkDpmPstates) as usize - ptr as usize }, 1164usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(UclkDpmPstates) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableUclkDiv) as usize - ptr as usize }, 1168usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FreqTableUclkDiv) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MemVmempVoltage) as usize - ptr as usize }, 1172usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(MemVmempVoltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MemVddioVoltage) as usize - ptr as usize }, 1180usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(MemVddioVoltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FclkDpmUPstates) as usize - ptr as usize }, 1188usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FclkDpmUPstates) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FclkDpmVddU) as usize - ptr as usize }, 1196usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FclkDpmVddU) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FclkDpmUSpeed) as usize - ptr as usize }, 1212usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FclkDpmUSpeed) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FclkDpmDisallowPstateFreq) as usize - ptr as usize }, 1228usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FclkDpmDisallowPstateFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PaddingFclk) as usize - ptr as usize }, 1230usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(PaddingFclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PcieGenSpeed) as usize - ptr as usize }, 1232usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(PcieGenSpeed) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PcieLaneCount) as usize - ptr as usize }, 1235usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(PcieLaneCount) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LclkFreq) as usize - ptr as usize }, 1238usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(LclkFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanStopTemp) as usize - ptr as usize }, 1244usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanStopTemp) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanStartTemp) as usize - ptr as usize }, 1270usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanStartTemp) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanGain) as usize - ptr as usize }, 1296usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanGain) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanGainPadding) as usize - ptr as usize }, 1322usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanGainPadding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanPwmMin) as usize - ptr as usize }, 1324usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanPwmMin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcousticTargetRpmThreshold) as usize - ptr as usize }, 1326usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(AcousticTargetRpmThreshold) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcousticLimitRpmThreshold) as usize - ptr as usize }, 1328usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(AcousticLimitRpmThreshold) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanMaximumRpm) as usize - ptr as usize }, 1330usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanMaximumRpm) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MGpuAcousticLimitRpmThreshold) as usize - ptr as usize }, 1332usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(MGpuAcousticLimitRpmThreshold) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanTargetGfxclk) as usize - ptr as usize }, 1334usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanTargetGfxclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).TempInputSelectMask) as usize - ptr as usize }, 1336usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(TempInputSelectMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanZeroRpmEnable) as usize - ptr as usize }, 1340usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanZeroRpmEnable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanTachEdgePerRev) as usize - ptr as usize }, 1341usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanTachEdgePerRev) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanTargetTemperature) as usize - ptr as usize }, 1342usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanTargetTemperature) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FuzzyFan_ErrorSetDelta) as usize - ptr as usize }, 1368usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FuzzyFan_ErrorSetDelta) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FuzzyFan_ErrorRateSetDelta) as usize - ptr as usize }, 1370usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FuzzyFan_ErrorRateSetDelta) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FuzzyFan_PwmSetDelta) as usize - ptr as usize }, 1372usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FuzzyFan_PwmSetDelta) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FuzzyFan_Reserved) as usize - ptr as usize }, 1374usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FuzzyFan_Reserved) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FwCtfLimit) as usize - ptr as usize }, 1376usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FwCtfLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).IntakeTempEnableRPM) as usize - ptr as usize }, 1402usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(IntakeTempEnableRPM) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).IntakeTempOffsetTemp) as usize - ptr as usize }, 1404usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(IntakeTempOffsetTemp) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).IntakeTempReleaseTemp) as usize - ptr as usize }, 1406usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(IntakeTempReleaseTemp) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).IntakeTempHighIntakeAcousticLimit) as usize - ptr as usize }, 1408usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(IntakeTempHighIntakeAcousticLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).IntakeTempAcouticLimitReleaseRate) as usize - ptr as usize }, 1410usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(IntakeTempAcouticLimitReleaseRate) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanAbnormalTempLimitOffset) as usize - ptr as usize }, 1412usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanAbnormalTempLimitOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanStalledTriggerRpm) as usize - ptr as usize }, 1414usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanStalledTriggerRpm) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanAbnormalTriggerRpmCoeff) as usize - ptr as usize }, 1416usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanAbnormalTriggerRpmCoeff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanAbnormalDetectionEnable) as usize - ptr as usize }, 1418usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanAbnormalDetectionEnable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanIntakeSensorSupport) as usize - ptr as usize }, 1420usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanIntakeSensorSupport) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanIntakePadding) as usize - ptr as usize }, 1421usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanIntakePadding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanSpare) as usize - ptr as usize }, 1424usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(FanSpare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).OverrideGfxAvfsFuses) as usize - ptr as usize }, 1476usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(OverrideGfxAvfsFuses) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxAvfsPadding) as usize - ptr as usize }, 1477usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxAvfsPadding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).L2HwRtAvfsFuses) as usize - ptr as usize }, 1480usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(L2HwRtAvfsFuses) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SeHwRtAvfsFuses) as usize - ptr as usize }, 1608usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SeHwRtAvfsFuses) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).CommonRtAvfs) as usize - ptr as usize }, 1736usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(CommonRtAvfs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).L2FwRtAvfsFuses) as usize - ptr as usize }, 1788usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(L2FwRtAvfsFuses) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SeFwRtAvfsFuses) as usize - ptr as usize }, 1864usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SeFwRtAvfsFuses) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Droop_PWL_F) as usize - ptr as usize }, 1940usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Droop_PWL_F) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Droop_PWL_a) as usize - ptr as usize }, 1960usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Droop_PWL_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Droop_PWL_b) as usize - ptr as usize }, 1980usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Droop_PWL_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Droop_PWL_c) as usize - ptr as usize }, 2000usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Droop_PWL_c) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Static_PWL_Offset) as usize - ptr as usize }, 2020usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Static_PWL_Offset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dGbV_dT_vmin) as usize - ptr as usize }, 2040usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(dGbV_dT_vmin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dGbV_dT_vmax) as usize - ptr as usize }, 2044usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(dGbV_dT_vmax) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).V2F_vmin_range_low) as usize - ptr as usize }, 2048usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(V2F_vmin_range_low) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).V2F_vmin_range_high) as usize - ptr as usize }, 2052usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(V2F_vmin_range_high) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).V2F_vmax_range_low) as usize - ptr as usize }, 2056usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(V2F_vmax_range_low) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).V2F_vmax_range_high) as usize - ptr as usize }, 2060usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(V2F_vmax_range_high) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcBtcGfxParams) as usize - ptr as usize }, 2064usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DcBtcGfxParams) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxAvfsSpare) as usize - ptr as usize }, 2084usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(GfxAvfsSpare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).OverrideSocAvfsFuses) as usize - ptr as usize }, 2212usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(OverrideSocAvfsFuses) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MinSocAvfsRevision) as usize - ptr as usize }, 2213usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(MinSocAvfsRevision) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocAvfsPadding) as usize - ptr as usize }, 2214usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SocAvfsPadding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocAvfsFuseOverride) as usize - ptr as usize }, 2216usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SocAvfsFuseOverride) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dBtcGbSoc) as usize - ptr as usize }, 2384usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(dBtcGbSoc) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).qAgingGb) as usize - ptr as usize }, 2420usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(qAgingGb) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).qStaticVoltageOffset) as usize - ptr as usize }, 2444usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(qStaticVoltageOffset) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcBtcSocParams) as usize - ptr as usize }, 2480usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DcBtcSocParams) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocAvfsSpare) as usize - ptr as usize }, 2540usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(SocAvfsSpare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BootValues) as usize - ptr as usize }, 2668usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(BootValues) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DriverReportedClocks) as usize - ptr as usize }, 2780usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DriverReportedClocks) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MsgLimits) as usize - ptr as usize }, 2808usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(MsgLimits) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).OverDriveLimitsMin) as usize - ptr as usize }, 2928usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(OverDriveLimitsMin) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).OverDriveLimitsBasicMax) as usize - ptr as usize }, 3016usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(OverDriveLimitsBasicMax) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).OverDriveLimitsAdvancedMax) as usize - ptr as usize }, 3104usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(OverDriveLimitsAdvancedMax) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DebugOverrides) as usize - ptr as usize }, 3192usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(DebugOverrides) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).TotalBoardPowerSupport) as usize - ptr as usize }, 3196usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(TotalBoardPowerSupport) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).TotalBoardPowerPadding) as usize - ptr as usize }, 3197usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(TotalBoardPowerPadding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).TotalIdleBoardPowerM) as usize - ptr as usize }, 3200usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(TotalIdleBoardPowerM) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).TotalIdleBoardPowerB) as usize - ptr as usize }, 3202usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(TotalIdleBoardPowerB) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).TotalBoardPowerM) as usize - ptr as usize }, 3204usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(TotalBoardPowerM) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).TotalBoardPowerB) as usize - ptr as usize }, 3206usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(TotalBoardPowerB) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).qFeffCoeffGameClock) as usize - ptr as usize }, 3208usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(qFeffCoeffGameClock) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).qFeffCoeffBaseClock) as usize - ptr as usize }, 3232usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(qFeffCoeffBaseClock) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).qFeffCoeffBoostClock) as usize - ptr as usize }, 3256usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(qFeffCoeffBoostClock) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, 3280usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(Spare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MmHubPadding) as usize - ptr as usize }, 3452usize, concat!( "Offset of field: ", stringify!(SkuTable_t), "::", stringify!(MmHubPadding) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct BoardTable_t { pub Version: u32, pub I2cControllers: [I2cControllerConfig_t; 8usize], pub VddGfxVrMapping: u8, pub VddSocVrMapping: u8, pub VddMem0VrMapping: u8, pub VddMem1VrMapping: u8, pub GfxUlvPhaseSheddingMask: u8, pub SocUlvPhaseSheddingMask: u8, pub VmempUlvPhaseSheddingMask: u8, pub VddioUlvPhaseSheddingMask: u8, pub SlaveAddrMapping: [u8; 5usize], pub VrPsiSupport: [u8; 5usize], pub PaddingPsi: [u8; 5usize], pub EnablePsi6: [u8; 5usize], pub SviTelemetryScale: [SviTelemetryScale_t; 5usize], pub VoltageTelemetryRatio: [u32; 5usize], pub DownSlewRateVr: [u8; 5usize], pub LedOffGpio: u8, pub FanOffGpio: u8, pub GfxVrPowerStageOffGpio: u8, pub AcDcGpio: u8, pub AcDcPolarity: u8, pub VR0HotGpio: u8, pub VR0HotPolarity: u8, pub GthrGpio: u8, pub GthrPolarity: u8, pub LedPin0: u8, pub LedPin1: u8, pub LedPin2: u8, pub LedEnableMask: u8, pub LedPcie: u8, pub LedError: u8, pub UclkTrainingModeSpreadPercent: u8, pub UclkSpreadPadding: u8, pub UclkSpreadFreq: u16, pub UclkSpreadPercent: [u8; 16usize], pub FclkSpreadPadding: u8, pub FclkSpreadPercent: u8, pub FclkSpreadFreq: u16, pub DramWidth: u8, pub PaddingMem1: [u8; 7usize], pub HsrEnabled: u8, pub VddqOffEnabled: u8, pub PaddingUmcFlags: [u8; 2usize], pub PostVoltageSetBacoDelay: u32, pub BacoEntryDelay: u32, pub FuseWritePowerMuxPresent: u8, pub FuseWritePadding: [u8; 3usize], pub BoardSpare: [u32; 63usize], pub MmHubPadding: [u32; 8usize], } #[test] fn bindgen_test_layout_BoardTable_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 488usize, concat!("Size of: ", stringify!(BoardTable_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(BoardTable_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(Version) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).I2cControllers) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(I2cControllers) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddGfxVrMapping) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(VddGfxVrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddSocVrMapping) as usize - ptr as usize }, 69usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(VddSocVrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddMem0VrMapping) as usize - ptr as usize }, 70usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(VddMem0VrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddMem1VrMapping) as usize - ptr as usize }, 71usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(VddMem1VrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxUlvPhaseSheddingMask) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(GfxUlvPhaseSheddingMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocUlvPhaseSheddingMask) as usize - ptr as usize }, 73usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(SocUlvPhaseSheddingMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VmempUlvPhaseSheddingMask) as usize - ptr as usize }, 74usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(VmempUlvPhaseSheddingMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddioUlvPhaseSheddingMask) as usize - ptr as usize }, 75usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(VddioUlvPhaseSheddingMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SlaveAddrMapping) as usize - ptr as usize }, 76usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(SlaveAddrMapping) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VrPsiSupport) as usize - ptr as usize }, 81usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(VrPsiSupport) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PaddingPsi) as usize - ptr as usize }, 86usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(PaddingPsi) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).EnablePsi6) as usize - ptr as usize }, 91usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(EnablePsi6) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SviTelemetryScale) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(SviTelemetryScale) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VoltageTelemetryRatio) as usize - ptr as usize }, 116usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(VoltageTelemetryRatio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DownSlewRateVr) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(DownSlewRateVr) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedOffGpio) as usize - ptr as usize }, 141usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(LedOffGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FanOffGpio) as usize - ptr as usize }, 142usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(FanOffGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxVrPowerStageOffGpio) as usize - ptr as usize }, 143usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(GfxVrPowerStageOffGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcDcGpio) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(AcDcGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AcDcPolarity) as usize - ptr as usize }, 145usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(AcDcPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR0HotGpio) as usize - ptr as usize }, 146usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(VR0HotGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VR0HotPolarity) as usize - ptr as usize }, 147usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(VR0HotPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GthrGpio) as usize - ptr as usize }, 148usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(GthrGpio) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GthrPolarity) as usize - ptr as usize }, 149usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(GthrPolarity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPin0) as usize - ptr as usize }, 150usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(LedPin0) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPin1) as usize - ptr as usize }, 151usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(LedPin1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPin2) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(LedPin2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedEnableMask) as usize - ptr as usize }, 153usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(LedEnableMask) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedPcie) as usize - ptr as usize }, 154usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(LedPcie) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).LedError) as usize - ptr as usize }, 155usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(LedError) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkTrainingModeSpreadPercent) as usize - ptr as usize }, 156usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(UclkTrainingModeSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadPadding) as usize - ptr as usize }, 157usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(UclkSpreadPadding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadFreq) as usize - ptr as usize }, 158usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(UclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkSpreadPercent) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(UclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FclkSpreadPadding) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(FclkSpreadPadding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FclkSpreadPercent) as usize - ptr as usize }, 177usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(FclkSpreadPercent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FclkSpreadFreq) as usize - ptr as usize }, 178usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(FclkSpreadFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DramWidth) as usize - ptr as usize }, 180usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(DramWidth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PaddingMem1) as usize - ptr as usize }, 181usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(PaddingMem1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).HsrEnabled) as usize - ptr as usize }, 188usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(HsrEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VddqOffEnabled) as usize - ptr as usize }, 189usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(VddqOffEnabled) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PaddingUmcFlags) as usize - ptr as usize }, 190usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(PaddingUmcFlags) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PostVoltageSetBacoDelay) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(PostVoltageSetBacoDelay) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BacoEntryDelay) as usize - ptr as usize }, 196usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(BacoEntryDelay) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FuseWritePowerMuxPresent) as usize - ptr as usize }, 200usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(FuseWritePowerMuxPresent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FuseWritePadding) as usize - ptr as usize }, 201usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(FuseWritePadding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoardSpare) as usize - ptr as usize }, 204usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(BoardSpare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MmHubPadding) as usize - ptr as usize }, 456usize, concat!( "Offset of field: ", stringify!(BoardTable_t), "::", stringify!(MmHubPadding) ) ); } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct PPTable_t { pub SkuTable: SkuTable_t, pub BoardTable: BoardTable_t, } #[test] fn bindgen_test_layout_PPTable_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 3972usize, concat!("Size of: ", stringify!(PPTable_t)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(PPTable_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SkuTable) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(PPTable_t), "::", stringify!(SkuTable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).BoardTable) as usize - ptr as usize }, 3484usize, concat!( "Offset of field: ", stringify!(PPTable_t), "::", stringify!(BoardTable) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DriverSmuConfig_t { pub GfxclkAverageLpfTau: u16, pub FclkAverageLpfTau: u16, pub UclkAverageLpfTau: u16, pub GfxActivityLpfTau: u16, pub UclkActivityLpfTau: u16, pub SocketPowerLpfTau: u16, pub VcnClkAverageLpfTau: u16, pub VcnUsageAverageLpfTau: u16, } #[test] fn bindgen_test_layout_DriverSmuConfig_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(DriverSmuConfig_t)) ); assert_eq!( ::core::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(DriverSmuConfig_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxclkAverageLpfTau) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(DriverSmuConfig_t), "::", stringify!(GfxclkAverageLpfTau) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FclkAverageLpfTau) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(DriverSmuConfig_t), "::", stringify!(FclkAverageLpfTau) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkAverageLpfTau) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(DriverSmuConfig_t), "::", stringify!(UclkAverageLpfTau) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).GfxActivityLpfTau) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(DriverSmuConfig_t), "::", stringify!(GfxActivityLpfTau) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).UclkActivityLpfTau) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(DriverSmuConfig_t), "::", stringify!(UclkActivityLpfTau) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SocketPowerLpfTau) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(DriverSmuConfig_t), "::", stringify!(SocketPowerLpfTau) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VcnClkAverageLpfTau) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(DriverSmuConfig_t), "::", stringify!(VcnClkAverageLpfTau) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).VcnUsageAverageLpfTau) as usize - ptr as usize }, 14usize, concat!( "Offset of field: ", stringify!(DriverSmuConfig_t), "::", stringify!(VcnUsageAverageLpfTau) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DriverSmuConfigExternal_t { pub DriverSmuConfig: DriverSmuConfig_t, pub Spare: [u32; 8usize], pub MmHubPadding: [u32; 8usize], } #[test] fn bindgen_test_layout_DriverSmuConfigExternal_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 80usize, concat!("Size of: ", stringify!(DriverSmuConfigExternal_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(DriverSmuConfigExternal_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DriverSmuConfig) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(DriverSmuConfigExternal_t), "::", stringify!(DriverSmuConfig) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(DriverSmuConfigExternal_t), "::", stringify!(Spare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MmHubPadding) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(DriverSmuConfigExternal_t), "::", stringify!(MmHubPadding) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DriverInfoTable_t { pub FreqTableGfx: [u16; 16usize], pub FreqTableVclk: [u16; 8usize], pub FreqTableDclk: [u16; 8usize], pub FreqTableSocclk: [u16; 8usize], pub FreqTableUclk: [u16; 4usize], pub FreqTableDispclk: [u16; 8usize], pub FreqTableDppClk: [u16; 8usize], pub FreqTableDprefclk: [u16; 8usize], pub FreqTableDcfclk: [u16; 8usize], pub FreqTableDtbclk: [u16; 8usize], pub FreqTableFclk: [u16; 8usize], pub DcModeMaxFreq: [u16; 13usize], pub Padding: u16, pub Spare: [u32; 32usize], pub MmHubPadding: [u32; 8usize], } #[test] fn bindgen_test_layout_DriverInfoTable_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 372usize, concat!("Size of: ", stringify!(DriverInfoTable_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(DriverInfoTable_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableGfx) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(FreqTableGfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableVclk) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(FreqTableVclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableDclk) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(FreqTableDclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableSocclk) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(FreqTableSocclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableUclk) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(FreqTableUclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableDispclk) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(FreqTableDispclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableDppClk) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(FreqTableDppClk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableDprefclk) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(FreqTableDprefclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableDcfclk) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(FreqTableDcfclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableDtbclk) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(FreqTableDtbclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).FreqTableFclk) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(FreqTableFclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DcModeMaxFreq) as usize - ptr as usize }, 184usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(DcModeMaxFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding) as usize - ptr as usize }, 210usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(Padding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, 212usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(Spare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MmHubPadding) as usize - ptr as usize }, 340usize, concat!( "Offset of field: ", stringify!(DriverInfoTable_t), "::", stringify!(MmHubPadding) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SmuMetrics_t { pub CurrClock: [u32; 13usize], pub AverageGfxclkFrequencyTarget: u16, pub AverageGfxclkFrequencyPreDs: u16, pub AverageGfxclkFrequencyPostDs: u16, pub AverageFclkFrequencyPreDs: u16, pub AverageFclkFrequencyPostDs: u16, pub AverageMemclkFrequencyPreDs: u16, pub AverageMemclkFrequencyPostDs: u16, pub AverageVclk0Frequency: u16, pub AverageDclk0Frequency: u16, pub AverageVclk1Frequency: u16, pub AverageDclk1Frequency: u16, pub PCIeBusy: u16, pub dGPU_W_MAX: u16, pub padding: u16, pub MetricsCounter: u32, pub AvgVoltage: [u16; 5usize], pub AvgCurrent: [u16; 5usize], pub AverageGfxActivity: u16, pub AverageUclkActivity: u16, pub Vcn0ActivityPercentage: u16, pub Vcn1ActivityPercentage: u16, pub EnergyAccumulator: u32, pub AverageSocketPower: u16, pub AverageTotalBoardPower: u16, pub AvgTemperature: [u16; 13usize], pub AvgTemperatureFanIntake: u16, pub PcieRate: u8, pub PcieWidth: u8, pub AvgFanPwm: u8, pub Padding: [u8; 1usize], pub AvgFanRpm: u16, pub ThrottlingPercentage: [u8; 22usize], pub D3HotEntryCountPerMode: [u32; 4usize], pub D3HotExitCountPerMode: [u32; 4usize], pub ArmMsgReceivedCountPerMode: [u32; 4usize], pub ApuSTAPMSmartShiftLimit: u16, pub ApuSTAPMLimit: u16, pub AvgApuSocketPower: u16, pub AverageUclkActivity_MAX: u16, pub PublicSerialNumberLower: u32, pub PublicSerialNumberUpper: u32, } #[test] fn bindgen_test_layout_SmuMetrics_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 240usize, concat!("Size of: ", stringify!(SmuMetrics_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(SmuMetrics_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).CurrClock) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(CurrClock) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageGfxclkFrequencyTarget) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageGfxclkFrequencyTarget) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageGfxclkFrequencyPreDs) as usize - ptr as usize }, 54usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageGfxclkFrequencyPreDs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageGfxclkFrequencyPostDs) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageGfxclkFrequencyPostDs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageFclkFrequencyPreDs) as usize - ptr as usize }, 58usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageFclkFrequencyPreDs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageFclkFrequencyPostDs) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageFclkFrequencyPostDs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageMemclkFrequencyPreDs) as usize - ptr as usize }, 62usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageMemclkFrequencyPreDs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageMemclkFrequencyPostDs) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageMemclkFrequencyPostDs) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageVclk0Frequency) as usize - ptr as usize }, 66usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageVclk0Frequency) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageDclk0Frequency) as usize - ptr as usize }, 68usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageDclk0Frequency) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageVclk1Frequency) as usize - ptr as usize }, 70usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageVclk1Frequency) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageDclk1Frequency) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageDclk1Frequency) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PCIeBusy) as usize - ptr as usize }, 74usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(PCIeBusy) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).dGPU_W_MAX) as usize - ptr as usize }, 76usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(dGPU_W_MAX) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize }, 78usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(padding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MetricsCounter) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(MetricsCounter) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AvgVoltage) as usize - ptr as usize }, 84usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AvgVoltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AvgCurrent) as usize - ptr as usize }, 94usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AvgCurrent) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageGfxActivity) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageGfxActivity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageUclkActivity) as usize - ptr as usize }, 106usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageUclkActivity) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Vcn0ActivityPercentage) as usize - ptr as usize }, 108usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(Vcn0ActivityPercentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Vcn1ActivityPercentage) as usize - ptr as usize }, 110usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(Vcn1ActivityPercentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).EnergyAccumulator) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(EnergyAccumulator) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageSocketPower) as usize - ptr as usize }, 116usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageSocketPower) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageTotalBoardPower) as usize - ptr as usize }, 118usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageTotalBoardPower) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AvgTemperature) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AvgTemperature) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AvgTemperatureFanIntake) as usize - ptr as usize }, 146usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AvgTemperatureFanIntake) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PcieRate) as usize - ptr as usize }, 148usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(PcieRate) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PcieWidth) as usize - ptr as usize }, 149usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(PcieWidth) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AvgFanPwm) as usize - ptr as usize }, 150usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AvgFanPwm) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding) as usize - ptr as usize }, 151usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(Padding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AvgFanRpm) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AvgFanRpm) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ThrottlingPercentage) as usize - ptr as usize }, 154usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(ThrottlingPercentage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).D3HotEntryCountPerMode) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(D3HotEntryCountPerMode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).D3HotExitCountPerMode) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(D3HotExitCountPerMode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ArmMsgReceivedCountPerMode) as usize - ptr as usize }, 208usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(ArmMsgReceivedCountPerMode) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ApuSTAPMSmartShiftLimit) as usize - ptr as usize }, 224usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(ApuSTAPMSmartShiftLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).ApuSTAPMLimit) as usize - ptr as usize }, 226usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(ApuSTAPMLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AvgApuSocketPower) as usize - ptr as usize }, 228usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AvgApuSocketPower) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AverageUclkActivity_MAX) as usize - ptr as usize }, 230usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(AverageUclkActivity_MAX) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PublicSerialNumberLower) as usize - ptr as usize }, 232usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(PublicSerialNumberLower) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PublicSerialNumberUpper) as usize - ptr as usize }, 236usize, concat!( "Offset of field: ", stringify!(SmuMetrics_t), "::", stringify!(PublicSerialNumberUpper) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SmuMetricsExternal_t { pub SmuMetrics: SmuMetrics_t, pub Spare: [u32; 30usize], pub MmHubPadding: [u32; 8usize], } #[test] fn bindgen_test_layout_SmuMetricsExternal_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 392usize, concat!("Size of: ", stringify!(SmuMetricsExternal_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(SmuMetricsExternal_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).SmuMetrics) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(SmuMetricsExternal_t), "::", stringify!(SmuMetrics) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, 240usize, concat!( "Offset of field: ", stringify!(SmuMetricsExternal_t), "::", stringify!(Spare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MmHubPadding) as usize - ptr as usize }, 360usize, concat!( "Offset of field: ", stringify!(SmuMetricsExternal_t), "::", stringify!(MmHubPadding) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct WatermarkRowGeneric_t { pub WmSetting: u8, pub Flags: u8, pub Padding: [u8; 2usize], } #[test] fn bindgen_test_layout_WatermarkRowGeneric_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(WatermarkRowGeneric_t)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(WatermarkRowGeneric_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).WmSetting) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(WatermarkRowGeneric_t), "::", stringify!(WmSetting) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(WatermarkRowGeneric_t), "::", stringify!(Flags) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Padding) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(WatermarkRowGeneric_t), "::", stringify!(Padding) ) ); } pub const WATERMARKS_FLAGS_e_WATERMARKS_CLOCK_RANGE: WATERMARKS_FLAGS_e = 0; pub const WATERMARKS_FLAGS_e_WATERMARKS_DUMMY_PSTATE: WATERMARKS_FLAGS_e = 1; pub const WATERMARKS_FLAGS_e_WATERMARKS_MALL: WATERMARKS_FLAGS_e = 2; pub const WATERMARKS_FLAGS_e_WATERMARKS_COUNT: WATERMARKS_FLAGS_e = 3; pub type WATERMARKS_FLAGS_e = ::core::ffi::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct Watermarks_t { pub WatermarkRow: [WatermarkRowGeneric_t; 4usize], } #[test] fn bindgen_test_layout_Watermarks_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(Watermarks_t)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(Watermarks_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).WatermarkRow) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(Watermarks_t), "::", stringify!(WatermarkRow) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct WatermarksExternal_t { pub Watermarks: Watermarks_t, pub Spare: [u32; 16usize], pub MmHubPadding: [u32; 8usize], } #[test] fn bindgen_test_layout_WatermarksExternal_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 112usize, concat!("Size of: ", stringify!(WatermarksExternal_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(WatermarksExternal_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Watermarks) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(WatermarksExternal_t), "::", stringify!(Watermarks) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(WatermarksExternal_t), "::", stringify!(Spare) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MmHubPadding) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(WatermarksExternal_t), "::", stringify!(MmHubPadding) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct AvfsDebugTable_t { pub avgPsmCount: [u16; 36usize], pub minPsmCount: [u16; 36usize], pub avgPsmVoltage: [f32; 36usize], pub minPsmVoltage: [f32; 36usize], } #[test] fn bindgen_test_layout_AvfsDebugTable_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 432usize, concat!("Size of: ", stringify!(AvfsDebugTable_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(AvfsDebugTable_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avgPsmCount) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(AvfsDebugTable_t), "::", stringify!(avgPsmCount) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).minPsmCount) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(AvfsDebugTable_t), "::", stringify!(minPsmCount) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).avgPsmVoltage) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(AvfsDebugTable_t), "::", stringify!(avgPsmVoltage) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).minPsmVoltage) as usize - ptr as usize }, 288usize, concat!( "Offset of field: ", stringify!(AvfsDebugTable_t), "::", stringify!(minPsmVoltage) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct AvfsDebugTableExternal_t { pub AvfsDebugTable: AvfsDebugTable_t, pub MmHubPadding: [u32; 8usize], } #[test] fn bindgen_test_layout_AvfsDebugTableExternal_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 464usize, concat!("Size of: ", stringify!(AvfsDebugTableExternal_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(AvfsDebugTableExternal_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).AvfsDebugTable) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(AvfsDebugTableExternal_t), "::", stringify!(AvfsDebugTable) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MmHubPadding) as usize - ptr as usize }, 432usize, concat!( "Offset of field: ", stringify!(AvfsDebugTableExternal_t), "::", stringify!(MmHubPadding) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DpmActivityMonitorCoeffInt_t { pub Gfx_ActiveHystLimit: u8, pub Gfx_IdleHystLimit: u8, pub Gfx_FPS: u8, pub Gfx_MinActiveFreqType: u8, pub Gfx_BoosterFreqType: u8, pub PaddingGfx: u8, pub Gfx_MinActiveFreq: u16, pub Gfx_BoosterFreq: u16, pub Gfx_PD_Data_time_constant: u16, pub Gfx_PD_Data_limit_a: u32, pub Gfx_PD_Data_limit_b: u32, pub Gfx_PD_Data_limit_c: u32, pub Gfx_PD_Data_error_coeff: u32, pub Gfx_PD_Data_error_rate_coeff: u32, pub Fclk_ActiveHystLimit: u8, pub Fclk_IdleHystLimit: u8, pub Fclk_FPS: u8, pub Fclk_MinActiveFreqType: u8, pub Fclk_BoosterFreqType: u8, pub PaddingFclk: u8, pub Fclk_MinActiveFreq: u16, pub Fclk_BoosterFreq: u16, pub Fclk_PD_Data_time_constant: u16, pub Fclk_PD_Data_limit_a: u32, pub Fclk_PD_Data_limit_b: u32, pub Fclk_PD_Data_limit_c: u32, pub Fclk_PD_Data_error_coeff: u32, pub Fclk_PD_Data_error_rate_coeff: u32, pub Mem_UpThreshold_Limit: [u32; 4usize], pub Mem_UpHystLimit: [u8; 4usize], pub Mem_DownHystLimit: [u8; 4usize], pub Mem_Fps: u16, pub padding: [u8; 2usize], } #[test] fn bindgen_test_layout_DpmActivityMonitorCoeffInt_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 92usize, concat!("Size of: ", stringify!(DpmActivityMonitorCoeffInt_t)) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(DpmActivityMonitorCoeffInt_t)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Gfx_ActiveHystLimit) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Gfx_ActiveHystLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Gfx_IdleHystLimit) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Gfx_IdleHystLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Gfx_FPS) as usize - ptr as usize }, 2usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Gfx_FPS) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Gfx_MinActiveFreqType) as usize - ptr as usize }, 3usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Gfx_MinActiveFreqType) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Gfx_BoosterFreqType) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Gfx_BoosterFreqType) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PaddingGfx) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(PaddingGfx) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Gfx_MinActiveFreq) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Gfx_MinActiveFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Gfx_BoosterFreq) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Gfx_BoosterFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Gfx_PD_Data_time_constant) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Gfx_PD_Data_time_constant) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Gfx_PD_Data_limit_a) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Gfx_PD_Data_limit_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Gfx_PD_Data_limit_b) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Gfx_PD_Data_limit_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Gfx_PD_Data_limit_c) as usize - ptr as usize }, 20usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Gfx_PD_Data_limit_c) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Gfx_PD_Data_error_coeff) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Gfx_PD_Data_error_coeff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Gfx_PD_Data_error_rate_coeff) as usize - ptr as usize }, 28usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Gfx_PD_Data_error_rate_coeff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Fclk_ActiveHystLimit) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Fclk_ActiveHystLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Fclk_IdleHystLimit) as usize - ptr as usize }, 33usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Fclk_IdleHystLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Fclk_FPS) as usize - ptr as usize }, 34usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Fclk_FPS) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Fclk_MinActiveFreqType) as usize - ptr as usize }, 35usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Fclk_MinActiveFreqType) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Fclk_BoosterFreqType) as usize - ptr as usize }, 36usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Fclk_BoosterFreqType) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).PaddingFclk) as usize - ptr as usize }, 37usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(PaddingFclk) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Fclk_MinActiveFreq) as usize - ptr as usize }, 38usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Fclk_MinActiveFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Fclk_BoosterFreq) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Fclk_BoosterFreq) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Fclk_PD_Data_time_constant) as usize - ptr as usize }, 42usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Fclk_PD_Data_time_constant) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Fclk_PD_Data_limit_a) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Fclk_PD_Data_limit_a) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Fclk_PD_Data_limit_b) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Fclk_PD_Data_limit_b) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Fclk_PD_Data_limit_c) as usize - ptr as usize }, 52usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Fclk_PD_Data_limit_c) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Fclk_PD_Data_error_coeff) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Fclk_PD_Data_error_coeff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Fclk_PD_Data_error_rate_coeff) as usize - ptr as usize }, 60usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Fclk_PD_Data_error_rate_coeff) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem_UpThreshold_Limit) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Mem_UpThreshold_Limit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem_UpHystLimit) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Mem_UpHystLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem_DownHystLimit) as usize - ptr as usize }, 84usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Mem_DownHystLimit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).Mem_Fps) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(Mem_Fps) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize }, 90usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffInt_t), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DpmActivityMonitorCoeffIntExternal_t { pub DpmActivityMonitorCoeffInt: DpmActivityMonitorCoeffInt_t, pub MmHubPadding: [u32; 8usize], } #[test] fn bindgen_test_layout_DpmActivityMonitorCoeffIntExternal_t() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 124usize, concat!( "Size of: ", stringify!(DpmActivityMonitorCoeffIntExternal_t) ) ); assert_eq!( ::core::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(DpmActivityMonitorCoeffIntExternal_t) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).DpmActivityMonitorCoeffInt) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffIntExternal_t), "::", stringify!(DpmActivityMonitorCoeffInt) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).MmHubPadding) as usize - ptr as usize }, 92usize, concat!( "Offset of field: ", stringify!(DpmActivityMonitorCoeffIntExternal_t), "::", stringify!(MmHubPadding) ) ); } pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_GFXCLK_LIMITS: SMU_13_0_7_ODFEATURE_CAP = 0; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_UCLK_LIMITS: SMU_13_0_7_ODFEATURE_CAP = 1; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_POWER_LIMIT: SMU_13_0_7_ODFEATURE_CAP = 2; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_FAN_ACOUSTIC_LIMIT: SMU_13_0_7_ODFEATURE_CAP = 3; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_FAN_SPEED_MIN: SMU_13_0_7_ODFEATURE_CAP = 4; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_TEMPERATURE_FAN: SMU_13_0_7_ODFEATURE_CAP = 5; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_TEMPERATURE_SYSTEM: SMU_13_0_7_ODFEATURE_CAP = 6; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_MEMORY_TIMING_TUNE: SMU_13_0_7_ODFEATURE_CAP = 7; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_FAN_ZERO_RPM_CONTROL: SMU_13_0_7_ODFEATURE_CAP = 8; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_AUTO_UV_ENGINE: SMU_13_0_7_ODFEATURE_CAP = 9; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_AUTO_OC_ENGINE: SMU_13_0_7_ODFEATURE_CAP = 10; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_AUTO_OC_MEMORY: SMU_13_0_7_ODFEATURE_CAP = 11; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_FAN_CURVE: SMU_13_0_7_ODFEATURE_CAP = 12; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_AUTO_FAN_ACOUSTIC_LIMIT: SMU_13_0_7_ODFEATURE_CAP = 13; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_POWER_MODE: SMU_13_0_7_ODFEATURE_CAP = 14; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_PER_ZONE_GFX_VOLTAGE_OFFSET: SMU_13_0_7_ODFEATURE_CAP = 15; pub const SMU_13_0_7_ODFEATURE_CAP_SMU_13_0_7_ODCAP_COUNT: SMU_13_0_7_ODFEATURE_CAP = 16; pub type SMU_13_0_7_ODFEATURE_CAP = ::core::ffi::c_uint; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_GFXCLK_LIMITS: SMU_13_0_7_ODFEATURE_ID = 1; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_UCLK_LIMITS: SMU_13_0_7_ODFEATURE_ID = 2; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_POWER_LIMIT: SMU_13_0_7_ODFEATURE_ID = 4; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_FAN_ACOUSTIC_LIMIT: SMU_13_0_7_ODFEATURE_ID = 8; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_FAN_SPEED_MIN: SMU_13_0_7_ODFEATURE_ID = 16; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_TEMPERATURE_FAN: SMU_13_0_7_ODFEATURE_ID = 32; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_TEMPERATURE_SYSTEM: SMU_13_0_7_ODFEATURE_ID = 64; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_MEMORY_TIMING_TUNE: SMU_13_0_7_ODFEATURE_ID = 128; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_FAN_ZERO_RPM_CONTROL: SMU_13_0_7_ODFEATURE_ID = 256; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_AUTO_UV_ENGINE: SMU_13_0_7_ODFEATURE_ID = 512; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_AUTO_OC_ENGINE: SMU_13_0_7_ODFEATURE_ID = 1024; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_AUTO_OC_MEMORY: SMU_13_0_7_ODFEATURE_ID = 2048; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_FAN_CURVE: SMU_13_0_7_ODFEATURE_ID = 4096; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_AUTO_FAN_ACOUSTIC_LIMIT: SMU_13_0_7_ODFEATURE_ID = 8192; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_POWER_MODE: SMU_13_0_7_ODFEATURE_ID = 16384; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_PER_ZONE_GFX_VOLTAGE_OFFSET: SMU_13_0_7_ODFEATURE_ID = 32768; pub const SMU_13_0_7_ODFEATURE_ID_SMU_13_0_7_ODFEATURE_COUNT: SMU_13_0_7_ODFEATURE_ID = 16; pub type SMU_13_0_7_ODFEATURE_ID = ::core::ffi::c_uint; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_GFXCLKFMAX: SMU_13_0_7_ODSETTING_ID = 0; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_GFXCLKFMIN: SMU_13_0_7_ODSETTING_ID = 1; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_UCLKFMIN: SMU_13_0_7_ODSETTING_ID = 2; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_UCLKFMAX: SMU_13_0_7_ODSETTING_ID = 3; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_POWERPERCENTAGE: SMU_13_0_7_ODSETTING_ID = 4; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_FANRPMMIN: SMU_13_0_7_ODSETTING_ID = 5; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_FANRPMACOUSTICLIMIT: SMU_13_0_7_ODSETTING_ID = 6; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_FANTARGETTEMPERATURE: SMU_13_0_7_ODSETTING_ID = 7; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_OPERATINGTEMPMAX: SMU_13_0_7_ODSETTING_ID = 8; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_ACTIMING: SMU_13_0_7_ODSETTING_ID = 9; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_FAN_ZERO_RPM_CONTROL: SMU_13_0_7_ODSETTING_ID = 10; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_AUTOUVENGINE: SMU_13_0_7_ODSETTING_ID = 11; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_AUTOOCENGINE: SMU_13_0_7_ODSETTING_ID = 12; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_AUTOOCMEMORY: SMU_13_0_7_ODSETTING_ID = 13; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_FAN_CURVE_TEMPERATURE_1: SMU_13_0_7_ODSETTING_ID = 14; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_FAN_CURVE_SPEED_1: SMU_13_0_7_ODSETTING_ID = 15; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_FAN_CURVE_TEMPERATURE_2: SMU_13_0_7_ODSETTING_ID = 16; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_FAN_CURVE_SPEED_2: SMU_13_0_7_ODSETTING_ID = 17; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_FAN_CURVE_TEMPERATURE_3: SMU_13_0_7_ODSETTING_ID = 18; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_FAN_CURVE_SPEED_3: SMU_13_0_7_ODSETTING_ID = 19; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_FAN_CURVE_TEMPERATURE_4: SMU_13_0_7_ODSETTING_ID = 20; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_FAN_CURVE_SPEED_4: SMU_13_0_7_ODSETTING_ID = 21; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_FAN_CURVE_TEMPERATURE_5: SMU_13_0_7_ODSETTING_ID = 22; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_FAN_CURVE_SPEED_5: SMU_13_0_7_ODSETTING_ID = 23; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_AUTO_FAN_ACOUSTIC_LIMIT: SMU_13_0_7_ODSETTING_ID = 24; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_POWER_MODE: SMU_13_0_7_ODSETTING_ID = 25; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_PER_ZONE_GFX_VOLTAGE_OFFSET_POINT_1: SMU_13_0_7_ODSETTING_ID = 26; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_PER_ZONE_GFX_VOLTAGE_OFFSET_POINT_2: SMU_13_0_7_ODSETTING_ID = 27; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_PER_ZONE_GFX_VOLTAGE_OFFSET_POINT_3: SMU_13_0_7_ODSETTING_ID = 28; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_PER_ZONE_GFX_VOLTAGE_OFFSET_POINT_4: SMU_13_0_7_ODSETTING_ID = 29; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_PER_ZONE_GFX_VOLTAGE_OFFSET_POINT_5: SMU_13_0_7_ODSETTING_ID = 30; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_PER_ZONE_GFX_VOLTAGE_OFFSET_POINT_6: SMU_13_0_7_ODSETTING_ID = 31; pub const SMU_13_0_7_ODSETTING_ID_SMU_13_0_7_ODSETTING_COUNT: SMU_13_0_7_ODSETTING_ID = 32; pub type SMU_13_0_7_ODSETTING_ID = ::core::ffi::c_uint; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_POWER_LIMIT_QUIET: SMU_13_0_7_PWRMODE_SETTING = 0; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_POWER_LIMIT_BALANCE: SMU_13_0_7_PWRMODE_SETTING = 1; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_POWER_LIMIT_TURBO: SMU_13_0_7_PWRMODE_SETTING = 2; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_POWER_LIMIT_RAGE: SMU_13_0_7_PWRMODE_SETTING = 3; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_ACOUSTIC_TEMP_QUIET: SMU_13_0_7_PWRMODE_SETTING = 4; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_ACOUSTIC_TEMP_BALANCE: SMU_13_0_7_PWRMODE_SETTING = 5; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_ACOUSTIC_TEMP_TURBO: SMU_13_0_7_PWRMODE_SETTING = 6; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_ACOUSTIC_TEMP_RAGE: SMU_13_0_7_PWRMODE_SETTING = 7; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_ACOUSTIC_TARGET_RPM_QUIET: SMU_13_0_7_PWRMODE_SETTING = 8; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_ACOUSTIC_TARGET_RPM_BALANCE: SMU_13_0_7_PWRMODE_SETTING = 9; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_ACOUSTIC_TARGET_RPM_TURBO: SMU_13_0_7_PWRMODE_SETTING = 10; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_ACOUSTIC_TARGET_RPM_RAGE: SMU_13_0_7_PWRMODE_SETTING = 11; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_ACOUSTIC_LIMIT_RPM_QUIET: SMU_13_0_7_PWRMODE_SETTING = 12; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_ACOUSTIC_LIMIT_RPM_BALANCE: SMU_13_0_7_PWRMODE_SETTING = 13; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_ACOUSTIC_LIMIT_RPM_TURBO: SMU_13_0_7_PWRMODE_SETTING = 14; pub const SMU_13_0_7_PWRMODE_SETTING_SMU_13_0_7_PMSETTING_ACOUSTIC_LIMIT_RPM_RAGE: SMU_13_0_7_PWRMODE_SETTING = 15; pub type SMU_13_0_7_PWRMODE_SETTING = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct smu_13_0_7_overdrive_table { pub revision: u8, pub reserve: [u8; 3usize], pub feature_count: u32, pub setting_count: u32, pub cap: [u8; 32usize], pub max: [u32; 64usize], pub min: [u32; 64usize], pub pm_setting: [i16; 32usize], } #[test] fn bindgen_test_layout_smu_13_0_7_overdrive_table() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 620usize, concat!("Size of: ", stringify!(smu_13_0_7_overdrive_table)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(smu_13_0_7_overdrive_table)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).revision) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_overdrive_table), "::", stringify!(revision) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserve) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_overdrive_table), "::", stringify!(reserve) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).feature_count) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_overdrive_table), "::", stringify!(feature_count) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).setting_count) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_overdrive_table), "::", stringify!(setting_count) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).cap) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_overdrive_table), "::", stringify!(cap) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).max) as usize - ptr as usize }, 44usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_overdrive_table), "::", stringify!(max) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).min) as usize - ptr as usize }, 300usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_overdrive_table), "::", stringify!(min) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).pm_setting) as usize - ptr as usize }, 556usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_overdrive_table), "::", stringify!(pm_setting) ) ); } pub const SMU_13_0_7_PPCLOCK_ID_SMU_13_0_7_PPCLOCK_GFXCLK: SMU_13_0_7_PPCLOCK_ID = 0; pub const SMU_13_0_7_PPCLOCK_ID_SMU_13_0_7_PPCLOCK_SOCCLK: SMU_13_0_7_PPCLOCK_ID = 1; pub const SMU_13_0_7_PPCLOCK_ID_SMU_13_0_7_PPCLOCK_UCLK: SMU_13_0_7_PPCLOCK_ID = 2; pub const SMU_13_0_7_PPCLOCK_ID_SMU_13_0_7_PPCLOCK_FCLK: SMU_13_0_7_PPCLOCK_ID = 3; pub const SMU_13_0_7_PPCLOCK_ID_SMU_13_0_7_PPCLOCK_DCLK_0: SMU_13_0_7_PPCLOCK_ID = 4; pub const SMU_13_0_7_PPCLOCK_ID_SMU_13_0_7_PPCLOCK_VCLK_0: SMU_13_0_7_PPCLOCK_ID = 5; pub const SMU_13_0_7_PPCLOCK_ID_SMU_13_0_7_PPCLOCK_DCLK_1: SMU_13_0_7_PPCLOCK_ID = 6; pub const SMU_13_0_7_PPCLOCK_ID_SMU_13_0_7_PPCLOCK_VCLK_1: SMU_13_0_7_PPCLOCK_ID = 7; pub const SMU_13_0_7_PPCLOCK_ID_SMU_13_0_7_PPCLOCK_DCEFCLK: SMU_13_0_7_PPCLOCK_ID = 8; pub const SMU_13_0_7_PPCLOCK_ID_SMU_13_0_7_PPCLOCK_DISPCLK: SMU_13_0_7_PPCLOCK_ID = 9; pub const SMU_13_0_7_PPCLOCK_ID_SMU_13_0_7_PPCLOCK_PIXCLK: SMU_13_0_7_PPCLOCK_ID = 10; pub const SMU_13_0_7_PPCLOCK_ID_SMU_13_0_7_PPCLOCK_PHYCLK: SMU_13_0_7_PPCLOCK_ID = 11; pub const SMU_13_0_7_PPCLOCK_ID_SMU_13_0_7_PPCLOCK_DTBCLK: SMU_13_0_7_PPCLOCK_ID = 12; pub const SMU_13_0_7_PPCLOCK_ID_SMU_13_0_7_PPCLOCK_COUNT: SMU_13_0_7_PPCLOCK_ID = 13; pub type SMU_13_0_7_PPCLOCK_ID = ::core::ffi::c_uint; #[repr(C, packed)] #[derive(Debug, Copy, Clone)] pub struct smu_13_0_7_powerplay_table { pub header: atom_common_table_header, pub table_revision: u8, pub padding: u8, pub table_size: u16, pub golden_pp_id: u32, pub golden_revision: u32, pub format_id: u16, pub platform_caps: u32, pub thermal_controller_type: u8, pub small_power_limit1: u16, pub small_power_limit2: u16, pub boost_power_limit: u16, pub software_shutdown_temp: u16, pub reserve: [u32; 45usize], pub overdrive_table: smu_13_0_7_overdrive_table, pub padding1: u8, pub smc_pptable: PPTable_t, } #[test] fn bindgen_test_layout_smu_13_0_7_powerplay_table() { const UNINIT: ::core::mem::MaybeUninit = ::core::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), 4804usize, concat!("Size of: ", stringify!(smu_13_0_7_powerplay_table)) ); assert_eq!( ::core::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(smu_13_0_7_powerplay_table)) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(header) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_revision) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(table_revision) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize }, 5usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(padding) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).table_size) as usize - ptr as usize }, 6usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(table_size) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).golden_pp_id) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(golden_pp_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).golden_revision) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(golden_revision) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).format_id) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(format_id) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).platform_caps) as usize - ptr as usize }, 18usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(platform_caps) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).thermal_controller_type) as usize - ptr as usize }, 22usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(thermal_controller_type) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).small_power_limit1) as usize - ptr as usize }, 23usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(small_power_limit1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).small_power_limit2) as usize - ptr as usize }, 25usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(small_power_limit2) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).boost_power_limit) as usize - ptr as usize }, 27usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(boost_power_limit) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).software_shutdown_temp) as usize - ptr as usize }, 29usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(software_shutdown_temp) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).reserve) as usize - ptr as usize }, 31usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(reserve) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).overdrive_table) as usize - ptr as usize }, 211usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(overdrive_table) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).padding1) as usize - ptr as usize }, 831usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(padding1) ) ); assert_eq!( unsafe { ::core::ptr::addr_of!((*ptr).smc_pptable) as usize - ptr as usize }, 832usize, concat!( "Offset of field: ", stringify!(smu_13_0_7_powerplay_table), "::", stringify!(smc_pptable) ) ); }