On Mon, Jan 24, 2022 at 11:20:42AM +0800, Huang, Tim wrote: > Use IP versions rather than asic_type to differentiate IP version specific features. > > Signed-off-by: Tim Huang <xiaohu.huang@xxxxxxx> > --- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > index 87299e62fe12..c967e1e344e4 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -1119,19 +1119,17 @@ static int dm_dmub_hw_init(struct amdgpu_device *adev) > for (i = 0; i < fb_info->num_fb; ++i) > hw_params.fb[i] = &fb_info->fb[i]; > > - switch (adev->asic_type) { > - case CHIP_YELLOW_CARP: > - if (dc->ctx->asic_id.hw_internal_rev != YELLOW_CARP_A0) { > - hw_params.dpia_supported = true; > + switch (adev->ip_versions[DCE_HWIP][0]) { > + case IP_VERSION(3, 1, 3): /* Only for this asic hw internal rev B0 */ There is another way to define a APU flag on enum amd_apu_flags to differentiate A0 and B0 for yellow carp. But this way looks good for me as well. Patch is Acked-by: Huang Rui <ray.huang@xxxxxxx> > + hw_params.dpia_supported = true; > #if defined(CONFIG_DRM_AMD_DC_DCN) > - hw_params.disable_dpia = dc->debug.dpia_debug.bits.disable_dpia; > + hw_params.disable_dpia = dc->debug.dpia_debug.bits.disable_dpia; > #endif > - } > break; > default: > break; > } > - > + > status = dmub_srv_hw_init(dmub_srv, &hw_params); > if (status != DMUB_STATUS_OK) { > DRM_ERROR("Error initializing DMUB HW: %d\n", status); > -- > 2.25.1 >