aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3572-drm-amd-display-provide-an-interface-to-query-firmwa.patch
diff options
context:
space:
mode:
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.patch107
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
+