mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-08 04:12:52 -05: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:
committed by
Alex Deucher
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
|
||||
|
||||
Reference in New Issue
Block a user