Commit ee7b62e1 authored by Roman Li's avatar Roman Li Committed by Alex Deucher

drm/amd/display: Enable DCN314 in DC

Add support for DCN 3.1.4 in Display Core
Signed-off-by: default avatarRoman Li <roman.li@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 5439c41a
...@@ -35,6 +35,7 @@ DC_LIBS += dcn301 ...@@ -35,6 +35,7 @@ DC_LIBS += dcn301
DC_LIBS += dcn302 DC_LIBS += dcn302
DC_LIBS += dcn303 DC_LIBS += dcn303
DC_LIBS += dcn31 DC_LIBS += dcn31
DC_LIBS += dcn314
DC_LIBS += dcn315 DC_LIBS += dcn315
DC_LIBS += dcn316 DC_LIBS += dcn316
DC_LIBS += dcn32 DC_LIBS += dcn32
......
...@@ -75,6 +75,7 @@ bool dal_bios_parser_init_cmd_tbl_helper2( ...@@ -75,6 +75,7 @@ bool dal_bios_parser_init_cmd_tbl_helper2(
case DCN_VERSION_3_02: case DCN_VERSION_3_02:
case DCN_VERSION_3_03: case DCN_VERSION_3_03:
case DCN_VERSION_3_1: case DCN_VERSION_3_1:
case DCN_VERSION_3_14:
case DCN_VERSION_3_15: case DCN_VERSION_3_15:
case DCN_VERSION_3_16: case DCN_VERSION_3_16:
case DCN_VERSION_3_2: case DCN_VERSION_3_2:
......
...@@ -154,6 +154,15 @@ AMD_DAL_CLK_MGR_DCN31 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn31/,$(CLK_MGR_DC ...@@ -154,6 +154,15 @@ AMD_DAL_CLK_MGR_DCN31 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn31/,$(CLK_MGR_DC
AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN31) AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN31)
###############################################################################
# DCN314
###############################################################################
CLK_MGR_DCN314 = dcn314_smu.o dcn314_clk_mgr.o
AMD_DAL_CLK_MGR_DCN314 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn314/,$(CLK_MGR_DCN314))
AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN314)
############################################################################### ###############################################################################
# DCN315 # DCN315
############################################################################### ###############################################################################
......
...@@ -43,11 +43,11 @@ ...@@ -43,11 +43,11 @@
#include "dcn30/dcn30_clk_mgr.h" #include "dcn30/dcn30_clk_mgr.h"
#include "dcn301/vg_clk_mgr.h" #include "dcn301/vg_clk_mgr.h"
#include "dcn31/dcn31_clk_mgr.h" #include "dcn31/dcn31_clk_mgr.h"
#include "dcn314/dcn314_clk_mgr.h"
#include "dcn315/dcn315_clk_mgr.h" #include "dcn315/dcn315_clk_mgr.h"
#include "dcn316/dcn316_clk_mgr.h" #include "dcn316/dcn316_clk_mgr.h"
#include "dcn32/dcn32_clk_mgr.h" #include "dcn32/dcn32_clk_mgr.h"
int clk_mgr_helper_get_active_display_cnt( int clk_mgr_helper_get_active_display_cnt(
struct dc *dc, struct dc *dc,
struct dc_state *context) struct dc_state *context)
...@@ -287,6 +287,7 @@ struct clk_mgr *dc_clk_mgr_create(struct dc_context *ctx, struct pp_smu_funcs *p ...@@ -287,6 +287,7 @@ struct clk_mgr *dc_clk_mgr_create(struct dc_context *ctx, struct pp_smu_funcs *p
return &clk_mgr->base.base; return &clk_mgr->base.base;
} }
break; break;
case FAMILY_YELLOW_CARP: { case FAMILY_YELLOW_CARP: {
struct clk_mgr_dcn31 *clk_mgr = kzalloc(sizeof(*clk_mgr), GFP_KERNEL); struct clk_mgr_dcn31 *clk_mgr = kzalloc(sizeof(*clk_mgr), GFP_KERNEL);
...@@ -335,6 +336,20 @@ struct clk_mgr *dc_clk_mgr_create(struct dc_context *ctx, struct pp_smu_funcs *p ...@@ -335,6 +336,20 @@ struct clk_mgr *dc_clk_mgr_create(struct dc_context *ctx, struct pp_smu_funcs *p
return &clk_mgr->base; return &clk_mgr->base;
break; break;
} }
case AMDGPU_FAMILY_GC_11_0_2: {
struct clk_mgr_dcn314 *clk_mgr = kzalloc(sizeof(*clk_mgr), GFP_KERNEL);
if (clk_mgr == NULL) {
BREAK_TO_DEBUGGER();
return NULL;
}
dcn314_clk_mgr_construct(ctx, clk_mgr, pp_smu, dccg);
return &clk_mgr->base.base;
}
break;
#endif #endif
default: default:
ASSERT(0); /* Unknown Asic */ ASSERT(0); /* Unknown Asic */
...@@ -381,6 +396,11 @@ void dc_destroy_clk_mgr(struct clk_mgr *clk_mgr_base) ...@@ -381,6 +396,11 @@ void dc_destroy_clk_mgr(struct clk_mgr *clk_mgr_base)
case AMDGPU_FAMILY_GC_11_0_0: case AMDGPU_FAMILY_GC_11_0_0:
dcn32_clk_mgr_destroy(clk_mgr); dcn32_clk_mgr_destroy(clk_mgr);
break; break;
case AMDGPU_FAMILY_GC_11_0_2:
dcn314_clk_mgr_destroy(clk_mgr);
break;
default: default:
break; break;
} }
......
...@@ -4292,6 +4292,10 @@ bool dc_is_dmub_outbox_supported(struct dc *dc) ...@@ -4292,6 +4292,10 @@ bool dc_is_dmub_outbox_supported(struct dc *dc)
!dc->debug.dpia_debug.bits.disable_dpia) !dc->debug.dpia_debug.bits.disable_dpia)
return true; return true;
if (dc->ctx->asic_id.chip_family == AMDGPU_FAMILY_GC_11_0_2 &&
!dc->debug.dpia_debug.bits.disable_dpia)
return true;
/* dmub aux needs dmub notifications to be enabled */ /* dmub aux needs dmub notifications to be enabled */
return dc->debug.enable_dmub_aux_for_legacy_ddc; return dc->debug.enable_dmub_aux_for_legacy_ddc;
} }
......
...@@ -3372,6 +3372,7 @@ bool dc_link_setup_psr(struct dc_link *link, ...@@ -3372,6 +3372,7 @@ bool dc_link_setup_psr(struct dc_link *link,
switch(link->ctx->asic_id.chip_family) { switch(link->ctx->asic_id.chip_family) {
case FAMILY_YELLOW_CARP: case FAMILY_YELLOW_CARP:
case AMDGPU_FAMILY_GC_10_3_6: case AMDGPU_FAMILY_GC_10_3_6:
case AMDGPU_FAMILY_GC_11_0_2:
if(!dc->debug.disable_z10) if(!dc->debug.disable_z10)
psr_context->psr_level.bits.SKIP_CRTC_DISABLE = false; psr_context->psr_level.bits.SKIP_CRTC_DISABLE = false;
break; break;
......
...@@ -63,6 +63,7 @@ ...@@ -63,6 +63,7 @@
#include "dcn302/dcn302_resource.h" #include "dcn302/dcn302_resource.h"
#include "dcn303/dcn303_resource.h" #include "dcn303/dcn303_resource.h"
#include "dcn31/dcn31_resource.h" #include "dcn31/dcn31_resource.h"
#include "dcn314/dcn314_resource.h"
#include "dcn315/dcn315_resource.h" #include "dcn315/dcn315_resource.h"
#include "dcn316/dcn316_resource.h" #include "dcn316/dcn316_resource.h"
#include "../dcn32/dcn32_resource.h" #include "../dcn32/dcn32_resource.h"
...@@ -167,6 +168,10 @@ enum dce_version resource_parse_asic_id(struct hw_asic_id asic_id) ...@@ -167,6 +168,10 @@ enum dce_version resource_parse_asic_id(struct hw_asic_id asic_id)
if (ASICREV_IS_GC_11_0_2(asic_id.hw_internal_rev)) if (ASICREV_IS_GC_11_0_2(asic_id.hw_internal_rev))
dc_version = DCN_VERSION_3_21; dc_version = DCN_VERSION_3_21;
break; break;
case AMDGPU_FAMILY_GC_11_0_2:
if (ASICREV_IS_GC_11_0_2(asic_id.hw_internal_rev))
dc_version = DCN_VERSION_3_14;
break;
default: default:
dc_version = DCE_VERSION_UNKNOWN; dc_version = DCE_VERSION_UNKNOWN;
break; break;
...@@ -256,6 +261,9 @@ struct resource_pool *dc_create_resource_pool(struct dc *dc, ...@@ -256,6 +261,9 @@ struct resource_pool *dc_create_resource_pool(struct dc *dc,
case DCN_VERSION_3_1: case DCN_VERSION_3_1:
res_pool = dcn31_create_resource_pool(init_data, dc); res_pool = dcn31_create_resource_pool(init_data, dc);
break; break;
case DCN_VERSION_3_14:
res_pool = dcn314_create_resource_pool(init_data, dc);
break;
case DCN_VERSION_3_15: case DCN_VERSION_3_15:
res_pool = dcn315_create_resource_pool(init_data, dc); res_pool = dcn315_create_resource_pool(init_data, dc);
break; break;
......
...@@ -157,13 +157,16 @@ ...@@ -157,13 +157,16 @@
SRII(PIXEL_RATE_CNTL, OTG, 0),\ SRII(PIXEL_RATE_CNTL, OTG, 0),\
SRII(PIXEL_RATE_CNTL, OTG, 1) SRII(PIXEL_RATE_CNTL, OTG, 1)
#define CS_COMMON_MASK_SH_LIST_DCN2_0(mask_sh)\ #define CS_COMMON_MASK_SH_LIST_DCN2_0(mask_sh)\
CS_SF(DP_DTO0_PHASE, DP_DTO0_PHASE, mask_sh),\ CS_SF(DP_DTO0_PHASE, DP_DTO0_PHASE, mask_sh),\
CS_SF(DP_DTO0_MODULO, DP_DTO0_MODULO, mask_sh),\ CS_SF(DP_DTO0_MODULO, DP_DTO0_MODULO, mask_sh),\
CS_SF(PHYPLLA_PIXCLK_RESYNC_CNTL, PHYPLLA_DCCG_DEEP_COLOR_CNTL, mask_sh),\ CS_SF(PHYPLLA_PIXCLK_RESYNC_CNTL, PHYPLLA_DCCG_DEEP_COLOR_CNTL, mask_sh),\
CS_SF(OTG0_PIXEL_RATE_CNTL, DP_DTO0_ENABLE, mask_sh) CS_SF(OTG0_PIXEL_RATE_CNTL, DP_DTO0_ENABLE, mask_sh)
#define CS_COMMON_MASK_SH_LIST_DCN3_1_4(mask_sh)\
CS_COMMON_MASK_SH_LIST_DCN2_0(mask_sh),\
CS_SF(OTG0_PIXEL_RATE_CNTL, PIPE0_DTO_SRC_SEL, mask_sh),
#define CS_COMMON_MASK_SH_LIST_DCN3_2(mask_sh)\ #define CS_COMMON_MASK_SH_LIST_DCN3_2(mask_sh)\
CS_COMMON_MASK_SH_LIST_DCN2_0(mask_sh),\ CS_COMMON_MASK_SH_LIST_DCN2_0(mask_sh),\
CS_SF(OTG0_PIXEL_RATE_CNTL, PIPE0_DTO_SRC_SEL, mask_sh) CS_SF(OTG0_PIXEL_RATE_CNTL, PIPE0_DTO_SRC_SEL, mask_sh)
......
...@@ -575,11 +575,18 @@ static void dsc_write_to_registers(struct display_stream_compressor *dsc, const ...@@ -575,11 +575,18 @@ static void dsc_write_to_registers(struct display_stream_compressor *dsc, const
PIC_HEIGHT, reg_vals->pps.pic_height); PIC_HEIGHT, reg_vals->pps.pic_height);
// dscc registers // dscc registers
REG_SET_4(DSCC_CONFIG0, 0, if (dsc20->dsc_mask->ICH_RESET_AT_END_OF_LINE == 0) {
ICH_RESET_AT_END_OF_LINE, reg_vals->ich_reset_at_eol, REG_SET_3(DSCC_CONFIG0, 0,
NUMBER_OF_SLICES_PER_LINE, reg_vals->num_slices_h - 1, NUMBER_OF_SLICES_PER_LINE, reg_vals->num_slices_h - 1,
ALTERNATE_ICH_ENCODING_EN, reg_vals->alternate_ich_encoding_en, ALTERNATE_ICH_ENCODING_EN, reg_vals->alternate_ich_encoding_en,
NUMBER_OF_SLICES_IN_VERTICAL_DIRECTION, reg_vals->num_slices_v - 1); NUMBER_OF_SLICES_IN_VERTICAL_DIRECTION, reg_vals->num_slices_v - 1);
} else {
REG_SET_4(DSCC_CONFIG0, 0, ICH_RESET_AT_END_OF_LINE,
reg_vals->ich_reset_at_eol, NUMBER_OF_SLICES_PER_LINE,
reg_vals->num_slices_h - 1, ALTERNATE_ICH_ENCODING_EN,
reg_vals->alternate_ich_encoding_en, NUMBER_OF_SLICES_IN_VERTICAL_DIRECTION,
reg_vals->num_slices_v - 1);
}
REG_SET(DSCC_CONFIG1, 0, REG_SET(DSCC_CONFIG1, 0,
DSCC_RATE_CONTROL_BUFFER_MODEL_SIZE, reg_vals->rc_buffer_model_size); DSCC_RATE_CONTROL_BUFFER_MODEL_SIZE, reg_vals->rc_buffer_model_size);
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
#define DC_LOGGER \ #define DC_LOGGER \
dccg->ctx->logger dccg->ctx->logger
static void dccg31_update_dpp_dto(struct dccg *dccg, int dpp_inst, int req_dppclk) void dccg31_update_dpp_dto(struct dccg *dccg, int dpp_inst, int req_dppclk)
{ {
struct dcn_dccg *dccg_dcn = TO_DCN_DCCG(dccg); struct dcn_dccg *dccg_dcn = TO_DCN_DCCG(dccg);
...@@ -338,7 +338,7 @@ void dccg31_disable_symclk32_le( ...@@ -338,7 +338,7 @@ void dccg31_disable_symclk32_le(
} }
} }
static void dccg31_disable_dscclk(struct dccg *dccg, int inst) void dccg31_disable_dscclk(struct dccg *dccg, int inst)
{ {
struct dcn_dccg *dccg_dcn = TO_DCN_DCCG(dccg); struct dcn_dccg *dccg_dcn = TO_DCN_DCCG(dccg);
...@@ -373,7 +373,7 @@ static void dccg31_disable_dscclk(struct dccg *dccg, int inst) ...@@ -373,7 +373,7 @@ static void dccg31_disable_dscclk(struct dccg *dccg, int inst)
} }
} }
static void dccg31_enable_dscclk(struct dccg *dccg, int inst) void dccg31_enable_dscclk(struct dccg *dccg, int inst)
{ {
struct dcn_dccg *dccg_dcn = TO_DCN_DCCG(dccg); struct dcn_dccg *dccg_dcn = TO_DCN_DCCG(dccg);
...@@ -510,7 +510,7 @@ void dccg31_set_physymclk( ...@@ -510,7 +510,7 @@ void dccg31_set_physymclk(
} }
/* Controls the generation of pixel valid for OTG in (OTG -> HPO case) */ /* Controls the generation of pixel valid for OTG in (OTG -> HPO case) */
static void dccg31_set_dtbclk_dto( void dccg31_set_dtbclk_dto(
struct dccg *dccg, struct dccg *dccg,
const struct dtbclk_dto_params *params) const struct dtbclk_dto_params *params)
{ {
...@@ -608,7 +608,7 @@ void dccg31_set_audio_dtbclk_dto( ...@@ -608,7 +608,7 @@ void dccg31_set_audio_dtbclk_dto(
} }
} }
static void dccg31_get_dccg_ref_freq(struct dccg *dccg, void dccg31_get_dccg_ref_freq(struct dccg *dccg,
unsigned int xtalin_freq_inKhz, unsigned int xtalin_freq_inKhz,
unsigned int *dccg_ref_freq_inKhz) unsigned int *dccg_ref_freq_inKhz)
{ {
...@@ -620,7 +620,7 @@ static void dccg31_get_dccg_ref_freq(struct dccg *dccg, ...@@ -620,7 +620,7 @@ static void dccg31_get_dccg_ref_freq(struct dccg *dccg,
return; return;
} }
static void dccg31_set_dispclk_change_mode( void dccg31_set_dispclk_change_mode(
struct dccg *dccg, struct dccg *dccg,
enum dentist_dispclk_change_mode change_mode) enum dentist_dispclk_change_mode change_mode)
{ {
...@@ -662,7 +662,7 @@ void dccg31_init(struct dccg *dccg) ...@@ -662,7 +662,7 @@ void dccg31_init(struct dccg *dccg)
} }
} }
static void dccg31_otg_add_pixel(struct dccg *dccg, void dccg31_otg_add_pixel(struct dccg *dccg,
uint32_t otg_inst) uint32_t otg_inst)
{ {
struct dcn_dccg *dccg_dcn = TO_DCN_DCCG(dccg); struct dcn_dccg *dccg_dcn = TO_DCN_DCCG(dccg);
...@@ -671,7 +671,7 @@ static void dccg31_otg_add_pixel(struct dccg *dccg, ...@@ -671,7 +671,7 @@ static void dccg31_otg_add_pixel(struct dccg *dccg,
OTG_ADD_PIXEL[otg_inst], 1); OTG_ADD_PIXEL[otg_inst], 1);
} }
static void dccg31_otg_drop_pixel(struct dccg *dccg, void dccg31_otg_drop_pixel(struct dccg *dccg,
uint32_t otg_inst) uint32_t otg_inst)
{ {
struct dcn_dccg *dccg_dcn = TO_DCN_DCCG(dccg); struct dcn_dccg *dccg_dcn = TO_DCN_DCCG(dccg);
......
...@@ -194,4 +194,39 @@ void dccg31_set_audio_dtbclk_dto( ...@@ -194,4 +194,39 @@ void dccg31_set_audio_dtbclk_dto(
struct dccg *dccg, struct dccg *dccg,
const struct dtbclk_dto_params *params); const struct dtbclk_dto_params *params);
void dccg31_update_dpp_dto(
struct dccg *dccg,
int dpp_inst,
int req_dppclk);
void dccg31_get_dccg_ref_freq(
struct dccg *dccg,
unsigned int xtalin_freq_inKhz,
unsigned int *dccg_ref_freq_inKhz);
void dccg31_set_dpstreamclk(
struct dccg *dccg,
enum streamclk_source src,
int otg_inst);
void dccg31_set_dtbclk_dto(
struct dccg *dccg,
const struct dtbclk_dto_params *params);
void dccg31_otg_add_pixel(
struct dccg *dccg,
uint32_t otg_inst);
void dccg31_otg_drop_pixel(
struct dccg *dccg,
uint32_t otg_inst);
void dccg31_set_dispclk_change_mode(
struct dccg *dccg,
enum dentist_dispclk_change_mode change_mode);
void dccg31_disable_dscclk(struct dccg *dccg, int inst);
void dccg31_enable_dscclk(struct dccg *dccg, int inst);
#endif //__DCN31_DCCG_H__ #endif //__DCN31_DCCG_H__
...@@ -198,6 +198,34 @@ ...@@ -198,6 +198,34 @@
LE_SF(RDPCSTX0_RDPCSTX_PHY_FUSE3, RDPCS_PHY_DP_TX3_EQ_PRE, mask_sh),\ LE_SF(RDPCSTX0_RDPCSTX_PHY_FUSE3, RDPCS_PHY_DP_TX3_EQ_PRE, mask_sh),\
LE_SF(RDPCSTX0_RDPCSTX_PHY_FUSE3, RDPCS_PHY_DP_TX3_EQ_POST, mask_sh) LE_SF(RDPCSTX0_RDPCSTX_PHY_FUSE3, RDPCS_PHY_DP_TX3_EQ_POST, mask_sh)
#define DPCS_DCN314_REG_LIST(id) \
SRI(TMDS_CTL_BITS, DIG, id), \
SRI(RDPCSTX_PHY_CNTL3, RDPCSTX, id), \
SRI(RDPCSTX_PHY_CNTL4, RDPCSTX, id), \
SRI(RDPCSTX_PHY_CNTL5, RDPCSTX, id), \
SRI(RDPCSTX_PHY_CNTL7, RDPCSTX, id), \
SRI(RDPCSTX_PHY_CNTL8, RDPCSTX, id), \
SRI(RDPCSTX_PHY_CNTL9, RDPCSTX, id), \
SRI(RDPCSTX_PHY_CNTL10, RDPCSTX, id), \
SRI(RDPCSTX_PHY_CNTL11, RDPCSTX, id), \
SRI(RDPCSTX_PHY_CNTL12, RDPCSTX, id), \
SRI(RDPCSTX_PHY_CNTL13, RDPCSTX, id), \
SRI(RDPCSTX_PHY_CNTL14, RDPCSTX, id), \
SRI(RDPCSTX_CNTL, RDPCSTX, id), \
SRI(RDPCSTX_CLOCK_CNTL, RDPCSTX, id), \
SRI(RDPCSTX_INTERRUPT_CONTROL, RDPCSTX, id), \
SRI(RDPCSTX_PHY_CNTL0, RDPCSTX, id), \
SRI(RDPCSTX_PHY_CNTL2, RDPCSTX, id), \
SRI(RDPCS_TX_CR_ADDR, RDPCSTX, id), \
SRI(RDPCS_TX_CR_DATA, RDPCSTX, id), \
SRI(RDPCSTX_PHY_FUSE0, RDPCSTX, id), \
SRI(RDPCSTX_PHY_FUSE1, RDPCSTX, id), \
SRI(RDPCSTX_PHY_FUSE2, RDPCSTX, id), \
SRI(RDPCSTX_PHY_FUSE3, RDPCSTX, id), \
SR(RDPCSTX0_RDPCSTX_SCRATCH), \
SRI(RDPCSTX_PHY_RX_LD_VAL, RDPCSTX, id),\
SRI(RDPCSTX_DMCU_DPALT_DIS_BLOCK_REG, RDPCSTX, id)
void dcn31_link_encoder_construct( void dcn31_link_encoder_construct(
struct dcn20_link_encoder *enc20, struct dcn20_link_encoder *enc20,
const struct encoder_init_data *init_data, const struct encoder_init_data *init_data,
......
...@@ -2162,6 +2162,9 @@ static bool dcn31_resource_construct( ...@@ -2162,6 +2162,9 @@ static bool dcn31_resource_construct(
pool->base.usb4_dpia_count = 4; pool->base.usb4_dpia_count = 4;
} }
if (dc->ctx->asic_id.chip_family == AMDGPU_FAMILY_GC_11_0_2)
pool->base.usb4_dpia_count = 4;
/* Audio, Stream Encoders including HPO and virtual, MPC 3D LUTs */ /* Audio, Stream Encoders including HPO and virtual, MPC 3D LUTs */
if (!resource_construct(num_virtual_links, dc, &pool->base, if (!resource_construct(num_virtual_links, dc, &pool->base,
(!IS_FPGA_MAXIMUS_DC(dc->ctx->dce_environment) ? (!IS_FPGA_MAXIMUS_DC(dc->ctx->dce_environment) ?
......
...@@ -100,6 +100,7 @@ bool dal_hw_factory_init( ...@@ -100,6 +100,7 @@ bool dal_hw_factory_init(
case DCN_VERSION_3_02: case DCN_VERSION_3_02:
case DCN_VERSION_3_03: case DCN_VERSION_3_03:
case DCN_VERSION_3_1: case DCN_VERSION_3_1:
case DCN_VERSION_3_14:
case DCN_VERSION_3_16: case DCN_VERSION_3_16:
dal_hw_factory_dcn30_init(factory); dal_hw_factory_dcn30_init(factory);
return true; return true;
......
...@@ -101,6 +101,7 @@ bool dal_hw_translate_init( ...@@ -101,6 +101,7 @@ bool dal_hw_translate_init(
case DCN_VERSION_3_02: case DCN_VERSION_3_02:
case DCN_VERSION_3_03: case DCN_VERSION_3_03:
case DCN_VERSION_3_1: case DCN_VERSION_3_1:
case DCN_VERSION_3_14:
case DCN_VERSION_3_16: case DCN_VERSION_3_16:
dal_hw_translate_dcn30_init(translate); dal_hw_translate_dcn30_init(translate);
return true; return true;
......
...@@ -135,6 +135,16 @@ IRQ_DCN31 = irq_service_dcn31.o ...@@ -135,6 +135,16 @@ IRQ_DCN31 = irq_service_dcn31.o
AMD_DAL_IRQ_DCN31= $(addprefix $(AMDDALPATH)/dc/irq/dcn31/,$(IRQ_DCN31)) AMD_DAL_IRQ_DCN31= $(addprefix $(AMDDALPATH)/dc/irq/dcn31/,$(IRQ_DCN31))
AMD_DISPLAY_FILES += $(AMD_DAL_IRQ_DCN31) AMD_DISPLAY_FILES += $(AMD_DAL_IRQ_DCN31)
###############################################################################
# DCN 314
###############################################################################
IRQ_DCN314 = irq_service_dcn314.o
AMD_DAL_IRQ_DCN314= $(addprefix $(AMDDALPATH)/dc/irq/dcn314/,$(IRQ_DCN314))
AMD_DISPLAY_FILES += $(AMD_DAL_IRQ_DCN314)
############################################################################### ###############################################################################
# DCN 315 # DCN 315
############################################################################### ###############################################################################
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment