diff options
Diffstat (limited to 'drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c')
-rw-r--r-- | drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c b/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c index f50d26a318d4..dbfb8ec2c76d 100644 --- a/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c +++ b/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c @@ -33,6 +33,9 @@ #ifdef CONFIG_DRM_AMD_DC_DCN3_01 #include "dmub_dcn301.h" #endif +#ifdef CONFIG_DRM_AMD_DC_DCN3_02 +#include "dmub_dcn302.h" +#endif #include "os_types.h" /* * Note: the DMUB service is standalone. No additional headers should be @@ -145,6 +148,9 @@ static bool dmub_srv_hw_setup(struct dmub_srv *dmub, enum dmub_asic asic) #ifdef CONFIG_DRM_AMD_DC_DCN3_01 case DMUB_ASIC_DCN301: #endif +#ifdef CONFIG_DRM_AMD_DC_DCN3_02 + case DMUB_ASIC_DCN302: +#endif dmub->regs = &dmub_srv_dcn20_regs; funcs->reset = dmub_dcn20_reset; @@ -183,6 +189,14 @@ static bool dmub_srv_hw_setup(struct dmub_srv *dmub, enum dmub_asic asic) funcs->setup_windows = dmub_dcn30_setup_windows; } #endif +#ifdef CONFIG_DRM_AMD_DC_DCN3_02 + if (asic == DMUB_ASIC_DCN302) { + dmub->regs = &dmub_srv_dcn302_regs; + + funcs->backdoor_load = dmub_dcn30_backdoor_load; + funcs->setup_windows = dmub_dcn30_setup_windows; + } +#endif break; default: |