From ebfdf0d0770bd20e9baff3750b5103d6b7fa21c3 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Thu, 10 Aug 2017 14:39:50 -0400 Subject: drm/amd/display/dc: add DCE_VERSION for DCE8 APUs DCE 8.1 = Kaveri DCE 8.3 = Kabini/Mullins Signed-off-by: Alex Deucher Reviewed-by: Harry Wentland Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/display/dc/bios/command_table_helper.c | 2 ++ drivers/gpu/drm/amd/display/dc/bios/command_table_helper2.c | 2 ++ drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 11 ++++++++++- drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c | 6 ++++++ drivers/gpu/drm/amd/display/dc/gpio/hw_factory.c | 2 ++ drivers/gpu/drm/amd/display/dc/gpio/hw_translate.c | 2 ++ drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c | 2 ++ 7 files changed, 26 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/drm/amd/display/dc') diff --git a/drivers/gpu/drm/amd/display/dc/bios/command_table_helper.c b/drivers/gpu/drm/amd/display/dc/bios/command_table_helper.c index 40d9a9921c45..2979358c6a55 100644 --- a/drivers/gpu/drm/amd/display/dc/bios/command_table_helper.c +++ b/drivers/gpu/drm/amd/display/dc/bios/command_table_helper.c @@ -37,6 +37,8 @@ bool dal_bios_parser_init_cmd_tbl_helper( { switch (dce) { case DCE_VERSION_8_0: + case DCE_VERSION_8_1: + case DCE_VERSION_8_3: *h = dal_cmd_tbl_helper_dce80_get_table(); return true; diff --git a/drivers/gpu/drm/amd/display/dc/bios/command_table_helper2.c b/drivers/gpu/drm/amd/display/dc/bios/command_table_helper2.c index 9084a32aab79..35c3f3a8e493 100644 --- a/drivers/gpu/drm/amd/display/dc/bios/command_table_helper2.c +++ b/drivers/gpu/drm/amd/display/dc/bios/command_table_helper2.c @@ -39,6 +39,8 @@ bool dal_bios_parser_init_cmd_tbl_helper2( { switch (dce) { case DCE_VERSION_8_0: + case DCE_VERSION_8_1: + case DCE_VERSION_8_3: *h = dal_cmd_tbl_helper_dce80_get_table(); return true; diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c index 30237f049c99..ee7a393b2b00 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c @@ -50,9 +50,16 @@ enum dce_version resource_parse_asic_id(struct hw_asic_id asic_id) switch (asic_id.chip_family) { case FAMILY_CI: - case FAMILY_KV: dc_version = DCE_VERSION_8_0; break; + case FAMILY_KV: + if (ASIC_REV_IS_KALINDI(asic_id.hw_internal_rev) || + ASIC_REV_IS_BHAVANI(asic_id.hw_internal_rev) || + ASIC_REV_IS_GODAVARI(asic_id.hw_internal_rev)) + dc_version = DCE_VERSION_8_3; + else + dc_version = DCE_VERSION_8_1; + break; case FAMILY_CZ: dc_version = DCE_VERSION_11_0; break; @@ -94,6 +101,8 @@ struct resource_pool *dc_create_resource_pool( switch (dc_version) { case DCE_VERSION_8_0: + case DCE_VERSION_8_1: + case DCE_VERSION_8_3: res_pool = dce80_create_resource_pool( num_virtual_links, dc); break; diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c b/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c index dd7e1dd62636..88e266ac6dd3 100644 --- a/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c +++ b/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c @@ -578,6 +578,8 @@ static uint32_t dce110_get_pix_clk_dividers( switch (cs->ctx->dce_version) { case DCE_VERSION_8_0: + case DCE_VERSION_8_1: + case DCE_VERSION_8_3: case DCE_VERSION_10_0: case DCE_VERSION_11_0: pll_calc_error = @@ -862,6 +864,8 @@ static bool dce110_program_pix_clk( switch (clock_source->ctx->dce_version) { case DCE_VERSION_8_0: + case DCE_VERSION_8_1: + case DCE_VERSION_8_3: case DCE_VERSION_10_0: case DCE_VERSION_11_0: bp_pc_params.reference_divider = pll_settings->reference_divider; @@ -1209,6 +1213,8 @@ bool dce110_clk_src_construct( switch (clk_src->base.ctx->dce_version) { case DCE_VERSION_8_0: + case DCE_VERSION_8_1: + case DCE_VERSION_8_3: case DCE_VERSION_10_0: case DCE_VERSION_11_0: diff --git a/drivers/gpu/drm/amd/display/dc/gpio/hw_factory.c b/drivers/gpu/drm/amd/display/dc/gpio/hw_factory.c index 425f1c4fa891..25f6f9103c44 100644 --- a/drivers/gpu/drm/amd/display/dc/gpio/hw_factory.c +++ b/drivers/gpu/drm/amd/display/dc/gpio/hw_factory.c @@ -66,6 +66,8 @@ bool dal_hw_factory_init( switch (dce_version) { case DCE_VERSION_8_0: + case DCE_VERSION_8_1: + case DCE_VERSION_8_3: dal_hw_factory_dce80_init(factory); return true; diff --git a/drivers/gpu/drm/amd/display/dc/gpio/hw_translate.c b/drivers/gpu/drm/amd/display/dc/gpio/hw_translate.c index 3b55d45b6775..0ae8ace25739 100644 --- a/drivers/gpu/drm/amd/display/dc/gpio/hw_translate.c +++ b/drivers/gpu/drm/amd/display/dc/gpio/hw_translate.c @@ -65,6 +65,8 @@ bool dal_hw_translate_init( switch (dce_version) { case DCE_VERSION_8_0: + case DCE_VERSION_8_1: + case DCE_VERSION_8_3: dal_hw_translate_dce80_init(translate); return true; case DCE_VERSION_10_0: diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c b/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c index 4035caf47d31..9b115e1e2f1a 100644 --- a/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c +++ b/drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c @@ -79,6 +79,8 @@ struct i2caux *dal_i2caux_create( switch (ctx->dce_version) { case DCE_VERSION_8_0: + case DCE_VERSION_8_1: + case DCE_VERSION_8_3: return dal_i2caux_dce80_create(ctx); case DCE_VERSION_11_2: return dal_i2caux_dce112_create(ctx); -- cgit v1.2.3