drivers/gpu/drm/amd/pm/powerplay/inc/smu75.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/pm/powerplay/inc/smu75.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/pm/powerplay/inc/smu75.h- Extension
.h- Size
- 20268 bytes
- Lines
- 761
- 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
- No C-style include directives detected by the generator.
Detected Declarations
struct SMU7_HystController_Datastruct SMU75_PIDControllerstruct SMU7_LocalDpmScoreboardstruct SMU7_VoltageScoreboardstruct SMU7_PCIeLinkSpeedScoreboardstruct SMU7_PowerScoreboardstruct SMU75_SoftRegistersstruct SMU75_Firmware_Headerstruct SMU7_Local_Cacstruct SMU7_Local_Cac_Tablestruct SMU_ClockStretcherDataTableEntrystruct SMU_ClockStretcherDataTablestruct SMU_CKS_LOOKUPTableEntrystruct SMU_CKS_LOOKUPTablestruct AgmAvfsData_tstruct VFT_CELL_tstruct SCS_CELL_tstruct VFT_TABLE_tstruct GB_VDROOP_TABLE_tstruct SMU_QuadraticCoeffsstruct AVFS_Margin_tstruct AVFS_CksOff_Gbv_tstruct AVFS_CksOff_AvfsGbv_tstruct AVFS_CksOff_BtcGbv_tstruct AVFS_meanNsigma_tstruct AVFS_Sclk_Offset_tstruct Power_Sharing_tenum DisplayConfigenum VFT_COLUMNS
Annotated Snippet
struct SMU7_HystController_Data {
uint16_t waterfall_up;
uint16_t waterfall_down;
uint16_t waterfall_limit;
uint16_t release_cnt;
uint16_t release_limit;
uint16_t spare;
};
typedef struct SMU7_HystController_Data SMU7_HystController_Data;
struct SMU75_PIDController {
uint32_t Ki;
int32_t LFWindupUpperLim;
int32_t LFWindupLowerLim;
uint32_t StatePrecision;
uint32_t LfPrecision;
uint32_t LfOffset;
uint32_t MaxState;
uint32_t MaxLfFraction;
uint32_t StateShift;
};
typedef struct SMU75_PIDController SMU75_PIDController;
struct SMU7_LocalDpmScoreboard {
uint32_t PercentageBusy;
int32_t PIDError;
int32_t PIDIntegral;
int32_t PIDOutput;
uint32_t SigmaDeltaAccum;
uint32_t SigmaDeltaOutput;
uint32_t SigmaDeltaLevel;
uint32_t UtilizationSetpoint;
uint8_t TdpClampMode;
uint8_t TdcClampMode;
uint8_t ThermClampMode;
uint8_t VoltageBusy;
int8_t CurrLevel;
int8_t TargLevel;
uint8_t LevelChangeInProgress;
uint8_t UpHyst;
uint8_t DownHyst;
uint8_t VoltageDownHyst;
uint8_t DpmEnable;
uint8_t DpmRunning;
uint8_t DpmForce;
uint8_t DpmForceLevel;
uint8_t DisplayWatermark;
uint8_t McArbIndex;
uint32_t MinimumPerfSclk;
uint8_t AcpiReq;
uint8_t AcpiAck;
uint8_t GfxClkSlow;
uint8_t GpioClampMode;
uint8_t EnableModeSwitchRLCNotification;
uint8_t EnabledLevelsChange;
uint8_t DteClampMode;
uint8_t FpsClampMode;
uint16_t LevelResidencyCounters[SMU75_MAX_LEVELS_GRAPHICS];
uint16_t LevelSwitchCounters[SMU75_MAX_LEVELS_GRAPHICS];
void (*TargetStateCalculator)(uint8_t);
void (*SavedTargetStateCalculator)(uint8_t);
uint16_t AutoDpmInterval;
uint16_t AutoDpmRange;
uint8_t FpsEnabled;
uint8_t MaxPerfLevel;
uint8_t AllowLowClkInterruptToHost;
uint8_t FpsRunning;
uint32_t MaxAllowedFrequency;
uint32_t FilteredSclkFrequency;
uint32_t LastSclkFrequency;
uint32_t FilteredSclkFrequencyCnt;
Annotation
- Detected declarations: `struct SMU7_HystController_Data`, `struct SMU75_PIDController`, `struct SMU7_LocalDpmScoreboard`, `struct SMU7_VoltageScoreboard`, `struct SMU7_PCIeLinkSpeedScoreboard`, `struct SMU7_PowerScoreboard`, `struct SMU75_SoftRegisters`, `struct SMU75_Firmware_Header`, `struct SMU7_Local_Cac`, `struct SMU7_Local_Cac_Table`.
- 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.