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>
This commit is contained in:
parent
b2e8530249
commit
07772b0715
@ -331,10 +331,10 @@ static void dcn10_get_dmcu_version(struct dmcu *dmcu)
|
|||||||
/* Write address to IRAM_RD_ADDR and read from DATA register */
|
/* Write address to IRAM_RD_ADDR and read from DATA register */
|
||||||
REG_WRITE(DMCU_IRAM_RD_CTRL, dmcu_version_offset);
|
REG_WRITE(DMCU_IRAM_RD_CTRL, dmcu_version_offset);
|
||||||
dmcu->dmcu_version.interface_version = REG_READ(DMCU_IRAM_RD_DATA);
|
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));
|
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 */
|
/* Disable write access to IRAM to allow dynamic sleep state */
|
||||||
REG_UPDATE_2(DMCU_RAM_ACCESS_CTRL,
|
REG_UPDATE_2(DMCU_RAM_ACCESS_CTRL,
|
||||||
|
@ -39,10 +39,10 @@ enum dmcu_state {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct dmcu_version {
|
struct dmcu_version {
|
||||||
unsigned int date;
|
|
||||||
unsigned int month;
|
|
||||||
unsigned int year;
|
|
||||||
unsigned int interface_version;
|
unsigned int interface_version;
|
||||||
|
unsigned int abm_version;
|
||||||
|
unsigned int psr_version;
|
||||||
|
unsigned int build_version;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct dmcu {
|
struct dmcu {
|
||||||
|
@ -87,11 +87,10 @@ struct iram_table_v_2 {
|
|||||||
|
|
||||||
/* For reading PSR State directly from IRAM */
|
/* For reading PSR State directly from IRAM */
|
||||||
uint8_t psr_state; /* 0xf0 */
|
uint8_t psr_state; /* 0xf0 */
|
||||||
uint8_t dmcu_interface_version; /* 0xf1 */
|
uint8_t dmcu_mcp_interface_version; /* 0xf1 */
|
||||||
uint8_t dmcu_date_version_year_b0; /* 0xf2 */
|
uint8_t dmcu_abm_feature_version; /* 0xf2 */
|
||||||
uint8_t dmcu_date_version_year_b1; /* 0xf3 */
|
uint8_t dmcu_psr_feature_version; /* 0xf3 */
|
||||||
uint8_t dmcu_date_version_month; /* 0xf4 */
|
uint16_t dmcu_version; /* 0xf4 */
|
||||||
uint8_t dmcu_date_version_day; /* 0xf5 */
|
|
||||||
uint8_t dmcu_state; /* 0xf6 */
|
uint8_t dmcu_state; /* 0xf6 */
|
||||||
|
|
||||||
uint16_t blRampReduction; /* 0xf7 */
|
uint16_t blRampReduction; /* 0xf7 */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user