drivers/gpu/drm/amd/include/kgd_pp_interface.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/include/kgd_pp_interface.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/include/kgd_pp_interface.h- Extension
.h- Size
- 56388 bytes
- Lines
- 1908
- 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 amd_vce_statestruct pp_states_infostruct seq_filestruct amd_pp_simple_clock_infostruct amd_pp_display_configurationstruct amd_pp_clock_infostruct pp_display_clock_requeststruct pp_clock_levels_with_voltagestruct pp_clock_levels_with_latencystruct amd_pp_clocksstruct pp_smu_wm_range_setsstruct pp_smu_nv_clock_tablestruct dpm_clocksstruct amdgpu_xcp_metricsstruct amdgpu_xcp_metrics_v1_1struct amdgpu_xcp_metrics_v1_2struct amd_pm_funcsstruct metrics_table_headerstruct gpu_metrics_v1_0struct gpu_metrics_v1_1struct gpu_metrics_v1_2struct gpu_metrics_v1_3struct gpu_metrics_v1_4struct gpu_metrics_v1_5struct gpu_metrics_v1_6struct gpu_metrics_v1_7struct gpu_metrics_v1_8struct gpu_metrics_attrstruct gpu_metrics_v1_9struct gpu_metrics_v2_0struct gpu_metrics_v2_1struct gpu_metrics_v2_2struct gpu_metrics_v2_3struct gpu_metrics_v2_4struct gpu_metrics_v3_0struct amdgpu_pmmetrics_headerstruct amdgpu_pm_metricsstruct amdgpu_gpuboard_temp_metrics_v1_0struct amdgpu_baseboard_temp_metrics_v1_0struct amdgpu_partition_metrics_v1_0struct amdgpu_partition_metrics_v1_1struct amdgpu_gpuboard_temp_metrics_v1_1struct amdgpu_baseboard_temp_metrics_v1_1enum smu_temp_metric_typeenum smu_event_typeenum amd_dpm_forced_levelenum amd_pm_state_typeenum amd_vce_level
Annotated Snippet
struct amd_vce_state {
/* vce clocks */
u32 evclk;
u32 ecclk;
/* gpu clocks */
u32 sclk;
u32 mclk;
u8 clk_idx;
u8 pstate;
};
enum amd_dpm_forced_level {
AMD_DPM_FORCED_LEVEL_AUTO = 0x1,
AMD_DPM_FORCED_LEVEL_MANUAL = 0x2,
AMD_DPM_FORCED_LEVEL_LOW = 0x4,
AMD_DPM_FORCED_LEVEL_HIGH = 0x8,
AMD_DPM_FORCED_LEVEL_PROFILE_STANDARD = 0x10,
AMD_DPM_FORCED_LEVEL_PROFILE_MIN_SCLK = 0x20,
AMD_DPM_FORCED_LEVEL_PROFILE_MIN_MCLK = 0x40,
AMD_DPM_FORCED_LEVEL_PROFILE_PEAK = 0x80,
AMD_DPM_FORCED_LEVEL_PROFILE_EXIT = 0x100,
AMD_DPM_FORCED_LEVEL_PERF_DETERMINISM = 0x200,
};
enum amd_pm_state_type {
/* not used for dpm */
POWER_STATE_TYPE_DEFAULT,
POWER_STATE_TYPE_POWERSAVE,
/* user selectable states */
POWER_STATE_TYPE_BATTERY,
POWER_STATE_TYPE_BALANCED,
POWER_STATE_TYPE_PERFORMANCE,
/* internal states */
POWER_STATE_TYPE_INTERNAL_UVD,
POWER_STATE_TYPE_INTERNAL_UVD_SD,
POWER_STATE_TYPE_INTERNAL_UVD_HD,
POWER_STATE_TYPE_INTERNAL_UVD_HD2,
POWER_STATE_TYPE_INTERNAL_UVD_MVC,
POWER_STATE_TYPE_INTERNAL_BOOT,
POWER_STATE_TYPE_INTERNAL_THERMAL,
POWER_STATE_TYPE_INTERNAL_ACPI,
POWER_STATE_TYPE_INTERNAL_ULV,
POWER_STATE_TYPE_INTERNAL_3DPERF,
};
#define AMD_MAX_VCE_LEVELS 6
enum amd_vce_level {
AMD_VCE_LEVEL_AC_ALL = 0, /* AC, All cases */
AMD_VCE_LEVEL_DC_EE = 1, /* DC, entropy encoding */
AMD_VCE_LEVEL_DC_LL_LOW = 2, /* DC, low latency queue, res <= 720 */
AMD_VCE_LEVEL_DC_LL_HIGH = 3, /* DC, low latency queue, 1080 >= res > 720 */
AMD_VCE_LEVEL_DC_GP_LOW = 4, /* DC, general purpose queue, res <= 720 */
AMD_VCE_LEVEL_DC_GP_HIGH = 5, /* DC, general purpose queue, 1080 >= res > 720 */
};
enum amd_fan_ctrl_mode {
AMD_FAN_CTRL_NONE = 0,
AMD_FAN_CTRL_MANUAL = 1,
AMD_FAN_CTRL_AUTO = 2,
};
enum pp_clock_type {
PP_SCLK,
PP_MCLK,
PP_PCIE,
PP_SOCCLK,
PP_FCLK,
PP_DCEFCLK,
PP_VCLK,
PP_VCLK1,
PP_DCLK,
PP_DCLK1,
PP_ISPICLK,
PP_ISPXCLK,
OD_SCLK,
OD_MCLK,
OD_FCLK,
OD_VDDC_CURVE,
OD_RANGE,
OD_VDDGFX_OFFSET,
OD_CCLK,
OD_FAN_CURVE,
OD_ACOUSTIC_LIMIT,
OD_ACOUSTIC_TARGET,
OD_FAN_TARGET_TEMPERATURE,
OD_FAN_MINIMUM_PWM,
OD_FAN_ZERO_RPM_ENABLE,
OD_FAN_ZERO_RPM_STOP_TEMP,
Annotation
- Detected declarations: `struct amd_vce_state`, `struct pp_states_info`, `struct seq_file`, `struct amd_pp_simple_clock_info`, `struct amd_pp_display_configuration`, `struct amd_pp_clock_info`, `struct pp_display_clock_request`, `struct pp_clock_levels_with_voltage`, `struct pp_clock_levels_with_latency`, `struct amd_pp_clocks`.
- 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.