diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1142-drm-amd-display-Update-DMCU-versioning-mechanism.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1142-drm-amd-display-Update-DMCU-versioning-mechanism.patch | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1142-drm-amd-display-Update-DMCU-versioning-mechanism.patch b/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1142-drm-amd-display-Update-DMCU-versioning-mechanism.patch new file mode 100644 index 00000000..4ae5f0e3 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1142-drm-amd-display-Update-DMCU-versioning-mechanism.patch @@ -0,0 +1,81 @@ +From 5adc56d40514082dec053b4777cefa742bb0aad0 Mon Sep 17 00:00:00 2001 +From: Josip Pavic <Josip.Pavic@amd.com> +Date: Tue, 8 Jan 2019 14:43:10 -0500 +Subject: [PATCH 1142/2940] drm/amd/display: Update DMCU versioning mechanism + +[Why] +Current date based versioning doesn't tell us about feature version +and build version, and is not useful for debug. + +[How] +Add versioning based on feature and build + +Signed-off-by: Josip Pavic <Josip.Pavic@amd.com> +Reviewed-by: Anthony Koo <Anthony.Koo@amd.com> +Acked-by: Leo Li <sunpeng.li@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c | 6 +++--- + drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h | 6 +++--- + .../gpu/drm/amd/display/modules/power/power_helpers.c | 9 ++++----- + 3 files changed, 10 insertions(+), 11 deletions(-) + +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 897c5a79ef5b..41e2e7897b4f 100644 +--- a/drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c ++++ b/drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c +@@ -331,10 +331,10 @@ static void dcn10_get_dmcu_version(struct dmcu *dmcu) + /* Write address to IRAM_RD_ADDR and read from DATA register */ + REG_WRITE(DMCU_IRAM_RD_CTRL, dmcu_version_offset); + dmcu->dmcu_version.interface_version = REG_READ(DMCU_IRAM_RD_DATA); +- dmcu->dmcu_version.year = ((REG_READ(DMCU_IRAM_RD_DATA) << 8) | ++ dmcu->dmcu_version.abm_version = REG_READ(DMCU_IRAM_RD_DATA); ++ dmcu->dmcu_version.psr_version = REG_READ(DMCU_IRAM_RD_DATA); ++ dmcu->dmcu_version.build_version = ((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.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 ed32a7503684..cbaa43853611 100644 +--- a/drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h ++++ b/drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h +@@ -39,10 +39,10 @@ enum dmcu_state { + }; + + struct dmcu_version { +- unsigned int date; +- unsigned int month; +- unsigned int year; + unsigned int interface_version; ++ unsigned int abm_version; ++ unsigned int psr_version; ++ unsigned int build_version; + }; + + struct dmcu { +diff --git a/drivers/gpu/drm/amd/display/modules/power/power_helpers.c b/drivers/gpu/drm/amd/display/modules/power/power_helpers.c +index 89b082b5d107..5432183d9db0 100644 +--- a/drivers/gpu/drm/amd/display/modules/power/power_helpers.c ++++ b/drivers/gpu/drm/amd/display/modules/power/power_helpers.c +@@ -87,11 +87,10 @@ struct iram_table_v_2 { + + /* For reading PSR State directly from IRAM */ + uint8_t psr_state; /* 0xf0 */ +- uint8_t dmcu_interface_version; /* 0xf1 */ +- uint8_t dmcu_date_version_year_b0; /* 0xf2 */ +- uint8_t dmcu_date_version_year_b1; /* 0xf3 */ +- uint8_t dmcu_date_version_month; /* 0xf4 */ +- uint8_t dmcu_date_version_day; /* 0xf5 */ ++ uint8_t dmcu_mcp_interface_version; /* 0xf1 */ ++ uint8_t dmcu_abm_feature_version; /* 0xf2 */ ++ uint8_t dmcu_psr_feature_version; /* 0xf3 */ ++ uint16_t dmcu_version; /* 0xf4 */ + uint8_t dmcu_state; /* 0xf6 */ + + uint16_t blRampReduction; /* 0xf7 */ +-- +2.17.1 + |