drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu13_driver_if_v13_0_6.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu13_driver_if_v13_0_6.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu13_driver_if_v13_0_6.h- Extension
.h- Size
- 6555 bytes
- Lines
- 244
- 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.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#ifndef SMU_13_0_6_DRIVER_IF_H
#define SMU_13_0_6_DRIVER_IF_H
// *** IMPORTANT ***
// PMFW TEAM: Always increment the interface version if
// anything is changed in this file
#define SMU13_0_6_DRIVER_IF_VERSION 0x08042024
//I2C Interface
#define NUM_I2C_CONTROLLERS 8
#define I2C_CONTROLLER_ENABLED 1
#define I2C_CONTROLLER_DISABLED 0
#define MAX_SW_I2C_COMMANDS 24
typedef enum {
I2C_CONTROLLER_PORT_0, //CKSVII2C0
I2C_CONTROLLER_PORT_1, //CKSVII2C1
I2C_CONTROLLER_PORT_COUNT,
} I2cControllerPort_e;
typedef enum {
UNSUPPORTED_1, //50 Kbits/s not supported anymore!
I2C_SPEED_STANDARD_100K, //100 Kbits/s
I2C_SPEED_FAST_400K, //400 Kbits/s
I2C_SPEED_FAST_PLUS_1M, //1 Mbits/s (in fast mode)
UNSUPPORTED_2, //1 Mbits/s (in high speed mode) not supported anymore!
UNSUPPORTED_3, //2.3 Mbits/s not supported anymore!
I2C_SPEED_COUNT,
} I2cSpeed_e;
typedef enum {
I2C_CMD_READ,
I2C_CMD_WRITE,
I2C_CMD_COUNT,
} I2cCmdType_e;
#define CMDCONFIG_STOP_BIT 0
#define CMDCONFIG_RESTART_BIT 1
#define CMDCONFIG_READWRITE_BIT 2 //bit should be 0 for read, 1 for write
#define CMDCONFIG_STOP_MASK (1 << CMDCONFIG_STOP_BIT)
#define CMDCONFIG_RESTART_MASK (1 << CMDCONFIG_RESTART_BIT)
#define CMDCONFIG_READWRITE_MASK (1 << CMDCONFIG_READWRITE_BIT)
typedef enum {
// MMHUB
CODE_DAGB0,
CODE_EA0 = 5,
CODE_UTCL2_ROUTER = 10,
CODE_VML2,
CODE_VML2_WALKER,
CODE_MMCANE,
// VCN
// VCN VCPU
CODE_VIDD,
CODE_VIDV,
// VCN JPEG
CODE_JPEG0S,
CODE_JPEG0D,
CODE_JPEG1S,
CODE_JPEG1D,
CODE_JPEG2S,
CODE_JPEG2D,
CODE_JPEG3S,
CODE_JPEG3D,
CODE_JPEG4S,
CODE_JPEG4D,
CODE_JPEG5S,
CODE_JPEG5D,
CODE_JPEG6S,
CODE_JPEG6D,
CODE_JPEG7S,
CODE_JPEG7D,
// VCN MMSCH
CODE_MMSCHD,
// SDMA
CODE_SDMA0,
CODE_SDMA1,
CODE_SDMA2,
CODE_SDMA3,
// SOC
CODE_HDP,
CODE_ATHUB,
CODE_IH,
CODE_XHUB_POISON,
CODE_SMN_SLVERR = 40,
Annotation
- 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.