drivers/gpu/drm/amd/amdgpu/amdgpu_imu.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/amdgpu/amdgpu_imu.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/amdgpu/amdgpu_imu.h
Extension
.h
Size
2091 bytes
Lines
62
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.

Dependency Surface

Detected Declarations

Annotated Snippet

struct amdgpu_imu_funcs {
    int (*init_microcode)(struct amdgpu_device *adev);
    int (*load_microcode)(struct amdgpu_device *adev);
    void (*setup_imu)(struct amdgpu_device *adev);
    int (*start_imu)(struct amdgpu_device *adev);
    void (*program_rlc_ram)(struct amdgpu_device *adev);
    int (*wait_for_reset_status)(struct amdgpu_device *adev);
    int (*switch_compute_partition)(struct amdgpu_device *adev,
				    int num_xccs_per_xcp,
				    int compute_partition_mode);
};

struct imu_rlc_ram_golden {
    u32 hwip;
    u32 instance;
    u32 segment;
    u32 reg;
    u32 data;
    u32 addr_mask;
};

#define IMU_RLC_RAM_GOLDEN_VALUE(ip, inst, reg, data, addr_mask) \
    { ip##_HWIP, inst, reg##_BASE_IDX, reg, data, addr_mask }

struct amdgpu_imu {
    const struct amdgpu_imu_funcs *funcs;
    enum imu_work_mode mode;
};

#endif

Annotation

Implementation Notes