All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/6] drm/amdgpu: add irq src id for GFX11
@ 2022-04-29 17:36 Alex Deucher
  2022-04-29 17:36 ` [PATCH 2/6] drm/amdgpu: add gfx firmware header v2_0 Alex Deucher
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Alex Deucher @ 2022-04-29 17:36 UTC (permalink / raw)
  To: amd-gfx; +Cc: Alex Deucher, Wenhui Sheng, Hawking Zhang

From: Wenhui Sheng <Wenhui.Sheng@amd.com>

Signed-off-by: Wenhui Sheng <Wenhui.Sheng@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 .../include/ivsrcid/gfx/irqsrcs_gfx_11_0_0.h  | 77 +++++++++++++++++++
 1 file changed, 77 insertions(+)
 create mode 100644 drivers/gpu/drm/amd/include/ivsrcid/gfx/irqsrcs_gfx_11_0_0.h

diff --git a/drivers/gpu/drm/amd/include/ivsrcid/gfx/irqsrcs_gfx_11_0_0.h b/drivers/gpu/drm/amd/include/ivsrcid/gfx/irqsrcs_gfx_11_0_0.h
new file mode 100644
index 000000000000..9e8ed9f4bb15
--- /dev/null
+++ b/drivers/gpu/drm/amd/include/ivsrcid/gfx/irqsrcs_gfx_11_0_0.h
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2021 Advanced Micro Devices, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ */
+#ifndef __IRQSRCS_GFX_11_0_0_H__
+#define __IRQSRCS_GFX_11_0_0_H__
+
+
+#define GFX_11_0_0__SRCID__UTCL2_FAULT                          0       // UTCL2 has encountered a fault or retry scenario
+#define GFX_11_0_0__SRCID__UTCL2_DATA_POISONING                 1       // UTCL2 for data poisoning
+
+#define GFX_11_0_0__SRCID__MEM_ACCES_MON		                10		// 0x0A EA memory access monitor interrupt
+
+#define GFX_11_0_0__SRCID__SDMA_ATOMIC_RTN_DONE                 48      // 0x30 SDMA atomic*_rtn ops complete
+#define GFX_11_0_0__SRCID__SDMA_TRAP                            49      // 0x31 Trap
+#define GFX_11_0_0__SRCID__SDMA_SRBMWRITE                       50      // 0x32 SRBM write Protection
+#define GFX_11_0_0__SRCID__SDMA_CTXEMPTY                        51      // 0x33 Context Empty
+#define GFX_11_0_0__SRCID__SDMA_PREEMPT                         52      // 0x34 SDMA New Run List
+#define GFX_11_0_0__SRCID__SDMA_IB_PREEMPT                      53      // 0x35 sdma mid - command buffer preempt interrupt
+#define GFX_11_0_0__SRCID__SDMA_DOORBELL_INVALID                54      // 0x36 Doorbell BE invalid
+#define GFX_11_0_0__SRCID__SDMA_QUEUE_HANG                      55      // 0x37 Queue hang or Command timeout
+#define GFX_11_0_0__SRCID__SDMA_ATOMIC_TIMEOUT                  56      // 0x38 SDMA atomic CMPSWAP loop timeout
+#define GFX_11_0_0__SRCID__SDMA_POLL_TIMEOUT                    57      // 0x39 SRBM read poll timeout
+#define GFX_11_0_0__SRCID__SDMA_PAGE_TIMEOUT                    58      // 0x3A Page retry  timeout after UTCL2 return nack = 1
+#define GFX_11_0_0__SRCID__SDMA_PAGE_NULL                       59      // 0x3B Page Null from UTCL2 when nack = 2
+#define GFX_11_0_0__SRCID__SDMA_PAGE_FAULT                      60      // 0x3C Page Fault Error from UTCL2 when nack = 3
+#define GFX_11_0_0__SRCID__SDMA_VM_HOLE                         61      // 0x3D MC or SEM address in VM hole
+#define GFX_11_0_0__SRCID__SDMA_ECC                             62      // 0x3E ECC Error
+#define GFX_11_0_0__SRCID__SDMA_FROZEN                          63      // 0x3F SDMA Frozen
+#define GFX_11_0_0__SRCID__SDMA_SRAM_ECC                        64      // 0x40 SRAM ECC Error
+#define GFX_11_0_0__SRCID__SDMA_SEM_INCOMPLETE_TIMEOUT          65      // 0x41 GPF(Sem incomplete timeout)
+#define GFX_11_0_0__SRCID__SDMA_SEM_WAIT_FAIL_TIMEOUT           66      // 0x42 Semaphore wait fail timeout
+
+#define GFX_11_0_0__SRCID__CP_GENERIC_INT				        177		// 0xB1 CP_GENERIC int
+#define GFX_11_0_0__SRCID__CP_PM4_PKT_RSVD_BIT_ERROR		    180		// 0xB4 PM4 Pkt Rsvd Bits Error
+#define GFX_11_0_0__SRCID__CP_EOP_INTERRUPT					    181		// 0xB5 End-of-Pipe Interrupt
+#define GFX_11_0_0__SRCID__CP_BAD_OPCODE_ERROR				    183		// 0xB7 Bad Opcode Error
+#define GFX_11_0_0__SRCID__CP_PRIV_REG_FAULT				    184		// 0xB8 Privileged Register Fault
+#define GFX_11_0_0__SRCID__CP_PRIV_INSTR_FAULT				    185		// 0xB9 Privileged Instr Fault
+#define GFX_11_0_0__SRCID__CP_WAIT_MEM_SEM_FAULT			    186		// 0xBA Wait Memory Semaphore Fault (Synchronization Object Fault)
+#define GFX_11_0_0__SRCID__CP_CTX_EMPTY_INTERRUPT			    187		// 0xBB Context Empty Interrupt
+#define GFX_11_0_0__SRCID__CP_CTX_BUSY_INTERRUPT			    188		// 0xBC Context Busy Interrupt
+#define GFX_11_0_0__SRCID__CP_ME_WAIT_REG_MEM_POLL_TIMEOUT	    192		// 0xC0 CP.ME Wait_Reg_Mem Poll Timeout
+#define GFX_11_0_0__SRCID__CP_SIG_INCOMPLETE				    193		// 0xC1 "Surface Probe Fault Signal Incomplete"
+#define GFX_11_0_0__SRCID__CP_PREEMPT_ACK					    194		// 0xC2 Preemption Ack-wledge
+#define GFX_11_0_0__SRCID__CP_GPF					            195		// 0xC3 General Protection Fault (GPF)
+#define GFX_11_0_0__SRCID__CP_GDS_ALLOC_ERROR				    196		// 0xC4 GDS Alloc Error
+#define GFX_11_0_0__SRCID__CP_ECC_ERROR					        197		// 0xC5 ECC  Error
+#define GFX_11_0_0__SRCID__CP_COMPUTE_QUERY_STATUS              199     // 0xC7 Compute query status
+#define GFX_11_0_0__SRCID__CP_VM_DOORBELL					    200		// 0xC8 Unattached VM Doorbell Received
+#define GFX_11_0_0__SRCID__CP_FUE_ERROR					        201		// 0xC9 ECC FUE Error
+#define GFX_11_0_0__SRCID__RLC_STRM_PERF_MONITOR_INTERRUPT	    202		// 0xCA Streaming Perf Monitor Interrupt
+#define GFX_11_0_0__SRCID__GRBM_RD_TIMEOUT_ERROR			    232		// 0xE8 CRead timeout error
+#define GFX_11_0_0__SRCID__GRBM_REG_GUI_IDLE				    233		// 0xE9 Register GUI Idle
+
+#define GFX_11_0_0__SRCID__SQ_INTERRUPT_ID					    239		// 0xEF SQ Interrupt (ttrace wrap, errors)
+
+
+#endif
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/6] drm/amdgpu: add gfx firmware header v2_0
  2022-04-29 17:36 [PATCH 1/6] drm/amdgpu: add irq src id for GFX11 Alex Deucher
@ 2022-04-29 17:36 ` Alex Deucher
  2022-04-29 17:36 ` [PATCH 3/6] drm/amdgpu: support rlc v2_3 ucode struct Alex Deucher
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Alex Deucher @ 2022-04-29 17:36 UTC (permalink / raw)
  To: amd-gfx; +Cc: Alex Deucher, Likun Gao, Wenhui Sheng, Hawking Zhang

From: Likun Gao <Likun.Gao@amd.com>

We need define new firmware header to support
CP RS64 fw.

Signed-off-by: Wenhui Sheng <Wenhui.Sheng@amd.com>
Signed-off-by: Likun Gao <Likun.Gao@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c |  6 ++++++
 drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h | 13 +++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
index 6218bd62d172..b7d575c7bcdc 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
@@ -115,6 +115,12 @@ void amdgpu_ucode_print_gfx_hdr(const struct common_firmware_header *hdr)
 			  le32_to_cpu(gfx_hdr->ucode_feature_version));
 		DRM_DEBUG("jt_offset: %u\n", le32_to_cpu(gfx_hdr->jt_offset));
 		DRM_DEBUG("jt_size: %u\n", le32_to_cpu(gfx_hdr->jt_size));
+	} else if (version_major == 2) {
+		const struct gfx_firmware_header_v2_0 *gfx_hdr =
+			container_of(hdr, struct gfx_firmware_header_v2_0, header);
+
+		DRM_DEBUG("ucode_feature_version: %u\n",
+			  le32_to_cpu(gfx_hdr->ucode_feature_version));
 	} else {
 		DRM_ERROR("Unknown GFX ucode version: %u.%u\n", version_major, version_minor);
 	}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h
index 1c2d1f9bf418..bf9ead9c71f3 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h
@@ -170,6 +170,18 @@ struct gfx_firmware_header_v1_0 {
 	uint32_t jt_size;  /* size of jt */
 };
 
+/* version_major=2, version_minor=0 */
+struct gfx_firmware_header_v2_0 {
+	struct common_firmware_header header;
+	uint32_t ucode_feature_version;
+	uint32_t ucode_size_bytes;
+	uint32_t ucode_offset_bytes;
+	uint32_t data_size_bytes;
+	uint32_t data_offset_bytes;
+	uint32_t ucode_start_addr_lo;
+	uint32_t ucode_start_addr_hi;
+};
+
 /* version_major=1, version_minor=0 */
 struct mes_firmware_header_v1_0 {
 	struct common_firmware_header header;
@@ -326,6 +338,7 @@ union amdgpu_firmware_header {
 	struct ta_firmware_header_v1_0 ta;
 	struct ta_firmware_header_v2_0 ta_v2_0;
 	struct gfx_firmware_header_v1_0 gfx;
+	struct gfx_firmware_header_v2_0 gfx_v2_0;
 	struct rlc_firmware_header_v1_0 rlc;
 	struct rlc_firmware_header_v2_0 rlc_v2_0;
 	struct rlc_firmware_header_v2_1 rlc_v2_1;
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/6] drm/amdgpu: support rlc v2_3 ucode struct
  2022-04-29 17:36 [PATCH 1/6] drm/amdgpu: add irq src id for GFX11 Alex Deucher
  2022-04-29 17:36 ` [PATCH 2/6] drm/amdgpu: add gfx firmware header v2_0 Alex Deucher
