drivers/gpu/drm/amd/pm/powerplay/inc/smu71_discrete.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/pm/powerplay/inc/smu71_discrete.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/pm/powerplay/inc/smu71_discrete.h- Extension
.h- Size
- 18131 bytes
- Lines
- 632
- 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
smu71.h
Detected Declarations
struct SMU71_Discrete_VoltageLevelstruct SMU71_Discrete_GraphicsLevelstruct SMU71_Discrete_ACPILevelstruct SMU71_Discrete_Ulvstruct SMU71_Discrete_MemoryLevelstruct SMU71_Discrete_LinkLevelstruct SMU71_Discrete_MCArbDramTimingTableEntrystruct SMU71_Discrete_MCArbDramTimingTablestruct SMU71_Discrete_UvdLevelstruct SMU71_Discrete_ExtClkLevelstruct SMU71_Discrete_StateInfostruct SMU71_Discrete_DpmTablestruct SMU71_Discrete_MCRegisterAddressstruct SMU71_Discrete_MCRegisterSetstruct SMU71_Discrete_MCRegistersstruct SMU71_Discrete_FanTablestruct SMU71_MclkDpmScoreboardstruct SMU71_UlvScoreboardstruct SMU71_VddGfxScoreboardstruct SMU71_AcpiScoreboardstruct SMU71_Discrete_PmFusesstruct SMU71_Discrete_Log_Header_Tablestruct SMU71_Discrete_Log_Cntlstruct SMU71_Discrete_Cac_Collection_Tablestruct SMU71_Discrete_Cac_Verification_Table
Annotated Snippet
struct SMU71_AcpiScoreboard {
uint32_t SavedInterruptMask[2];
uint8_t LastACPIRequest;
uint8_t CgBifResp;
uint8_t RequestType;
uint8_t Padding;
SMU71_Discrete_ACPILevel D0Level;
};
typedef struct SMU71_AcpiScoreboard SMU71_AcpiScoreboard;
struct SMU71_Discrete_PmFuses {
// dw0-dw1
uint8_t BapmVddCVidHiSidd[8];
// dw2-dw3
uint8_t BapmVddCVidLoSidd[8];
// dw4-dw5
uint8_t VddCVid[8];
// dw6
uint8_t SviLoadLineEn;
uint8_t SviLoadLineVddC;
uint8_t SviLoadLineTrimVddC;
uint8_t SviLoadLineOffsetVddC;
// dw7
uint16_t TDC_VDDC_PkgLimit;
uint8_t TDC_VDDC_ThrottleReleaseLimitPerc;
uint8_t TDC_MAWt;
// dw8
uint8_t TdcWaterfallCtl;
uint8_t LPMLTemperatureMin;
uint8_t LPMLTemperatureMax;
uint8_t Reserved;
// dw9-dw12
uint8_t LPMLTemperatureScaler[16];
// dw13-dw14
int16_t FuzzyFan_ErrorSetDelta;
int16_t FuzzyFan_ErrorRateSetDelta;
int16_t FuzzyFan_PwmSetDelta;
uint16_t Reserved6;
// dw15
uint8_t GnbLPML[16];
// dw15
uint8_t GnbLPMLMaxVid;
uint8_t GnbLPMLMinVid;
uint8_t Reserved1[2];
// dw16
uint16_t BapmVddCBaseLeakageHiSidd;
uint16_t BapmVddCBaseLeakageLoSidd;
};
typedef struct SMU71_Discrete_PmFuses SMU71_Discrete_PmFuses;
struct SMU71_Discrete_Log_Header_Table {
uint32_t version;
uint32_t asic_id;
uint16_t flags;
uint16_t entry_size;
uint32_t total_size;
uint32_t num_of_entries;
uint8_t type;
uint8_t mode;
uint8_t filler_0[2];
uint32_t filler_1[2];
};
typedef struct SMU71_Discrete_Log_Header_Table SMU71_Discrete_Log_Header_Table;
struct SMU71_Discrete_Log_Cntl {
uint8_t Enabled;
uint8_t Type;
uint8_t padding[2];
uint32_t BufferSize;
uint32_t SamplesLogged;
uint32_t SampleSize;
uint32_t AddrL;
uint32_t AddrH;
};
typedef struct SMU71_Discrete_Log_Cntl SMU71_Discrete_Log_Cntl;
Annotation
- Immediate include surface: `smu71.h`.
- Detected declarations: `struct SMU71_Discrete_VoltageLevel`, `struct SMU71_Discrete_GraphicsLevel`, `struct SMU71_Discrete_ACPILevel`, `struct SMU71_Discrete_Ulv`, `struct SMU71_Discrete_MemoryLevel`, `struct SMU71_Discrete_LinkLevel`, `struct SMU71_Discrete_MCArbDramTimingTableEntry`, `struct SMU71_Discrete_MCArbDramTimingTable`, `struct SMU71_Discrete_UvdLevel`, `struct SMU71_Discrete_ExtClkLevel`.
- 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.