Presently a 64-bit bitmask is used to represent the PM features enabled/supported by SOC. The number of features has grown to nearly 64 and could extend beyond that. Instead of using a 64-bit mask, implement a data structure around bitmap and move the implementation to use the datastructure instead of directly operating on 64-bit bitmask.
v2: Use to_arr32 instead of direct assignment Lijo Lazar (7): drm/amd/pm: Add smu feature bits data struct drm/amd/pm: Add smu feature interface functions drm/amd/pm: Remove unused logic in SMUv14.0.2 drm/amd/pm: Initialize allowed feature list drm/amd/pm: Use feature bits data structure drm/amd/pm: Change get_enabled_mask signature drm/amd/pm: Add default feature number definition drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 48 ++--- drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h | 204 +++++++++++++++++- .../gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c | 33 ++- .../amd/pm/swsmu/smu11/cyan_skillfish_ppt.c | 24 ++- .../gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c | 119 +++++----- .../amd/pm/swsmu/smu11/sienna_cichlid_ppt.c | 116 +++++----- .../gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c | 5 +- .../gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c | 29 +-- .../gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c | 4 +- .../drm/amd/pm/swsmu/smu13/aldebaran_ppt.c | 37 ++-- .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c | 6 +- .../drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 58 +++-- .../drm/amd/pm/swsmu/smu13/smu_v13_0_12_ppt.c | 20 +- .../drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c | 34 +-- .../drm/amd/pm/swsmu/smu13/smu_v13_0_5_ppt.c | 29 +-- .../drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c | 39 ++-- .../drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 103 +++++---- .../drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c | 29 +-- .../gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c | 6 +- .../drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c | 33 +-- .../drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c | 69 ++---- .../gpu/drm/amd/pm/swsmu/smu15/smu_v15_0.c | 6 +- .../drm/amd/pm/swsmu/smu15/smu_v15_0_0_ppt.c | 33 +-- drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c | 82 +++---- drivers/gpu/drm/amd/pm/swsmu/smu_cmn.h | 2 +- drivers/gpu/drm/amd/pm/swsmu/smu_internal.h | 2 +- 26 files changed, 662 insertions(+), 508 deletions(-) -- 2.49.0
