diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3572-drm-amd-display-provide-an-interface-to-query-firmwa.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3572-drm-amd-display-provide-an-interface-to-query-firmwa.patch | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3572-drm-amd-display-provide-an-interface-to-query-firmwa.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3572-drm-amd-display-provide-an-interface-to-query-firmwa.patch new file mode 100644 index 00000000..dfb97b34 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3572-drm-amd-display-provide-an-interface-to-query-firmwa.patch @@ -0,0 +1,107 @@ +From df7344d63a0dc58aead45aa133442206b1ad6072 Mon Sep 17 00:00:00 2001 +From: Anthony Koo <Anthony.Koo@amd.com> +Date: Wed, 7 Feb 2018 23:25:43 -0500 +Subject: [PATCH 3572/4131] drm/amd/display: provide an interface to query + firmware version + +Signed-off-by: Anthony Koo <Anthony.Koo@amd.com> +Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/dc/core/dc.c | 7 +++++++ + drivers/gpu/drm/amd/display/dc/dc.h | 13 +++++++++++++ + drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c | 2 +- + drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h | 7 ------- + 4 files changed, 21 insertions(+), 8 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c +index 6fb5eb6..adc831b 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc.c +@@ -39,6 +39,7 @@ + #include "bios_parser_interface.h" + #include "include/irq_service_interface.h" + #include "transform.h" ++#include "dmcu.h" + #include "dpp.h" + #include "timing_generator.h" + #include "virtual/virtual_link_encoder.h" +@@ -609,6 +610,12 @@ struct dc *dc_create(const struct dc_init_data *init_params) + dc->caps.max_audios = dc->res_pool->audio_count; + dc->caps.linear_pitch_alignment = 64; + ++ /* Populate versioning information */ ++ dc->versions.dc_ver = DC_VER; ++ ++ if (dc->res_pool->dmcu != NULL) ++ dc->versions.dmcu_version = dc->res_pool->dmcu->dmcu_version; ++ + dc->config = init_params->flags; + + dm_logger_write(dc->ctx->logger, LOG_DC, +diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h +index f8816972..4c6d0fb 100644 +--- a/drivers/gpu/drm/amd/display/dc/dc.h ++++ b/drivers/gpu/drm/amd/display/dc/dc.h +@@ -48,6 +48,18 @@ + /******************************************************************************* + * Display Core Interfaces + ******************************************************************************/ ++struct dmcu_version { ++ unsigned int date; ++ unsigned int month; ++ unsigned int year; ++ unsigned int interface_version; ++}; ++ ++struct dc_versions { ++ const char *dc_ver; ++ struct dmcu_version dmcu_version; ++}; ++ + struct dc_caps { + uint32_t max_streams; + uint32_t max_links; +@@ -221,6 +233,7 @@ struct dc_state; + struct resource_pool; + struct dce_hwseq; + struct dc { ++ struct dc_versions versions; + struct dc_caps caps; + struct dc_cap_funcs cap_funcs; + struct dc_config config; +diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c b/drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c +index 48e21ea..2ee3d9b 100644 +--- a/drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c ++++ b/drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c +@@ -360,7 +360,7 @@ static void dcn10_get_dmcu_version(struct dmcu *dmcu) + dmcu->dmcu_version.year = ((REG_READ(DMCU_IRAM_RD_DATA) << 8) | + REG_READ(DMCU_IRAM_RD_DATA)); + dmcu->dmcu_version.month = REG_READ(DMCU_IRAM_RD_DATA); +- dmcu->dmcu_version.day = REG_READ(DMCU_IRAM_RD_DATA); ++ dmcu->dmcu_version.date = REG_READ(DMCU_IRAM_RD_DATA); + + /* Disable write access to IRAM to allow dynamic sleep state */ + REG_UPDATE_2(DMCU_RAM_ACCESS_CTRL, +diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h b/drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h +index ce20635..de60f94 100644 +--- a/drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h ++++ b/drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h +@@ -32,13 +32,6 @@ enum dmcu_state { + DMCU_RUNNING = 1 + }; + +-struct dmcu_version { +- unsigned int day; +- unsigned int month; +- unsigned int year; +- unsigned int interface_version; +-}; +- + struct dmcu { + struct dc_context *ctx; + const struct dmcu_funcs *funcs; +-- +2.7.4 + |