aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHawking Zhang <Hawking.Zhang@amd.com>2018-09-17 08:25:03 -0400
committerAlex Deucher <alexander.deucher@amd.com>2018-09-19 13:37:31 -0400
commit801281fe09ffc8720336131669a946276e21fe4e (patch)
tree1c8648c7d45ab483afc5d567ba2614a09b34bf40
parent1f81fbc4ce8211b38881b12a1100ea7ee2ffc5f0 (diff)
drm/amdgpu: update vram_info structure in atomfirmware.h
atomfirmware has structure changes in varm_info. Updated it to the latest one. 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>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c2
-rw-r--r--drivers/gpu/drm/amd/include/atomfirmware.h20
2 files changed, 12 insertions, 10 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
index 236915849cfe..5461d0d55111 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
@@ -174,7 +174,7 @@ static int convert_atom_mem_type_to_vram_type (struct amdgpu_device *adev,
174 case ATOM_DGPU_VRAM_TYPE_GDDR5: 174 case ATOM_DGPU_VRAM_TYPE_GDDR5:
175 vram_type = AMDGPU_VRAM_TYPE_GDDR5; 175 vram_type = AMDGPU_VRAM_TYPE_GDDR5;
176 break; 176 break;
177 case ATOM_DGPU_VRAM_TYPE_HBM: 177 case ATOM_DGPU_VRAM_TYPE_HBM2:
178 vram_type = AMDGPU_VRAM_TYPE_HBM; 178 vram_type = AMDGPU_VRAM_TYPE_HBM;
179 break; 179 break;
180 default: 180 default:
diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h
index 6109a45d7a63..8ae7adb7329b 100644
--- a/drivers/gpu/drm/amd/include/atomfirmware.h
+++ b/drivers/gpu/drm/amd/include/atomfirmware.h
@@ -179,7 +179,7 @@ enum atom_voltage_type
179 179
180enum atom_dgpu_vram_type{ 180enum atom_dgpu_vram_type{
181 ATOM_DGPU_VRAM_TYPE_GDDR5 = 0x50, 181 ATOM_DGPU_VRAM_TYPE_GDDR5 = 0x50,
182 ATOM_DGPU_VRAM_TYPE_HBM = 0x60, 182 ATOM_DGPU_VRAM_TYPE_HBM2 = 0x60,
183}; 183};
184 184
185enum atom_dp_vs_preemph_def{ 185enum atom_dp_vs_preemph_def{
@@ -1699,10 +1699,10 @@ struct atom_vram_module_v9
1699{ 1699{
1700 // Design Specific Values 1700 // Design Specific Values
1701 uint32_t memory_size; // Total memory size in unit of MB for CONFIG_MEMSIZE zeros 1701 uint32_t memory_size; // Total memory size in unit of MB for CONFIG_MEMSIZE zeros
1702 uint32_t channel_enable; // for 32 channel ASIC usage 1702 uint32_t channel_enable; // bit vector, each bit indicate specific channel enable or not
1703 uint32_t umcch_addrcfg; 1703 uint32_t max_mem_clk; // max memory clock of this memory in unit of 10kHz, =0 means it is not defined
1704 uint32_t umcch_addrsel; 1704 uint16_t reserved[3];
1705 uint32_t umcch_colsel; 1705 uint16_t mem_voltage; // mem_voltage
1706 uint16_t vram_module_size; // Size of atom_vram_module_v9 1706 uint16_t vram_module_size; // Size of atom_vram_module_v9
1707 uint8_t ext_memory_id; // Current memory module ID 1707 uint8_t ext_memory_id; // Current memory module ID
1708 uint8_t memory_type; // enum of atom_dgpu_vram_type 1708 uint8_t memory_type; // enum of atom_dgpu_vram_type
@@ -1712,20 +1712,22 @@ struct atom_vram_module_v9
1712 uint8_t tunningset_id; // MC phy registers set per. 1712 uint8_t tunningset_id; // MC phy registers set per.
1713 uint8_t vender_rev_id; // [7:4] Revision, [3:0] Vendor code 1713 uint8_t vender_rev_id; // [7:4] Revision, [3:0] Vendor code
1714 uint8_t refreshrate; // [1:0]=RefreshFactor (00=8ms, 01=16ms, 10=32ms,11=64ms) 1714 uint8_t refreshrate; // [1:0]=RefreshFactor (00=8ms, 01=16ms, 10=32ms,11=64ms)
1715 uint16_t vram_rsd2; // reserved 1715 uint8_t hbm_ven_rev_id; // hbm_ven_rev_id
1716 uint8_t vram_rsd2; // reserved
1716 char dram_pnstring[20]; // part number end with '0'. 1717 char dram_pnstring[20]; // part number end with '0'.
1717}; 1718};
1718 1719
1719
1720struct atom_vram_info_header_v2_3 1720struct atom_vram_info_header_v2_3
1721{ 1721{
1722 struct atom_common_table_header table_header; 1722 struct atom_common_table_header table_header;
1723 uint16_t mem_adjust_tbloffset; // offset of atom_umc_init_reg_block structure for memory vendor specific UMC adjust setting 1723 uint16_t mem_adjust_tbloffset; // offset of atom_umc_init_reg_block structure for memory vendor specific UMC adjust setting
1724 uint16_t mem_clk_patch_tbloffset; // offset of atom_umc_init_reg_block structure for memory clock specific UMC setting 1724 uint16_t mem_clk_patch_tbloffset; // offset of atom_umc_init_reg_block structure for memory clock specific UMC setting
1725 uint16_t mc_adjust_pertile_tbloffset; // offset of atom_umc_init_reg_block structure for Per Byte Offset Preset Settings 1725 uint16_t mc_adjust_pertile_tbloffset; // offset of atom_umc_init_reg_block structure for Per Byte Offset Preset Settings
1726 uint16_t mc_phyinit_tbloffset; // offset of atom_umc_init_reg_block structure for MC phy init set 1726 uint16_t mc_phyinit_tbloffset; // offset of atom_umc_init_reg_block structure for MC phy init set
1727 uint16_t dram_data_remap_tbloffset; // reserved for now 1727 uint16_t dram_data_remap_tbloffset; // reserved for now
1728 uint16_t vram_rsd2[3]; 1728 uint16_t tmrs_seq_offset; // offset of HBM tmrs
1729 uint16_t post_ucode_init_offset; // offset of atom_umc_init_reg_block structure for MC phy init after MC uCode complete umc init
1730 uint16_t vram_rsd2;
1729 uint8_t vram_module_num; // indicate number of VRAM module 1731 uint8_t vram_module_num; // indicate number of VRAM module
1730 uint8_t vram_rsd1[2]; 1732 uint8_t vram_rsd1[2];
1731 uint8_t mc_phy_tile_num; // indicate the MCD tile number which use in DramDataRemapTbl and usMcAdjustPerTileTblOffset 1733 uint8_t mc_phy_tile_num; // indicate the MCD tile number which use in DramDataRemapTbl and usMcAdjustPerTileTblOffset