All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Deucher <alexdeucher@gmail.com>
To: amd-gfx@lists.freedesktop.org
Cc: Alex Deucher <alexander.deucher@amd.com>,
	Likun Gao <Likun.Gao@amd.com>,
	Hawking Zhang <Hawking.Zhang@amd.com>
Subject: [PATCH 095/207] drm/amdgpu: add vram_info v2_5 in atomfirmware header
Date: Mon,  1 Jun 2020 14:19:02 -0400	[thread overview]
Message-ID: <20200601182054.1267858-6-alexander.deucher@amd.com> (raw)
In-Reply-To: <20200601182054.1267858-1-alexander.deucher@amd.com>

From: Hawking Zhang <Hawking.Zhang@amd.com>

vram_info v2_5 was introduced to support sienna_cichlid

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Likun Gao <Likun.Gao@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/amd/include/atomfirmware.h | 124 +++++++++++++++++++++
 1 file changed, 124 insertions(+)

diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h
index b36ea8340afa..2c3c73f1e6ee 100644
--- a/drivers/gpu/drm/amd/include/atomfirmware.h
+++ b/drivers/gpu/drm/amd/include/atomfirmware.h
@@ -2313,6 +2313,130 @@ struct atom_vram_info_header_v2_4 {
   struct   atom_vram_module_v10  vram_module[16];        // just for allocation, real number of blocks is in ucNumOfVRAMModule;
 };
 
+struct atom_vram_module_v11 {
+	// Design Specific Values
+	uint32_t  memory_size;                   // Total memory size in unit of MB for CONFIG_MEMSIZE zeros
+	uint32_t  channel_enable;                // bit vector, each bit indicate specific channel enable or not
+	uint16_t  mem_voltage;                   // mem_voltage
+	uint16_t  vram_module_size;              // Size of atom_vram_module_v9
+	uint8_t   ext_memory_id;                 // Current memory module ID
+	uint8_t   memory_type;                   // enum of atom_dgpu_vram_type
+	uint8_t   channel_num;                   // Number of mem. channels supported in this module
+	uint8_t   channel_width;                 // CHANNEL_16BIT/CHANNEL_32BIT/CHANNEL_64BIT
+	uint8_t   density;                       // _8Mx32, _16Mx32, _16Mx16, _32Mx16
+	uint8_t   tunningset_id;                 // MC phy registers set per.
+	uint16_t  reserved[4];                   // reserved
+	uint8_t   vender_rev_id;                 // [7:4] Revision, [3:0] Vendor code
+	uint8_t   refreshrate;			 // [1:0]=RefreshFactor (00=8ms, 01=16ms, 10=32ms,11=64ms)
+	uint8_t   vram_flags;			 // bit0= bankgroup enable
+	uint8_t   vram_rsd2;			 // reserved
+	uint16_t  gddr6_mr10;                    // gddr6 mode register10 value
+	uint16_t  gddr6_mr0;                     // gddr6 mode register0 value
+	uint16_t  gddr6_mr1;                     // gddr6 mode register1 value
+	uint16_t  gddr6_mr2;                     // gddr6 mode register2 value
+	uint16_t  gddr6_mr4;                     // gddr6 mode register4 value
+	uint16_t  gddr6_mr7;                     // gddr6 mode register7 value
+	uint16_t  gddr6_mr8;                     // gddr6 mode register8 value
+	char    dram_pnstring[40];               // part number end with '0'.
+};
+
+struct atom_gddr6_ac_timing_v2_5 {
+	uint32_t  u32umc_id_access;
+	uint8_t  RL;
+	uint8_t  WL;
+	uint8_t  tRAS;
+	uint8_t  tRC;
+
+	uint16_t  tREFI;
+	uint8_t  tRFC;
+	uint8_t  tRFCpb;
+
+	uint8_t  tRREFD;
+	uint8_t  tRCDRD;
+	uint8_t  tRCDWR;
+	uint8_t  tRP;
+
+	uint8_t  tRRDS;
+	uint8_t  tRRDL;
+	uint8_t  tWR;
+	uint8_t  tWTRS;
+
+	uint8_t  tWTRL;
+	uint8_t  tFAW;
+	uint8_t  tCCDS;
+	uint8_t  tCCDL;
+
+	uint8_t  tCRCRL;
+	uint8_t  tCRCWL;
+	uint8_t  tCKE;
+	uint8_t  tCKSRE;
+
+	uint8_t  tCKSRX;
+	uint8_t  tRTPS;
+	uint8_t  tRTPL;
+	uint8_t  tMRD;
+
+	uint8_t  tMOD;
+	uint8_t  tXS;
+	uint8_t  tXHP;
+	uint8_t  tXSMRS;
+
+	uint32_t  tXSH;
+
+	uint8_t  tPD;
+	uint8_t  tXP;
+	uint8_t  tCPDED;
+	uint8_t  tACTPDE;
+
+	uint8_t  tPREPDE;
+	uint8_t  tREFPDE;
+	uint8_t  tMRSPDEN;
+	uint8_t  tRDSRE;
+
+	uint8_t  tWRSRE;
+	uint8_t  tPPD;
+	uint8_t  tCCDMW;
+	uint8_t  tWTRTR;
+
+	uint8_t  tLTLTR;
+	uint8_t  tREFTR;
+	uint8_t  VNDR;
+	uint8_t  reserved[9];
+};
+
+struct atom_gddr6_bit_byte_remap {
+	uint32_t dphy_byteremap;    //mmUMC_DPHY_ByteRemap
+	uint32_t dphy_bitremap0;    //mmUMC_DPHY_BitRemap0
+	uint32_t dphy_bitremap1;    //mmUMC_DPHY_BitRemap1
+	uint32_t dphy_bitremap2;    //mmUMC_DPHY_BitRemap2
+	uint32_t aphy_bitremap0;    //mmUMC_APHY_BitRemap0
+	uint32_t aphy_bitremap1;    //mmUMC_APHY_BitRemap1
+	uint32_t phy_dram;          //mmUMC_PHY_DRAM
+};
+
+struct atom_gddr6_dram_data_remap {
+	uint32_t table_size;
+	uint8_t phyintf_ck_inverted[8];     //UMC_PHY_PHYINTF_CNTL.INV_CK
+	struct atom_gddr6_bit_byte_remap bit_byte_remap[16];
+};
+
+struct atom_vram_info_header_v2_5 {
+	struct   atom_common_table_header table_header;
+	uint16_t mem_adjust_tbloffset;                         // offset of atom_umc_init_reg_block structure for memory vendor specific UMC adjust settings
+	uint16_t gddr6_ac_timing_offset;                     // offset of atom_gddr6_ac_timing_v2_5 structure for memory clock specific UMC settings
+	uint16_t mc_adjust_pertile_tbloffset;                  // offset of atom_umc_init_reg_block structure for Per Byte Offset Preset Settings
+	uint16_t mc_phyinit_tbloffset;                         // offset of atom_umc_init_reg_block structure for MC phy init set
+	uint16_t dram_data_remap_tbloffset;                    // offset of atom_gddr6_dram_data_remap array to indicate DRAM data lane to GPU mapping
+	uint16_t reserved;                                     // offset of reserved
+	uint16_t post_ucode_init_offset;                       // offset of atom_umc_init_reg_block structure for MC phy init after MC uCode complete umc init
+	uint16_t strobe_mode_patch_tbloffset;                  // offset of atom_umc_init_reg_block structure for Strobe Mode memory clock specific UMC settings
+	uint8_t  vram_module_num;                              // indicate number of VRAM module
+	uint8_t  umcip_min_ver;
+	uint8_t  umcip_max_ver;
+	uint8_t  mc_phy_tile_num;                              // indicate the MCD tile number which use in DramDataRemapTbl and usMcAdjustPerTileTblOffset
+	struct   atom_vram_module_v11  vram_module[16];        // just for allocation, real number of blocks is in ucNumOfVRAMModule;
+};
+
 /* 
   ***************************************************************************
     Data Table voltageobject_info  structure
-- 
2.25.4

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

  parent reply	other threads:[~2020-06-01 18:21 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-01 18:18 [PATCH 090/207] drm/amdgpu: enable JPEG3.0 for Sienna_Cichlid Alex Deucher
2020-06-01 18:18 ` [PATCH 091/207] drm/amdgpu/gfx10: add gc golden setting for sienna_cichlid Alex Deucher
2020-06-01 18:18 ` [PATCH 092/207] drm/amdgpu: force pa_sc_tile_steering_override to 0 for gfx10.3 Alex Deucher
2020-06-01 18:19 ` [PATCH 093/207] drm/amdgpu: add cp firmware backdoor loading triger Alex Deucher
2020-06-01 18:19 ` [PATCH 094/207] drm/amdgpu: disable gfxoff for sienna_cichlid Alex Deucher
2020-06-01 18:19 ` Alex Deucher [this message]
2020-06-01 18:19 ` [PATCH 096/207] drm/amdgpu: support query vram info " Alex Deucher
2020-06-01 18:19 ` [PATCH 097/207] drm/amdgpu: drop gfx_v10_0_tiling_mode_table_init Alex Deucher
2020-06-01 18:19 ` [PATCH 098/207] drm/amdgpu: only send one sdma firmware for sienna_cichlid Alex Deucher
2020-06-01 18:19 ` [PATCH 099/207] drm/amdgpu: add firmware_info v3_4 structure for Sienna_Cichlid Alex Deucher
2020-06-01 18:19 ` [PATCH 100/207] drm/amdgpu: add atomfirmware helper funciton to query reserved fb size Alex Deucher
2020-06-01 18:19 ` [PATCH 101/207] drm/amdgpu: switch to query reserved fb size from vbios (v3) Alex Deucher
2020-06-01 18:19 ` [PATCH 102/207] drm/amdgpu: open GFX clock gating for sienna_cichlid Alex Deucher
2020-06-01 18:19 ` [PATCH 103/207] drm/amdgpu: change the offset for VCN FW cache window Alex Deucher
2020-06-01 18:19 ` [PATCH 104/207] drm/amdgpu: fix the PSP front door loading VCN firmware Alex Deucher
2020-06-01 18:19 ` [PATCH 105/207] drm/amdgpu: set the LMI ctrl and reset earlier Alex Deucher
2020-06-01 18:19 ` [PATCH 106/207] drm/amdgpu: update golden setting for gfx10.3 Alex Deucher
2020-06-01 18:19 ` [PATCH 107/207] drm/amd/amdgpu: fix the HDP LS/DS/SD programming Alex Deucher
2020-06-01 18:19 ` [PATCH 108/207] drm/amd/amdgpu: add HDP mgcg and ls support Alex Deucher
2020-06-01 18:19 ` [PATCH 109/207] drm/amd/amdgpu: add IH cg support Alex Deucher
2020-06-01 18:19 ` [PATCH 110/207] drm/amd/amdgpu: add athub ls support Alex Deucher
2020-06-01 18:19 ` [PATCH 111/207] drm/amdgpu: Enable Multi Media Hub (MMHUB) Clock Gating for sienna_cichlid Alex Deucher
2020-06-01 18:19 ` [PATCH 112/207] drm/amdgpu: fix SDMA hdp flush engine conflict Alex Deucher
2020-06-02 12:17   ` Christian König
2020-06-01 18:19 ` [PATCH 113/207] drm/amdgpu: enable 3D pipe 1 on Sienna_Cichlid Alex Deucher
2020-06-01 18:19 ` [PATCH 114/207] sound/pci/hda: add sienna_cichlid audio asic id for sienna_cichlid up Alex Deucher
2020-06-01 18:19 ` [PATCH 115/207] drm/amdgpu/dc: Add missing Sienna_Cichlid chip id Alex Deucher
2020-06-01 18:19 ` [PATCH 116/207] drm/amdkfd: Support Sienna_Cichlid KFD v4 Alex Deucher
2020-06-01 18:19 ` [PATCH 117/207] drm/amdkfd: Add Sienna_Cichlid trap handler support Alex Deucher
2020-06-01 18:19 ` [PATCH 118/207] drm/amdkfd: Support newer assemblers in gfx10 trap handler Alex Deucher
2020-06-01 18:19 ` [PATCH 119/207] drm/amdkfd: Support debugger in Navi1x " Alex Deucher
2020-06-01 18:19 ` [PATCH 120/207] drm/amdkfd: sienna_cichlid virtual function support Alex Deucher
2020-06-01 18:19 ` [PATCH 121/207] drm/amd/powerplay: enable VR0HOT for sienna_cichlid Alex Deucher
2020-06-01 18:19 ` [PATCH 122/207] drm/amd/powerplay: enable FCLK DS " Alex Deucher
2020-06-01 18:19 ` [PATCH 123/207] drm/amdgpu: fix typo for vcn3/jpeg3 idle check Alex Deucher
2020-06-01 18:19 ` [PATCH 124/207] drm/amd/powerplay: enable MM DPM PG for sienna_cichlid (v2) Alex Deucher
2020-06-01 18:19 ` [PATCH 125/207] drm/amdgpu: Sienna_Cichlid don't enable SMU for SRIOV Alex Deucher
2020-06-01 18:19 ` [PATCH 126/207] drm/amd/powerplay: enable BACO for sienna_cichlid Alex Deucher
2020-06-01 18:19 ` [PATCH 127/207] drm/amd/powerplay: enable APCC DFLL " Alex Deucher
2020-06-01 18:19 ` [PATCH 128/207] drm/amd/powerplay: add function to get power limit " Alex Deucher
2020-06-01 18:19 ` [PATCH 129/207] drm/amdgpu/mes: update mes fw api Alex Deucher
2020-06-01 18:19 ` [PATCH 130/207] drm/amdgpu/mes: add status fence memory definitions Alex Deucher
2020-06-01 18:19 ` [PATCH 131/207] drm/amdgpu/mes: allocate memory slots for hw resource setting Alex Deucher
2020-06-01 18:19 ` [PATCH 132/207] drm/amdgpu: skip VM inv eng assignment for mes ring Alex Deucher
2020-06-01 18:19 ` [PATCH 133/207] drm/amd/powerplay: enable athub pg Alex Deucher
2020-06-01 18:19 ` [PATCH 134/207] drm/amd/powerplay: enable mmhub pg Alex Deucher
2020-06-01 18:19 ` [PATCH 135/207] drm/amd/powerplay: enable GPO Alex Deucher
2020-06-01 18:19 ` [PATCH 136/207] drm/amd/powerplay: bundle GPO with gfx DPM Alex Deucher
2020-06-01 18:19 ` [PATCH 137/207] drm/amdgpu: update golden setting for sienna_cichlid Alex Deucher
2020-06-01 18:19 ` [PATCH 138/207] drm/amd/powerplay: enable RSMU SMN PG " Alex Deucher
2020-06-01 18:19 ` [PATCH 139/207] drm/am/powerplay: enable OUT OF BAND MONITER " Alex Deucher
2020-06-01 18:19 ` [PATCH 140/207] drm/amdgpu: add clock gating DPG mode for VCN3.0 Alex Deucher
2020-06-01 18:19 ` [PATCH 141/207] drm/amdgpu: add mc resume " Alex Deucher
2020-06-01 18:19 ` [PATCH 142/207] drm/amdgpu: add start " Alex Deucher
2020-06-01 18:19 ` [PATCH 143/207] drm/amdgpu: add stop " Alex Deucher
2020-06-01 18:19 ` [PATCH 144/207] drm/amdgpu: add pause " Alex Deucher
2020-06-01 18:19 ` [PATCH 145/207] drm/amdgpu: set indirect sram " Alex Deucher
2020-06-01 18:19 ` [PATCH 146/207] drm/amdgpu: add internal reg offset translation for VCN inst 1 Alex Deucher
2020-06-01 18:19 ` [PATCH 147/207] drm/amdgpu: rename macro for VCN1.0 Alex Deucher
2020-06-01 18:19 ` [PATCH 148/207] drm/amdgpu: rename macro for VCN2.0 2.5 and 3.0 Alex Deucher
2020-06-01 18:19 ` [PATCH 149/207] drm/amdgpu: add workaround for issue in DPG for VCN3.0 Alex Deucher
2020-06-01 18:19 ` [PATCH 150/207] drm/amdgpu: enable DPG mode " Alex Deucher
2020-06-01 18:19 ` [PATCH 151/207] drm/amdgpu/mes10.1: add no scheduler flag for mes Alex Deucher
2020-06-01 18:19 ` [PATCH 152/207] drm/amdgpu/vcn3.0: schedule instance 0 for decode and 1 for encode Alex Deucher
2020-06-01 18:20 ` [PATCH 153/207] drm/amd/powerplay: enable ULCK DS for sienna_cichlid Alex Deucher
2020-06-01 18:20 ` [PATCH 154/207] drm/amdgpu/sriov : Use kiq to do tlb invalidation for gfx10 on sriov Alex Deucher
2020-06-01 18:20 ` [PATCH 155/207] drm/amd/powerplay: and smc dpm info struct for sienna_cichlid Alex Deucher
2020-06-01 18:20 ` [PATCH 156/207] drm/amd/powerplay: append pptable for sienna_cichlid (v2) Alex Deucher
2020-06-01 18:20 ` [PATCH 157/207] drm/amd/powerplay: enable VDDCI and MVDD for sienna_cichlid Alex Deucher
2020-06-01 18:20 ` [PATCH 158/207] drm/amdgpu: skip GPU scheduler setup for KIQ and MES ring Alex Deucher
2020-06-01 18:20 ` [PATCH 159/207] drm/amd/powerplay: enable fw ctf Alex Deucher
2020-06-01 18:20 ` [PATCH 160/207] drm/amdgpu: disable runtime pm for sienna_cichlid temporarily Alex Deucher
2020-06-01 18:20 ` [PATCH 161/207] drm/amd/powerplay: drop jpeg instance1 dpm setup Alex Deucher
2020-06-01 18:20 ` [PATCH 162/207] drm/amdgpu: only use one gfx pipe for Sienna_Cichlid Alex Deucher
2020-06-01 18:20 ` [PATCH 163/207] drm/amdgpu/sriov : Add sriov detection for sienna_cichlid Alex Deucher
2020-06-01 18:20 ` [PATCH 164/207] drm/amd/powerplay: support mclk socclk limit value set " Alex Deucher
2020-06-01 18:20 ` [PATCH 165/207] drm/amd/amdgpu: disable gfxoff to retrieve gfxclk Alex Deucher
2020-06-01 18:20 ` [PATCH 166/207] drm/amdgpu: enable gfxoff for sienna_cichlid Alex Deucher
2020-06-01 18:20 ` [PATCH 167/207] drm/amd/powerplay: show gfxclk=0 in gfxoff state Alex Deucher
2020-06-01 18:20 ` [PATCH 168/207] drm/amdgpu/psp: add structure to support PSP SPL Alex Deucher
2020-06-01 18:20 ` [PATCH 169/207] drm/amdgpu/psp: initialization PSP SPL fw Alex Deucher
2020-06-01 18:20 ` [PATCH 170/207] drm/amdgpu/psp: support for loading " Alex Deucher
2020-06-01 18:20 ` [PATCH 171/207] drm/amdgpu: update golden setting for sienna_cichlid Alex Deucher
2020-06-01 18:20 ` [PATCH 172/207] drm/amd/powerplay: update smu function " Alex Deucher
2020-06-01 18:20 ` [PATCH 173/207] drm/amd/powerplay: drop sienna_cichlid hardcode of using pptable Alex Deucher
2020-06-01 18:20 ` [PATCH 174/207] drm/amd/powerplay: let PMFW to handle the features disablement on BACO in V2 Alex Deucher
2020-06-01 18:20 ` [PATCH 175/207] drm/amdgpu: reserve fb according to return value from vbios Alex Deucher
2020-06-01 18:20 ` [PATCH 176/207] drm/amdgpu: support memory training for sienna_cichlid Alex Deucher
2020-06-01 18:20 ` [PATCH 177/207] drm/amdgpu: remove unnecessary check for mem train Alex Deucher
2020-06-01 18:20 ` [PATCH 178/207] drm/amdgpu: bypass tmr when reserve c2p memory Alex Deucher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200601182054.1267858-6-alexander.deucher@amd.com \
    --to=alexdeucher@gmail.com \
    --cc=Hawking.Zhang@amd.com \
    --cc=Likun.Gao@amd.com \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.