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.

Dependency Surface

Detected Declarations

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

Implementation Notes