drivers/gpu/drm/amd/pm/powerplay/inc/smu72_discrete.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/pm/powerplay/inc/smu72_discrete.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/pm/powerplay/inc/smu72_discrete.h- Extension
.h- Size
- 22427 bytes
- Lines
- 784
- Domain
- Driver Families
- Bucket
- drivers/gpu
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
smu72.h
Detected Declarations
struct SMIO_Patternstruct SMIO_Tablestruct SMU72_Discrete_GraphicsLevelstruct SMU72_Discrete_ACPILevelstruct SMU72_Discrete_Ulvstruct SMU72_Discrete_MemoryLevelstruct SMU72_Discrete_LinkLevelstruct SMU72_Discrete_MCArbDramTimingTableEntrystruct SMU72_Discrete_MCArbDramTimingTablestruct SMU72_Discrete_UvdLevelstruct SMU72_Discrete_ExtClkLevelstruct SMU72_Discrete_StateInfostruct SMU72_Discrete_DpmTablestruct SMU72_Discrete_MCRegisterAddressstruct SMU72_Discrete_MCRegisterSetstruct SMU72_Discrete_MCRegistersstruct SMU72_Discrete_FanTablestruct SMU7_MclkDpmScoreboardstruct SMU7_UlvScoreboardstruct VddgfxSavedRegistersstruct SMU7_VddGfxScoreboardstruct SMU7_TdcLimitScoreboardstruct SMU7_PkgPwrLimitScoreboardstruct SMU7_BapmScoreboardstruct SMU7_AcpiScoreboardstruct SMU72_Discrete_PmFusesstruct SMU7_Discrete_Log_Header_Tablestruct SMU7_Discrete_Log_Cntlstruct SMU7_Discrete_Cac_Collection_Tablestruct SMU7_Discrete_Cac_Verification_Tablestruct SMU7_Discrete_Pm_Status_Table
Annotated Snippet
struct SMIO_Pattern {
uint16_t Voltage;
uint8_t Smio;
uint8_t padding;
};
typedef struct SMIO_Pattern SMIO_Pattern;
struct SMIO_Table {
SMIO_Pattern Pattern[SMU_MAX_SMIO_LEVELS];
};
typedef struct SMIO_Table SMIO_Table;
struct SMU72_Discrete_GraphicsLevel {
SMU_VoltageLevel MinVoltage;
uint32_t SclkFrequency;
uint8_t pcieDpmLevel;
uint8_t DeepSleepDivId;
uint16_t ActivityLevel;
uint32_t CgSpllFuncCntl3;
uint32_t CgSpllFuncCntl4;
uint32_t SpllSpreadSpectrum;
uint32_t SpllSpreadSpectrum2;
uint32_t CcPwrDynRm;
uint32_t CcPwrDynRm1;
uint8_t SclkDid;
uint8_t DisplayWatermark;
uint8_t EnabledForActivity;
uint8_t EnabledForThrottle;
uint8_t UpHyst;
uint8_t DownHyst;
uint8_t VoltageDownHyst;
uint8_t PowerThrottle;
};
typedef struct SMU72_Discrete_GraphicsLevel SMU72_Discrete_GraphicsLevel;
struct SMU72_Discrete_ACPILevel {
uint32_t Flags;
SMU_VoltageLevel MinVoltage;
uint32_t SclkFrequency;
uint8_t SclkDid;
uint8_t DisplayWatermark;
uint8_t DeepSleepDivId;
uint8_t padding;
uint32_t CgSpllFuncCntl;
uint32_t CgSpllFuncCntl2;
uint32_t CgSpllFuncCntl3;
uint32_t CgSpllFuncCntl4;
uint32_t SpllSpreadSpectrum;
uint32_t SpllSpreadSpectrum2;
uint32_t CcPwrDynRm;
uint32_t CcPwrDynRm1;
};
typedef struct SMU72_Discrete_ACPILevel SMU72_Discrete_ACPILevel;
struct SMU72_Discrete_Ulv {
uint32_t CcPwrDynRm;
uint32_t CcPwrDynRm1;
uint16_t VddcOffset;
uint8_t VddcOffsetVid;
uint8_t VddcPhase;
uint32_t Reserved;
};
typedef struct SMU72_Discrete_Ulv SMU72_Discrete_Ulv;
struct SMU72_Discrete_MemoryLevel {
SMU_VoltageLevel MinVoltage;
uint32_t MinMvdd;
uint32_t MclkFrequency;
uint8_t EdcReadEnable;
uint8_t EdcWriteEnable;
uint8_t RttEnable;
uint8_t StutterEnable;
uint8_t StrobeEnable;
uint8_t StrobeRatio;
uint8_t EnabledForThrottle;
uint8_t EnabledForActivity;
uint8_t UpHyst;
uint8_t DownHyst;
Annotation
- Immediate include surface: `smu72.h`.
- Detected declarations: `struct SMIO_Pattern`, `struct SMIO_Table`, `struct SMU72_Discrete_GraphicsLevel`, `struct SMU72_Discrete_ACPILevel`, `struct SMU72_Discrete_Ulv`, `struct SMU72_Discrete_MemoryLevel`, `struct SMU72_Discrete_LinkLevel`, `struct SMU72_Discrete_MCArbDramTimingTableEntry`, `struct SMU72_Discrete_MCArbDramTimingTable`, `struct SMU72_Discrete_UvdLevel`.
- Atlas domain: Driver Families / drivers/gpu.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.