@ 2022-04-29 17:36 ` Alex Deucher
  2022-04-29 17:36 ` [PATCH 4/6] drm/amdgpu: add FGCG support Alex Deucher
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Alex Deucher @ 2022-04-29 17:36 UTC (permalink / raw)
  To: amd-gfx; +Cc: Alex Deucher, Likun Gao, Kenneth Feng

From: Likun Gao <Likun.Gao@amd.com>

Add support for rlc v2_3 to support RLCV and RLCP fw load.

Signed-off-by: Likun Gao <Likun.Gao@amd.com>
Reviewed-by: Kenneth Feng <kenneth.feng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_rlc.h   |  4 ++++
 drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h | 13 ++++++++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_rlc.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_rlc.h
index 3f671a62b009..6232a89f02dd 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_rlc.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_rlc.h
@@ -179,6 +179,8 @@ struct amdgpu_rlc {
 	u32 save_restore_list_srm_size_bytes;
 	u32 rlc_iram_ucode_size_bytes;
 	u32 rlc_dram_ucode_size_bytes;
+	u32 rlcp_ucode_size_bytes;
+	u32 rlcv_ucode_size_bytes;
 
 	u32 *register_list_format;
 	u32 *register_restore;
@@ -187,6 +189,8 @@ struct amdgpu_rlc {
 	u8 *save_restore_list_srm;
 	u8 *rlc_iram_ucode;
 	u8 *rlc_dram_ucode;
+	u8 *rlcp_ucode;
+	u8 *rlcv_ucode;
 
 	bool is_rlc_v2_1;
 
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h
index bf9ead9c71f3..f535770f8092 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h
@@ -248,7 +248,7 @@ struct rlc_firmware_header_v2_1 {
 	uint32_t save_restore_list_srm_offset_bytes;
 };
 
-/* version_major=2, version_minor=1 */
+/* version_major=2, version_minor=2 */
 struct rlc_firmware_header_v2_2 {
 	struct rlc_firmware_header_v2_1 v2_1;
 	uint32_t rlc_iram_ucode_size_bytes;
@@ -257,6 +257,15 @@ struct rlc_firmware_header_v2_2 {
 	uint32_t rlc_dram_ucode_offset_bytes;
 };
 
+/* version_major=2, version_minor=3 */
+struct rlc_firmware_header_v2_3 {
+    struct rlc_firmware_header_v2_2 v2_2;
+    uint32_t rlcp_ucode_size_bytes;
+    uint32_t rlcp_ucode_offset_bytes;
+    uint32_t rlcv_ucode_size_bytes;
+    uint32_t rlcv_ucode_offset_bytes;
+};
+
 /* version_major=1, version_minor=0 */
 struct sdma_firmware_header_v1_0 {
 	struct common_firmware_header header;
@@ -342,6 +351,8 @@ union amdgpu_firmware_header {
 	struct rlc_firmware_header_v1_0 rlc;
 	struct rlc_firmware_header_v2_0 rlc_v2_0;
 	struct rlc_firmware_header_v2_1 rlc_v2_1;
+	struct rlc_firmware_header_v2_2 rlc_v2_2;
+	struct rlc_firmware_header_v2_3 rlc_v2_3;
 	struct sdma_firmware_header_v1_0 sdma;
 	struct sdma_firmware_header_v1_1 sdma_v1_1;
 	struct gpu_info_firmware_header_v1_0 gpu_info;
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/6] drm/amdgpu: add FGCG support
  2022-04-29 17:36 [PATCH 1/6] drm/amdgpu: add irq src id for GFX11 Alex Deucher
  2022-04-29 17:36 ` [PATCH 2/6] drm/amdgpu: add gfx firmware header v2_0 Alex Deucher
  2022-04-29 17:36 ` [PATCH 3/6] drm/amdgpu: support rlc v2_3 ucode struct Alex Deucher
@ 2022-04-29 17:36 ` Alex Deucher
  2022-05-01  2:13   ` Zhang, Hawking
  2022-04-29 17:36 ` [PATCH 5/6] drm/amdgpu: add rlc TOC header file for soc21 (v2) Alex Deucher
  2022-04-29 17:36 ` [PATCH 6/6] drm/amdgpu: add imu fw structure Alex Deucher
  4 siblings, 1 reply; 7+ messages in thread
From: Alex Deucher @ 2022-04-29 17:36 UTC (permalink / raw)
  To: amd-gfx; +Cc: Alex Deucher, Evan Quan

From: Evan Quan <evan.quan@amd.com>

Add the CG flag for Fine Grained Clock Gating.

Signed-off-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/amd/include/amd_shared.h | 1 +
 drivers/gpu/drm/amd/pm/amdgpu_pm.c       | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/amd/include/amd_shared.h b/drivers/gpu/drm/amd/include/amd_shared.h
index 9086df53660c..9ae4060a9d0f 100644
--- a/drivers/gpu/drm/amd/include/amd_shared.h
+++ b/drivers/gpu/drm/amd/include/amd_shared.h
@@ -148,6 +148,7 @@ enum amd_powergating_state {
 #define AMD_CG_SUPPORT_ATHUB_MGCG		(1ULL << 29)
 #define AMD_CG_SUPPORT_JPEG_MGCG		(1ULL << 30)
 #define AMD_CG_SUPPORT_GFX_FGCG			(1ULL << 31)
+#define AMD_CG_SUPPORT_REPEATER_FGCG		(1ULL << 32)
 /* PG flags */
 #define AMD_PG_SUPPORT_GFX_PG			(1 << 0)
 #define AMD_PG_SUPPORT_GFX_SMG			(1 << 1)
diff --git a/drivers/gpu/drm/amd/pm/amdgpu_pm.c b/drivers/gpu/drm/amd/pm/amdgpu_pm.c
index 05f1ac355ba8..e92d07f88048 100644
--- a/drivers/gpu/drm/amd/pm/amdgpu_pm.c
+++ b/drivers/gpu/drm/amd/pm/amdgpu_pm.c
@@ -66,6 +66,7 @@ static const struct cg_flag_name clocks[] = {
 	{AMD_CG_SUPPORT_HDP_SD, "Host Data Path Shutdown"},
 	{AMD_CG_SUPPORT_IH_CG, "Interrupt Handler Clock Gating"},
 	{AMD_CG_SUPPORT_JPEG_MGCG, "JPEG Medium Grain Clock Gating"},
+	{AMD_CG_SUPPORT_REPEATER_FGCG, "Repeater Fine Grain Clock Gating"},
 
 	{AMD_CG_SUPPORT_ATHUB_MGCG, "Address Translation Hub Medium Grain Clock Gating"},
 	{AMD_CG_SUPPORT_ATHUB_LS, "Address Translation Hub Light Sleep"},
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 5/6] drm/amdgpu: add rlc TOC header file for soc21 (v2)
  2022-04-29 17:36 [PATCH 1/6] drm/amdgpu: add irq src id for GFX11 Alex Deucher
                   ` (2 preceding siblings ...)
  2022-04-29 17:36 ` [PATCH 4/6] drm/amdgpu: add FGCG support Alex Deucher
@ 2022-04-29 17:36 ` Alex Deucher
  2022-04-29 17:36 ` [PATCH 6/6] drm/amdgpu: add imu fw structure Alex Deucher
  4 siblings, 0 replies; 7+ messages in thread
From: Alex Deucher @ 2022-04-29 17:36 UTC (permalink / raw)
  To: amd-gfx; +Cc: Alex Deucher, Likun Gao, Hawking Zhang

From: Likun Gao <Likun.Gao@amd.com>

Add RLC autoload TOC header file for soc21 ASIC.

v2: squash in updates

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

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_rlc.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_rlc.h
index 6232a89f02dd..f6fd9e1a7dac 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_rlc.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_rlc.h
@@ -69,6 +69,47 @@ typedef enum _FIRMWARE_ID_ {
 	FIRMWARE_ID_MAX                                         = 38,
 } FIRMWARE_ID;
 
+typedef enum _SOC21_FIRMWARE_ID_ {
+    SOC21_FIRMWARE_ID_INVALID                     = 0,
+    SOC21_FIRMWARE_ID_RLC_G_UCODE                 = 1,
+    SOC21_FIRMWARE_ID_RLC_TOC                     = 2,
+    SOC21_FIRMWARE_ID_RLCG_SCRATCH                = 3,
+    SOC21_FIRMWARE_ID_RLC_SRM_ARAM                = 4,
+    SOC21_FIRMWARE_ID_RLC_P_UCODE                 = 5,
+    SOC21_FIRMWARE_ID_RLC_V_UCODE                 = 6,
+    SOC21_FIRMWARE_ID_RLX6_UCODE                  = 7,
+    SOC21_FIRMWARE_ID_RLX6_UCODE_CORE1            = 8,
+    SOC21_FIRMWARE_ID_RLX6_DRAM_BOOT              = 9,
+    SOC21_FIRMWARE_ID_RLX6_DRAM_BOOT_CORE1        = 10,
+    SOC21_FIRMWARE_ID_SDMA_UCODE_TH0              = 11,
+    SOC21_FIRMWARE_ID_SDMA_UCODE_TH1              = 12,
+    SOC21_FIRMWARE_ID_CP_PFP                      = 13,
+    SOC21_FIRMWARE_ID_CP_ME                       = 14,
+    SOC21_FIRMWARE_ID_CP_MEC                      = 15,
+    SOC21_FIRMWARE_ID_RS64_MES_P0                 = 16,
+    SOC21_FIRMWARE_ID_RS64_MES_P1                 = 17,
+    SOC21_FIRMWARE_ID_RS64_PFP                    = 18,
+    SOC21_FIRMWARE_ID_RS64_ME                     = 19,
+    SOC21_FIRMWARE_ID_RS64_MEC                    = 20,
+    SOC21_FIRMWARE_ID_RS64_MES_P0_STACK           = 21,
+    SOC21_FIRMWARE_ID_RS64_MES_P1_STACK           = 22,
+    SOC21_FIRMWARE_ID_RS64_PFP_P0_STACK           = 23,
+    SOC21_FIRMWARE_ID_RS64_PFP_P1_STACK           = 24,
+    SOC21_FIRMWARE_ID_RS64_ME_P0_STACK            = 25,
+    SOC21_FIRMWARE_ID_RS64_ME_P1_STACK            = 26,
+    SOC21_FIRMWARE_ID_RS64_MEC_P0_STACK           = 27,
+    SOC21_FIRMWARE_ID_RS64_MEC_P1_STACK           = 28,
+    SOC21_FIRMWARE_ID_RS64_MEC_P2_STACK           = 29,
+    SOC21_FIRMWARE_ID_RS64_MEC_P3_STACK           = 30,
+    SOC21_FIRMWARE_ID_RLC_SRM_DRAM_SR             = 31,
+    SOC21_FIRMWARE_ID_RLCG_SCRATCH_SR             = 32,
+    SOC21_FIRMWARE_ID_RLCP_SCRATCH_SR             = 33,
+    SOC21_FIRMWARE_ID_RLCV_SCRATCH_SR             = 34,
+    SOC21_FIRMWARE_ID_RLX6_DRAM_SR                = 35,
+    SOC21_FIRMWARE_ID_RLX6_DRAM_SR_CORE1          = 36,
+    SOC21_FIRMWARE_ID_MAX                         = 37
+} SOC21_FIRMWARE_ID;
+
 typedef struct _RLC_TABLE_OF_CONTENT {
 	union {
 		unsigned int	DW0;
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 6/6] drm/amdgpu: add imu fw structure
  2022-04-29 17:36 [PATCH 1/6] drm/amdgpu: add irq src id for GFX11 Alex Deucher
                   ` (3 preceding siblings ...)
  2022-04-29 17:36 ` [PATCH 5/6] drm/amdgpu: add rlc TOC header file for soc21 (v2) Alex Deucher
@ 2022-04-29 17:36 ` Alex Deucher
  4 siblings, 0 replies; 7+ messages in thread
From: Alex Deucher @ 2022-04-29 17:36 UTC (permalink / raw)
  To: amd-gfx; +Cc: Alex Deucher, Likun Gao, Hawking Zhang

From: Likun Gao <Likun.Gao@amd.com>

Add IMU firmware structure.

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

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h
index f535770f8092..fb88f951fb3a 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h
@@ -334,6 +334,15 @@ struct dmcub_firmware_header_v1_0 {
 	uint32_t bss_data_bytes; /* size of bss/data region, in bytes */
 };
 
+/* version_major=1, version_minor=0 */
+struct imu_firmware_header_v1_0 {
+    struct common_firmware_header header;
+    uint32_t imu_iram_ucode_size_bytes;
+    uint32_t imu_iram_ucode_offset_bytes;
+    uint32_t imu_dram_ucode_size_bytes;
+    uint32_t imu_dram_ucode_offset_bytes;
+};
+
 /* header is fixed size */
 union amdgpu_firmware_header {
 	struct common_firmware_header common;
@@ -358,6 +367,7 @@ union amdgpu_firmware_header {
 	struct gpu_info_firmware_header_v1_0 gpu_info;
 	struct dmcu_firmware_header_v1_0 dmcu;
 	struct dmcub_firmware_header_v1_0 dmcub;
+	struct imu_firmware_header_v1_0 imu;
 	uint8_t raw[0x100];
 };
 
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* RE: [PATCH 4/6] drm/amdgpu: add FGCG support
  2022-04-29 17:36 ` [PATCH 4/6] drm/amdgpu: add FGCG support Alex Deucher
@ 2022-05-01  2:13   ` Zhang, Hawking
  0 siblings, 0 replies; 7+ messages in thread
From: Zhang, Hawking @ 2022-05-01  2:13 UTC (permalink / raw)
  To: Deucher, Alexander, amd-gfx; +Cc: Deucher, Alexander, Quan, Evan

[AMD Official Use Only - General]

Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>

Regards,
Hawking
-----Original Message-----
From: amd-gfx <amd-gfx-bounces@lists.freedesktop.org> On Behalf Of Alex Deucher
Sent: Saturday, April 30, 2022 01:36
To: amd-gfx@lists.freedesktop.org
Cc: Deucher, Alexander <Alexander.Deucher@amd.com>; Quan, Evan <Evan.Quan@amd.com>
Subject: [PATCH 4/6] drm/amdgpu: add FGCG support

From: Evan Quan <evan.quan@amd.com>

Add the CG flag for Fine Grained Clock Gating.

Signed-off-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/amd/include/amd_shared.h | 1 +
 drivers/gpu/drm/amd/pm/amdgpu_pm.c       | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/amd/include/amd_shared.h b/drivers/gpu/drm/amd/include/amd_shared.h
index 9086df53660c..9ae4060a9d0f 100644
--- a/drivers/gpu/drm/amd/include/amd_shared.h
+++ b/drivers/gpu/drm/amd/include/amd_shared.h
@@ -148,6 +148,7 @@ enum amd_powergating_state {
 #define AMD_CG_SUPPORT_ATHUB_MGCG              (1ULL << 29)
 #define AMD_CG_SUPPORT_JPEG_MGCG               (1ULL << 30)
 #define AMD_CG_SUPPORT_GFX_FGCG                        (1ULL << 31)
+#define AMD_CG_SUPPORT_REPEATER_FGCG           (1ULL << 32)
 /* PG flags */
 #define AMD_PG_SUPPORT_GFX_PG                  (1 << 0)
 #define AMD_PG_SUPPORT_GFX_SMG                 (1 << 1)
diff --git a/drivers/gpu/drm/amd/pm/amdgpu_pm.c b/drivers/gpu/drm/amd/pm/amdgpu_pm.c
index 05f1ac355ba8..e92d07f88048 100644
--- a/drivers/gpu/drm/amd/pm/amdgpu_pm.c
+++ b/drivers/gpu/drm/amd/pm/amdgpu_pm.c
@@ -66,6 +66,7 @@ static const struct cg_flag_name clocks[] = {
        {AMD_CG_SUPPORT_HDP_SD, "Host Data Path Shutdown"},
        {AMD_CG_SUPPORT_IH_CG, "Interrupt Handler Clock Gating"},
        {AMD_CG_SUPPORT_JPEG_MGCG, "JPEG Medium Grain Clock Gating"},
+       {AMD_CG_SUPPORT_REPEATER_FGCG, "Repeater Fine Grain Clock Gating"},

        {AMD_CG_SUPPORT_ATHUB_MGCG, "Address Translation Hub Medium Grain Clock Gating"},
        {AMD_CG_SUPPORT_ATHUB_LS, "Address Translation Hub Light Sleep"},
--
2.35.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-05-01  2:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-29 17:36 [PATCH 1/6] drm/amdgpu: add irq src id for GFX11 Alex Deucher
2022-04-29 17:36 ` [PATCH 2/6] drm/amdgpu: add gfx firmware header v2_0 Alex Deucher
2022-04-29 17:36 ` [PATCH 3/6] drm/amdgpu: support rlc v2_3 ucode struct Alex Deucher
2022-04-29 17:36 ` [PATCH 4/6] drm/amdgpu: add FGCG support Alex Deucher
2022-05-01  2:13   ` Zhang, Hawking
2022-04-29 17:36 ` [PATCH 5/6] drm/amdgpu: add rlc TOC header file for soc21 (v2) Alex Deucher
2022-04-29 17:36 ` [PATCH 6/6] drm/amdgpu: add imu fw structure Alex Deucher

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.