mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 16:12:59 +02:00
drm/amd/pm: avoid unaligned access warnings
When building on OpenBSD/arm64 with clang 15, unaligned access
warnings are seen when a union is embedded inside a packed struct.
drm/amd/pm/powerplay/hwmgr/vega20_pptable.h:136:17: error: field
smcPPTable within 'struct _ATOM_VEGA20_POWERPLAYTABLE' is less aligned
than 'PPTable_t' and is usually due to
'struct _ATOM_VEGA20_POWERPLAYTABLE' being packed, which can lead to
unaligned accesses [-Werror,-Wunaligned-access]
PPTable_t smcPPTable;
^
Make PPTable_t packed to avoid this.
Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
6e60cba666
commit
f989fa298c
|
|
@ -358,6 +358,7 @@ typedef struct {
|
|||
QuadraticInt_t SsCurve;
|
||||
} DpmDescriptor_t;
|
||||
|
||||
#pragma pack(push, 1)
|
||||
typedef struct {
|
||||
uint32_t Version;
|
||||
|
||||
|
|
@ -609,6 +610,7 @@ typedef struct {
|
|||
uint32_t MmHubPadding[8];
|
||||
|
||||
} PPTable_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef struct {
|
||||
|
||||
|
|
|
|||
|
|
@ -122,6 +122,7 @@ typedef struct {
|
|||
uint16_t Vid; /* min voltage in SVI2 VID */
|
||||
} DisplayClockTable_t;
|
||||
|
||||
#pragma pack(push, 1)
|
||||
typedef struct {
|
||||
/* PowerTune */
|
||||
uint16_t SocketPowerLimit; /* Watts */
|
||||
|
|
@ -323,6 +324,7 @@ typedef struct {
|
|||
uint32_t MmHubPadding[3]; /* SMU internal use */
|
||||
|
||||
} PPTable_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef struct {
|
||||
uint16_t MinClock; // This is either DCEFCLK or SOCCLK (in MHz)
|
||||
|
|
|
|||
|
|
@ -245,6 +245,7 @@ typedef struct {
|
|||
QuadraticInt_t SsCurve;
|
||||
} DpmDescriptor_t;
|
||||
|
||||
#pragma pack(push, 1)
|
||||
typedef struct {
|
||||
uint32_t Version;
|
||||
|
||||
|
|
@ -508,6 +509,7 @@ typedef struct {
|
|||
uint32_t MmHubPadding[7];
|
||||
|
||||
} PPTable_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef struct {
|
||||
|
||||
|
|
|
|||
|
|
@ -464,6 +464,7 @@ typedef struct {
|
|||
uint16_t Padding16;
|
||||
} DpmDescriptor_t;
|
||||
|
||||
#pragma pack(push, 1)
|
||||
typedef struct {
|
||||
uint32_t Version;
|
||||
|
||||
|
|
@ -733,6 +734,7 @@ typedef struct {
|
|||
uint32_t MmHubPadding[8]; // SMU internal use
|
||||
|
||||
} PPTable_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef struct {
|
||||
// Time constant parameters for clock averages in ms
|
||||
|
|
|
|||
|
|
@ -515,6 +515,7 @@ typedef struct {
|
|||
uint32_t BoardLevelEnergyAccumulator;
|
||||
} OutOfBandMonitor_t;
|
||||
|
||||
#pragma pack(push, 1)
|
||||
typedef struct {
|
||||
uint32_t Version;
|
||||
|
||||
|
|
@ -814,6 +815,7 @@ typedef struct {
|
|||
uint32_t MmHubPadding[8]; // SMU internal use
|
||||
|
||||
} PPTable_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef struct {
|
||||
// Time constant parameters for clock averages in ms
|
||||
|
|
|
|||
|
|
@ -599,6 +599,7 @@ typedef struct {
|
|||
uint16_t Fmax;
|
||||
} UclkDpmChangeRange_t;
|
||||
|
||||
#pragma pack(push, 1)
|
||||
typedef struct {
|
||||
// MAJOR SECTION: SKU PARAMETERS
|
||||
|
||||
|
|
@ -957,6 +958,7 @@ typedef struct {
|
|||
uint32_t MmHubPadding[8]; // SMU internal use
|
||||
|
||||
} PPTable_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef struct {
|
||||
// MAJOR SECTION: SKU PARAMETERS
|
||||
|
|
|
|||
|
|
@ -267,6 +267,7 @@ typedef struct {
|
|||
QuadraticInt_t SsCurve; // Slow-slow curve (GHz->V)
|
||||
} DpmDescriptor_t;
|
||||
|
||||
#pragma pack(push, 1)
|
||||
typedef struct {
|
||||
uint32_t Version;
|
||||
|
||||
|
|
@ -448,6 +449,7 @@ typedef struct {
|
|||
uint32_t reserved[14];
|
||||
|
||||
} PPTable_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef struct {
|
||||
// Time constant parameters for clock averages in ms
|
||||
|
|
|
|||
|
|
@ -1347,10 +1347,12 @@ typedef struct {
|
|||
uint32_t MmHubPadding[8];
|
||||
} BoardTable_t;
|
||||
|
||||
#pragma pack(push, 1)
|
||||
typedef struct {
|
||||
SkuTable_t SkuTable;
|
||||
BoardTable_t BoardTable;
|
||||
} PPTable_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef struct {
|
||||
// Time constant parameters for clock averages in ms
|
||||
|
|
|
|||
|
|
@ -1380,10 +1380,12 @@ typedef struct {
|
|||
uint32_t MmHubPadding[8];
|
||||
} BoardTable_t;
|
||||
|
||||
#pragma pack(push, 1)
|
||||
typedef struct {
|
||||
SkuTable_t SkuTable;
|
||||
BoardTable_t BoardTable;
|
||||
} PPTable_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef struct {
|
||||
// Time constant parameters for clock averages in ms
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user