From: Anthony Koo <anthony....@amd.com>

Change-Id: I5c59531ebb145a8860358dbfee2d273adf2f09b6
Signed-off-by: Anthony Koo <anthony....@amd.com>
Reviewed-by: Tony Cheng <tony.ch...@amd.com>
Acked-by: Harry Wentland <harry.wentl...@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 8583d9e05721..77a1bf233c3c 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 a512b05303e2..5bb0e5defaf4 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 48e21ead3142..2ee3d9bf1062 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 ce206355461b..de60f940030d 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.14.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to