[AMD Public Use] > -----Original Message----- > From: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx> > Sent: Tuesday, May 4, 2021 6:43 PM > To: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; amd- > gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Gustavo A . R . Silva <gustavoars@xxxxxxxxxx> > Subject: Re: [PATCH] Revert "drm/radeon/si_dpm: Replace one-element > array with flexible-array in struct SISLANDS_SMC_SWSTATE" > > Hi, > > I thought it was this[1] the one causing problems[2]. They are both causing problems. Alex > > -- > Gustavo > > [1] > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.k > ernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git% > 2Fcommit%2F%3Fid%3D434fb1e7444a2efc3a4ebd950c7f771ebfcffa31&d > ata=04%7C01%7Calexander.deucher%40amd.com%7C2e5ec39776404b9f1ad > a08d90f4def14%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C6375 > 57649665013301%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiL > CJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ItE > aD0%2FcD8SZYTdHFEzLqhAkz4u40VJ3b8jXmnKubYc%3D&reserved=0 > [2] > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore. > kernel.org%2Fdri-devel%2F3eedbe78-1fbd-4763-a7f3- > ac5665e76a4a%40xenosoft.de%2F&data=04%7C01%7Calexander.deuch > er%40amd.com%7C2e5ec39776404b9f1ada08d90f4def14%7C3dd8961fe4884 > e608e11a82d994e183d%7C0%7C0%7C637557649665013301%7CUnknown%7C > TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiL > CJXVCI6Mn0%3D%7C1000&sdata=oNDZm9xHuOWbelrUrXYXPoyXLlk2dI > kRH75O43AFNcI%3D&reserved=0 > > On 5/4/21 13:42, Alex Deucher wrote: > > This reverts commit 96e27e8d919e52f30ea6b717e3cb70faa0b102cd. > > > > This causes the SMU to fail to load the power state. > > > > Bug: > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitl > > ab.freedesktop.org%2Fdrm%2Famd%2F- > %2Fissues%2F1583&data=04%7C01%7C > > > alexander.deucher%40amd.com%7C2e5ec39776404b9f1ada08d90f4def14%7 > C3dd89 > > > 61fe4884e608e11a82d994e183d%7C0%7C0%7C637557649665013301%7CUnkn > own%7CT > > > WFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLC > JXVCI > > > 6Mn0%3D%7C1000&sdata=zo7mfnO2t%2BtQgPxIquuDYIsROlkqECjdX0r > JOPyklyc > > %3D&reserved=0 > > Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> > > Cc: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx> > > --- > > drivers/gpu/drm/radeon/si_dpm.c | 5 +++-- > > drivers/gpu/drm/radeon/sislands_smc.h | 10 +++++----- > > 2 files changed, 8 insertions(+), 7 deletions(-) > > > > diff --git a/drivers/gpu/drm/radeon/si_dpm.c > > b/drivers/gpu/drm/radeon/si_dpm.c index 918609551804..91bfc4762767 > > 100644 > > --- a/drivers/gpu/drm/radeon/si_dpm.c > > +++ b/drivers/gpu/drm/radeon/si_dpm.c > > @@ -5250,9 +5250,10 @@ static int si_upload_sw_state(struct > radeon_device *rdev, > > int ret; > > u32 address = si_pi->state_table_start + > > offsetof(SISLANDS_SMC_STATETABLE, driverState); > > + u32 state_size = sizeof(SISLANDS_SMC_SWSTATE) + > > + ((new_state->performance_level_count - 1) * > > + sizeof(SISLANDS_SMC_HW_PERFORMANCE_LEVEL)); > > SISLANDS_SMC_SWSTATE *smc_state = &si_pi- > >smc_statetable.driverState; > > - size_t state_size = struct_size(smc_state, levels, > > - new_state- > >performance_level_count); > > > > memset(smc_state, 0, state_size); > > > > diff --git a/drivers/gpu/drm/radeon/sislands_smc.h > > b/drivers/gpu/drm/radeon/sislands_smc.h > > index fbd6589bdab9..966e3a556011 100644 > > --- a/drivers/gpu/drm/radeon/sislands_smc.h > > +++ b/drivers/gpu/drm/radeon/sislands_smc.h > > @@ -182,11 +182,11 @@ typedef struct > SISLANDS_SMC_HW_PERFORMANCE_LEVEL > > SISLANDS_SMC_HW_PERFORMANCE_LEV > > > > struct SISLANDS_SMC_SWSTATE > > { > > - uint8_t flags; > > - uint8_t levelCount; > > - uint8_t padding2; > > - uint8_t padding3; > > - SISLANDS_SMC_HW_PERFORMANCE_LEVEL levels[]; > > + uint8_t flags; > > + uint8_t levelCount; > > + uint8_t padding2; > > + uint8_t padding3; > > + SISLANDS_SMC_HW_PERFORMANCE_LEVEL levels[1]; > > }; > > > > typedef struct SISLANDS_SMC_SWSTATE SISLANDS_SMC_SWSTATE; > > _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx