drivers/gpu/drm/radeon/smu7_discrete.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/radeon/smu7_discrete.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/radeon/smu7_discrete.h- Extension
.h- Size
- 15402 bytes
- Lines
- 498
- 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
smu7.h
Detected Declarations
struct SMU7_SoftRegistersstruct SMU7_Discrete_VoltageLevelstruct SMU7_Discrete_GraphicsLevelstruct SMU7_Discrete_ACPILevelstruct SMU7_Discrete_Ulvstruct SMU7_Discrete_MemoryLevelstruct SMU7_Discrete_LinkLevelstruct SMU7_Discrete_MCArbDramTimingTableEntrystruct SMU7_Discrete_MCArbDramTimingTablestruct SMU7_Discrete_UvdLevelstruct SMU7_Discrete_ExtClkLevelstruct SMU7_Discrete_StateInfostruct SMU7_Discrete_DpmTablestruct SMU7_Discrete_MCRegisterAddressstruct SMU7_Discrete_MCRegisterSetstruct SMU7_Discrete_MCRegistersstruct SMU7_Discrete_FanTablestruct SMU7_Discrete_PmFuses
Annotated Snippet
struct SMU7_SoftRegisters {
uint32_t RefClockFrequency;
uint32_t PmTimerP;
uint32_t FeatureEnables;
uint32_t PreVBlankGap;
uint32_t VBlankTimeout;
uint32_t TrainTimeGap;
uint32_t MvddSwitchTime;
uint32_t LongestAcpiTrainTime;
uint32_t AcpiDelay;
uint32_t G5TrainTime;
uint32_t DelayMpllPwron;
uint32_t VoltageChangeTimeout;
uint32_t HandshakeDisables;
uint8_t DisplayPhy1Config;
uint8_t DisplayPhy2Config;
uint8_t DisplayPhy3Config;
uint8_t DisplayPhy4Config;
uint8_t DisplayPhy5Config;
uint8_t DisplayPhy6Config;
uint8_t DisplayPhy7Config;
uint8_t DisplayPhy8Config;
uint32_t AverageGraphicsA;
uint32_t AverageMemoryA;
uint32_t AverageGioA;
uint8_t SClkDpmEnabledLevels;
uint8_t MClkDpmEnabledLevels;
uint8_t LClkDpmEnabledLevels;
uint8_t PCIeDpmEnabledLevels;
uint8_t UVDDpmEnabledLevels;
uint8_t SAMUDpmEnabledLevels;
uint8_t ACPDpmEnabledLevels;
uint8_t VCEDpmEnabledLevels;
uint32_t DRAM_LOG_ADDR_H;
uint32_t DRAM_LOG_ADDR_L;
uint32_t DRAM_LOG_PHY_ADDR_H;
uint32_t DRAM_LOG_PHY_ADDR_L;
uint32_t DRAM_LOG_BUFF_SIZE;
uint32_t UlvEnterC;
uint32_t UlvTime;
uint32_t Reserved[3];
};
typedef struct SMU7_SoftRegisters SMU7_SoftRegisters;
struct SMU7_Discrete_VoltageLevel {
uint16_t Voltage;
uint16_t StdVoltageHiSidd;
uint16_t StdVoltageLoSidd;
uint8_t Smio;
uint8_t padding;
};
typedef struct SMU7_Discrete_VoltageLevel SMU7_Discrete_VoltageLevel;
struct SMU7_Discrete_GraphicsLevel {
uint32_t Flags;
uint32_t MinVddc;
uint32_t MinVddcPhases;
uint32_t SclkFrequency;
uint8_t padding1[2];
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 UpH;
uint8_t DownH;
uint8_t VoltageDownH;
uint8_t PowerThrottle;
uint8_t DeepSleepDivId;
uint8_t padding[3];
};
Annotation
- Immediate include surface: `smu7.h`.
- Detected declarations: `struct SMU7_SoftRegisters`, `struct SMU7_Discrete_VoltageLevel`, `struct SMU7_Discrete_GraphicsLevel`, `struct SMU7_Discrete_ACPILevel`, `struct SMU7_Discrete_Ulv`, `struct SMU7_Discrete_MemoryLevel`, `struct SMU7_Discrete_LinkLevel`, `struct SMU7_Discrete_MCArbDramTimingTableEntry`, `struct SMU7_Discrete_MCArbDramTimingTable`, `struct SMU7_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.