aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorHawking Zhang <Hawking.Zhang@amd.com>2019-03-06 21:10:16 -0500
committerAlex Deucher <alexander.deucher@amd.com>2019-03-19 16:36:51 -0400
commited606ca3d30d2e73d566e087214274399ca016d3 (patch)
treefff483872e1adbb55ff5efe098780ed5df1fbbe7 /drivers
parentacbbee015b017e8a07cff1b0f58b41c953fd9a56 (diff)
drm/amdgpu: update atomfirmware header with ecc related members
add new umc_info structures and new firmware_capability defines Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/amd/include/atomfirmware.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h
index efdff6a63aac..08769b4b7a74 100644
--- a/drivers/gpu/drm/amd/include/atomfirmware.h
+++ b/drivers/gpu/drm/amd/include/atomfirmware.h
@@ -494,6 +494,9 @@ enum atombios_firmware_capability
494 ATOM_FIRMWARE_CAP_FIRMWARE_POSTED = 0x00000001, 494 ATOM_FIRMWARE_CAP_FIRMWARE_POSTED = 0x00000001,
495 ATOM_FIRMWARE_CAP_GPU_VIRTUALIZATION = 0x00000002, 495 ATOM_FIRMWARE_CAP_GPU_VIRTUALIZATION = 0x00000002,
496 ATOM_FIRMWARE_CAP_WMI_SUPPORT = 0x00000040, 496 ATOM_FIRMWARE_CAP_WMI_SUPPORT = 0x00000040,
497 ATOM_FIRMWARE_CAP_HWEMU_ENABLE = 0x00000080,
498 ATOM_FIRMWARE_CAP_HWEMU_UMC_CFG = 0x00000100,
499 ATOM_FIRMWARE_CAP_SRAM_ECC = 0x00000200,
497}; 500};
498 501
499enum atom_cooling_solution_id{ 502enum atom_cooling_solution_id{
@@ -1810,6 +1813,56 @@ struct atom_umc_info_v3_1
1810 uint32_t mem_refclk_10khz; 1813 uint32_t mem_refclk_10khz;
1811}; 1814};
1812 1815
1816// umc_info.umc_config
1817enum atom_umc_config_def {
1818 UMC_CONFIG__ENABLE_1KB_INTERLEAVE_MODE = 0x00000001,
1819 UMC_CONFIG__DEFAULT_MEM_ECC_ENABLE = 0x00000002,
1820 UMC_CONFIG__ENABLE_HBM_LANE_REPAIR = 0x00000004,
1821 UMC_CONFIG__ENABLE_BANK_HARVESTING = 0x00000008,
1822 UMC_CONFIG__ENABLE_PHY_REINIT = 0x00000010,
1823 UMC_CONFIG__DISABLE_UCODE_CHKSTATUS = 0x00000020,
1824};
1825
1826struct atom_umc_info_v3_2
1827{
1828 struct atom_common_table_header table_header;
1829 uint32_t ucode_version;
1830 uint32_t ucode_rom_startaddr;
1831 uint32_t ucode_length;
1832 uint16_t umc_reg_init_offset;
1833 uint16_t customer_ucode_name_offset;
1834 uint16_t mclk_ss_percentage;
1835 uint16_t mclk_ss_rate_10hz;
1836 uint8_t umcip_min_ver;
1837 uint8_t umcip_max_ver;
1838 uint8_t vram_type; //enum of atom_dgpu_vram_type
1839 uint8_t umc_config;
1840 uint32_t mem_refclk_10khz;
1841 uint32_t pstate_uclk_10khz[4];
1842 uint16_t umcgoldenoffset;
1843 uint16_t densitygoldenoffset;
1844};
1845
1846struct atom_umc_info_v3_3
1847{
1848 struct atom_common_table_header table_header;
1849 uint32_t ucode_reserved;
1850 uint32_t ucode_rom_startaddr;
1851 uint32_t ucode_length;
1852 uint16_t umc_reg_init_offset;
1853 uint16_t customer_ucode_name_offset;
1854 uint16_t mclk_ss_percentage;
1855 uint16_t mclk_ss_rate_10hz;
1856 uint8_t umcip_min_ver;
1857 uint8_t umcip_max_ver;
1858 uint8_t vram_type; //enum of atom_dgpu_vram_type
1859 uint8_t umc_config;
1860 uint32_t mem_refclk_10khz;
1861 uint32_t pstate_uclk_10khz[4];
1862 uint16_t umcgoldenoffset;
1863 uint16_t densitygoldenoffset;
1864 uint32_t reserved[4];
1865};
1813 1866
1814/* 1867/*
1815 *************************************************************************** 1868 ***************************************************************************