All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] *** Prepare to support PSP v10 for Raven ***
@ 2017-07-14 10:41 Junwei Zhang
       [not found] ` <1500028922-20171-1-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Junwei Zhang @ 2017-07-14 10:41 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Junwei Zhang

Junwei Zhang (4):
  drm/amdgpu: remove unncessary code in psp v10 ring init func
  drm/amdgpu: add init microcode function for psp v10
  drm/amdgpu: add ring_create function for psp v10
  drm/amdgpu: add ring_destroy for psp v10

 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c |  3 ++
 drivers/gpu/drm/amd/amdgpu/psp_v10_0.c  | 96 ++++++++++++++++++++++++++++++---
 drivers/gpu/drm/amd/amdgpu/psp_v10_0.h  |  5 ++
 3 files changed, 98 insertions(+), 6 deletions(-)

-- 
1.9.1

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

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

* [PATCH 1/4] drm/amdgpu: remove unncessary code in psp v10 ring init func
       [not found] ` <1500028922-20171-1-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
@ 2017-07-14 10:41   ` Junwei Zhang
       [not found]     ` <1500028922-20171-2-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
  2017-07-14 10:42   ` [PATCH 2/4] drm/amdgpu: add init microcode function for psp v10 Junwei Zhang
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 10+ messages in thread
From: Junwei Zhang @ 2017-07-14 10:41 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Junwei Zhang

Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/psp_v10_0.c | 20 --------------------
 1 file changed, 20 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
index 8e0a24f..328c6f5 100644
--- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
@@ -111,7 +111,6 @@ int psp_v10_0_prep_cmd_buf(struct amdgpu_firmware_info *ucode, struct psp_gfx_cm
 int psp_v10_0_ring_init(struct psp_context *psp, enum psp_ring_type ring_type)
 {
 	int ret = 0;
-	unsigned int psp_ring_reg = 0;
 	struct psp_ring *ring;
 	struct amdgpu_device *adev = psp->adev;
 
@@ -131,25 +130,6 @@ int psp_v10_0_ring_init(struct psp_context *psp, enum psp_ring_type ring_type)
 		return ret;
 	}
 
-	/* Write low address of the ring to C2PMSG_69 */
-	psp_ring_reg = lower_32_bits(ring->ring_mem_mc_addr);
-	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_69, psp_ring_reg);
-	/* Write high address of the ring to C2PMSG_70 */
-	psp_ring_reg = upper_32_bits(ring->ring_mem_mc_addr);
-	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_70, psp_ring_reg);
-	/* Write size of ring to C2PMSG_71 */
-	psp_ring_reg = ring->ring_size;
-	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_71, psp_ring_reg);
-	/* Write the ring initialization command to C2PMSG_64 */
-	psp_ring_reg = ring_type;
-	psp_ring_reg = psp_ring_reg << 16;
-	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_64, psp_ring_reg);
-	/* Wait for response flag (bit 31) in C2PMSG_64 */
-	psp_ring_reg = 0;
-	while ((psp_ring_reg & 0x80000000) == 0) {
-		psp_ring_reg = RREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_64);
-	}
-
 	return 0;
 }
 
-- 
1.9.1

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

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

* [PATCH 2/4] drm/amdgpu: add init microcode function for psp v10
       [not found] ` <1500028922-20171-1-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
  2017-07-14 10:41   ` [PATCH 1/4] drm/amdgpu: remove unncessary code in psp v10 ring init func Junwei Zhang
@ 2017-07-14 10:42   ` Junwei Zhang
       [not found]     ` <1500028922-20171-3-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
  2017-07-14 10:42   ` [PATCH 3/4] drm/amdgpu: add ring_create " Junwei Zhang
  2017-07-14 10:42   ` [PATCH 4/4] drm/amdgpu: add ring_destroy " Junwei Zhang
  3 siblings, 1 reply; 10+ messages in thread
From: Junwei Zhang @ 2017-07-14 10:42 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Junwei Zhang

Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c |  1 +
 drivers/gpu/drm/amd/amdgpu/psp_v10_0.c  | 46 +++++++++++++++++++++++++++++++++
 drivers/gpu/drm/amd/amdgpu/psp_v10_0.h  |  1 +
 3 files changed, 48 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index 71ce3ee..dc95633 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -63,6 +63,7 @@ static int psp_sw_init(void *handle)
 		psp->smu_reload_quirk = psp_v3_1_smu_reload_quirk;
 		break;
 	case CHIP_RAVEN:
+		psp->init_microcode = psp_v10_0_init_microcode;
 		psp->prep_cmd_buf = psp_v10_0_prep_cmd_buf;
 		psp->ring_init = psp_v10_0_ring_init;
 		psp->cmd_submit = psp_v10_0_cmd_submit;
diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
index 328c6f5..7513f9c 100644
--- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
@@ -87,6 +87,52 @@
 	return 0;
 }
 
+int psp_v10_0_init_microcode(struct psp_context *psp)
+{
+	struct amdgpu_device *adev = psp->adev;
+	const char *chip_name;
+	char fw_name[30];
+	int err = 0;
+	const struct psp_firmware_header_v1_0 *hdr;
+
+	DRM_DEBUG("\n");
+
+	switch (adev->asic_type) {
+	case CHIP_RAVEN:
+		chip_name = "raven";
+		break;
+	default: BUG();
+	}
+
+	snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_asd.bin", chip_name);
+	err = request_firmware(&adev->psp.asd_fw, fw_name, adev->dev);
+	if (err)
+		goto out;
+
+	err = amdgpu_ucode_validate(adev->psp.asd_fw);
+	if (err)
+		goto out;
+
+	hdr = (const struct psp_firmware_header_v1_0 *)adev->psp.asd_fw->data;
+	adev->psp.asd_fw_version = le32_to_cpu(hdr->header.ucode_version);
+	adev->psp.asd_feature_version = le32_to_cpu(hdr->ucode_feature_version);
+	adev->psp.asd_ucode_size = le32_to_cpu(hdr->header.ucode_size_bytes);
+	adev->psp.asd_start_addr = (uint8_t *)hdr +
+				le32_to_cpu(hdr->header.ucode_array_offset_bytes);
+
+	return 0;
+out:
+	if (err) {
+		dev_err(adev->dev,
+			"psp v10.0: Failed to load firmware \"%s\"\n",
+			fw_name);
+		release_firmware(adev->psp.asd_fw);
+		adev->psp.asd_fw = NULL;
+	}
+
+	return err;
+}
+
 int psp_v10_0_prep_cmd_buf(struct amdgpu_firmware_info *ucode, struct psp_gfx_cmd_resp *cmd)
 {
 	int ret;
diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
index 2022b7b..2f5a314e 100644
--- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
+++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
@@ -27,6 +27,7 @@
 
 #include "amdgpu_psp.h"
 
+extern int psp_v10_0_init_microcode(struct psp_context *psp);
 extern int psp_v10_0_prep_cmd_buf(struct amdgpu_firmware_info *ucode,
 				 struct psp_gfx_cmd_resp *cmd);
 extern int psp_v10_0_ring_init(struct psp_context *psp,
-- 
1.9.1

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

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

* [PATCH 3/4] drm/amdgpu: add ring_create function for psp v10
       [not found] ` <1500028922-20171-1-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
  2017-07-14 10:41   ` [PATCH 1/4] drm/amdgpu: remove unncessary code in psp v10 ring init func Junwei Zhang
  2017-07-14 10:42   ` [PATCH 2/4] drm/amdgpu: add init microcode function for psp v10 Junwei Zhang
@ 2017-07-14 10:42   ` Junwei Zhang
       [not found]     ` <1500028922-20171-4-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
  2017-07-14 10:42   ` [PATCH 4/4] drm/amdgpu: add ring_destroy " Junwei Zhang
  3 siblings, 1 reply; 10+ messages in thread
From: Junwei Zhang @ 2017-07-14 10:42 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Junwei Zhang

Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c |  1 +
 drivers/gpu/drm/amd/amdgpu/psp_v10_0.c  | 31 +++++++++++++++++++++++++++++++
 drivers/gpu/drm/amd/amdgpu/psp_v10_0.h  |  2 ++
 3 files changed, 34 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index dc95633..8f4eafc 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -66,6 +66,7 @@ static int psp_sw_init(void *handle)
 		psp->init_microcode = psp_v10_0_init_microcode;
 		psp->prep_cmd_buf = psp_v10_0_prep_cmd_buf;
 		psp->ring_init = psp_v10_0_ring_init;
+		psp->ring_create = psp_v10_0_ring_create;
 		psp->cmd_submit = psp_v10_0_cmd_submit;
 		psp->compare_sram_data = psp_v10_0_compare_sram_data;
 		break;
diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
index 7513f9c..fb29cd4 100644
--- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
@@ -179,6 +179,37 @@ int psp_v10_0_ring_init(struct psp_context *psp, enum psp_ring_type ring_type)
 	return 0;
 }
 
+int psp_v10_0_ring_create(struct psp_context *psp, enum psp_ring_type ring_type)
+{
+	int ret = 0;
+	unsigned int psp_ring_reg = 0;
+	struct psp_ring *ring = &psp->km_ring;
+	struct amdgpu_device *adev = psp->adev;
+
+	/* Write low address of the ring to C2PMSG_69 */
+	psp_ring_reg = lower_32_bits(ring->ring_mem_mc_addr);
+	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_69, psp_ring_reg);
+	/* Write high address of the ring to C2PMSG_70 */
+	psp_ring_reg = upper_32_bits(ring->ring_mem_mc_addr);
+	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_70, psp_ring_reg);
+	/* Write size of ring to C2PMSG_71 */
+	psp_ring_reg = ring->ring_size;
+	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_71, psp_ring_reg);
+	/* Write the ring initialization command to C2PMSG_64 */
+	psp_ring_reg = ring_type;
+	psp_ring_reg = psp_ring_reg << 16;
+	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_64, psp_ring_reg);
+
+	/* There might be handshake issue with hardware which needs delay */
+	mdelay(20);
+
+	/* Wait for response flag (bit 31) in C2PMSG_64 */
+	ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_64),
+			   0x80000000, 0x8000FFFF, false);
+
+	return ret;
+}
+
 int psp_v10_0_cmd_submit(struct psp_context *psp,
 		        struct amdgpu_firmware_info *ucode,
 		        uint64_t cmd_buf_mc_addr, uint64_t fence_mc_addr,
diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
index 2f5a314e..7e9a8cd 100644
--- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
+++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
@@ -32,6 +32,8 @@ extern int psp_v10_0_prep_cmd_buf(struct amdgpu_firmware_info *ucode,
 				 struct psp_gfx_cmd_resp *cmd);
 extern int psp_v10_0_ring_init(struct psp_context *psp,
 			      enum psp_ring_type ring_type);
+extern int psp_v10_0_ring_create(struct psp_context *psp,
+				 enum psp_ring_type ring_type);
 extern int psp_v10_0_cmd_submit(struct psp_context *psp,
 			       struct amdgpu_firmware_info *ucode,
 			       uint64_t cmd_buf_mc_addr, uint64_t fence_mc_addr,
-- 
1.9.1

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

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

* [PATCH 4/4] drm/amdgpu: add ring_destroy for psp v10
       [not found] ` <1500028922-20171-1-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
                     ` (2 preceding siblings ...)
  2017-07-14 10:42   ` [PATCH 3/4] drm/amdgpu: add ring_create " Junwei Zhang
@ 2017-07-14 10:42   ` Junwei Zhang
       [not found]     ` <1500028922-20171-5-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
  3 siblings, 1 reply; 10+ messages in thread
From: Junwei Zhang @ 2017-07-14 10:42 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Junwei Zhang

Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c |  1 +
 drivers/gpu/drm/amd/amdgpu/psp_v10_0.c  | 27 +++++++++++++++++++++++++++
 drivers/gpu/drm/amd/amdgpu/psp_v10_0.h  |  2 ++
 3 files changed, 30 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index 8f4eafc..644941d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -67,6 +67,7 @@ static int psp_sw_init(void *handle)
 		psp->prep_cmd_buf = psp_v10_0_prep_cmd_buf;
 		psp->ring_init = psp_v10_0_ring_init;
 		psp->ring_create = psp_v10_0_ring_create;
+		psp->ring_destroy = psp_v10_0_ring_destroy;
 		psp->cmd_submit = psp_v10_0_cmd_submit;
 		psp->compare_sram_data = psp_v10_0_compare_sram_data;
 		break;
diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
index fb29cd4..b4af32a3 100644
--- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
@@ -210,6 +210,33 @@ int psp_v10_0_ring_create(struct psp_context *psp, enum psp_ring_type ring_type)
 	return ret;
 }
 
+int psp_v10_0_ring_destroy(struct psp_context *psp, enum psp_ring_type ring_type)
+{
+	int ret = 0;
+	struct psp_ring *ring;
+	unsigned int psp_ring_reg = 0;
+	struct amdgpu_device *adev = psp->adev;
+
+	ring = &psp->km_ring;
+
+	/* Write the ring destroy command to C2PMSG_64 */
+	psp_ring_reg = 3 << 16;
+	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_64, psp_ring_reg);
+
+	/* There might be handshake issue with hardware which needs delay */
+	mdelay(20);
+
+	/* Wait for response flag (bit 31) in C2PMSG_64 */
+	ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_64),
+			   0x80000000, 0x80000000, false);
+
+	if (ring->ring_mem)
+		amdgpu_bo_free_kernel(&adev->firmware.rbuf,
+				      &ring->ring_mem_mc_addr,
+				      (void **)&ring->ring_mem);
+	return ret;
+}
+
 int psp_v10_0_cmd_submit(struct psp_context *psp,
 		        struct amdgpu_firmware_info *ucode,
 		        uint64_t cmd_buf_mc_addr, uint64_t fence_mc_addr,
diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
index 7e9a8cd..e76cde2 100644
--- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
+++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
@@ -34,6 +34,8 @@ extern int psp_v10_0_ring_init(struct psp_context *psp,
 			      enum psp_ring_type ring_type);
 extern int psp_v10_0_ring_create(struct psp_context *psp,
 				 enum psp_ring_type ring_type);
+extern int psp_v10_0_ring_destroy(struct psp_context *psp,
+				  enum psp_ring_type ring_type);
 extern int psp_v10_0_cmd_submit(struct psp_context *psp,
 			       struct amdgpu_firmware_info *ucode,
 			       uint64_t cmd_buf_mc_addr, uint64_t fence_mc_addr,
-- 
1.9.1

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

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

* RE: [PATCH 1/4] drm/amdgpu: remove unncessary code in psp v10 ring init func
       [not found]     ` <1500028922-20171-2-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
@ 2017-07-14 14:40       ` Deucher, Alexander
  0 siblings, 0 replies; 10+ messages in thread
From: Deucher, Alexander @ 2017-07-14 14:40 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Zhang, Jerry

> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces@lists.freedesktop.org] On Behalf
> Of Junwei Zhang
> Sent: Friday, July 14, 2017 6:42 AM
> To: amd-gfx@lists.freedesktop.org
> Cc: Zhang, Jerry
> Subject: [PATCH 1/4] drm/amdgpu: remove unncessary code in psp v10 ring
> init func
> 
> Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com>

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/psp_v10_0.c | 20 --------------------
>  1 file changed, 20 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> index 8e0a24f..328c6f5 100644
> --- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> @@ -111,7 +111,6 @@ int psp_v10_0_prep_cmd_buf(struct
> amdgpu_firmware_info *ucode, struct psp_gfx_cm
>  int psp_v10_0_ring_init(struct psp_context *psp, enum psp_ring_type
> ring_type)
>  {
>  	int ret = 0;
> -	unsigned int psp_ring_reg = 0;
>  	struct psp_ring *ring;
>  	struct amdgpu_device *adev = psp->adev;
> 
> @@ -131,25 +130,6 @@ int psp_v10_0_ring_init(struct psp_context *psp,
> enum psp_ring_type ring_type)
>  		return ret;
>  	}
> 
> -	/* Write low address of the ring to C2PMSG_69 */
> -	psp_ring_reg = lower_32_bits(ring->ring_mem_mc_addr);
> -	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_69,
> psp_ring_reg);
> -	/* Write high address of the ring to C2PMSG_70 */
> -	psp_ring_reg = upper_32_bits(ring->ring_mem_mc_addr);
> -	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_70,
> psp_ring_reg);
> -	/* Write size of ring to C2PMSG_71 */
> -	psp_ring_reg = ring->ring_size;
> -	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_71,
> psp_ring_reg);
> -	/* Write the ring initialization command to C2PMSG_64 */
> -	psp_ring_reg = ring_type;
> -	psp_ring_reg = psp_ring_reg << 16;
> -	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_64,
> psp_ring_reg);
> -	/* Wait for response flag (bit 31) in C2PMSG_64 */
> -	psp_ring_reg = 0;
> -	while ((psp_ring_reg & 0x80000000) == 0) {
> -		psp_ring_reg = RREG32_SOC15(MP0, 0,
> mmMP0_SMN_C2PMSG_64);
> -	}
> -
>  	return 0;
>  }
> 
> --
> 1.9.1
> 
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

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

* RE: [PATCH 2/4] drm/amdgpu: add init microcode function for psp v10
       [not found]     ` <1500028922-20171-3-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
@ 2017-07-14 14:41       ` Deucher, Alexander
  0 siblings, 0 replies; 10+ messages in thread
From: Deucher, Alexander @ 2017-07-14 14:41 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Zhang, Jerry

> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces@lists.freedesktop.org] On Behalf
> Of Junwei Zhang
> Sent: Friday, July 14, 2017 6:42 AM
> To: amd-gfx@lists.freedesktop.org
> Cc: Zhang, Jerry
> Subject: [PATCH 2/4] drm/amdgpu: add init microcode function for psp v10
> 
> Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com>

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c |  1 +
>  drivers/gpu/drm/amd/amdgpu/psp_v10_0.c  | 46
> +++++++++++++++++++++++++++++++++
>  drivers/gpu/drm/amd/amdgpu/psp_v10_0.h  |  1 +
>  3 files changed, 48 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> index 71ce3ee..dc95633 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> @@ -63,6 +63,7 @@ static int psp_sw_init(void *handle)
>  		psp->smu_reload_quirk = psp_v3_1_smu_reload_quirk;
>  		break;
>  	case CHIP_RAVEN:
> +		psp->init_microcode = psp_v10_0_init_microcode;
>  		psp->prep_cmd_buf = psp_v10_0_prep_cmd_buf;
>  		psp->ring_init = psp_v10_0_ring_init;
>  		psp->cmd_submit = psp_v10_0_cmd_submit;
> diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> index 328c6f5..7513f9c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> @@ -87,6 +87,52 @@
>  	return 0;
>  }
> 
> +int psp_v10_0_init_microcode(struct psp_context *psp)
> +{
> +	struct amdgpu_device *adev = psp->adev;
> +	const char *chip_name;
> +	char fw_name[30];
> +	int err = 0;
> +	const struct psp_firmware_header_v1_0 *hdr;
> +
> +	DRM_DEBUG("\n");
> +
> +	switch (adev->asic_type) {
> +	case CHIP_RAVEN:
> +		chip_name = "raven";
> +		break;
> +	default: BUG();
> +	}
> +
> +	snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_asd.bin",
> chip_name);
> +	err = request_firmware(&adev->psp.asd_fw, fw_name, adev->dev);
> +	if (err)
> +		goto out;
> +
> +	err = amdgpu_ucode_validate(adev->psp.asd_fw);
> +	if (err)
> +		goto out;
> +
> +	hdr = (const struct psp_firmware_header_v1_0 *)adev-
> >psp.asd_fw->data;
> +	adev->psp.asd_fw_version = le32_to_cpu(hdr-
> >header.ucode_version);
> +	adev->psp.asd_feature_version = le32_to_cpu(hdr-
> >ucode_feature_version);
> +	adev->psp.asd_ucode_size = le32_to_cpu(hdr-
> >header.ucode_size_bytes);
> +	adev->psp.asd_start_addr = (uint8_t *)hdr +
> +				le32_to_cpu(hdr-
> >header.ucode_array_offset_bytes);
> +
> +	return 0;
> +out:
> +	if (err) {
> +		dev_err(adev->dev,
> +			"psp v10.0: Failed to load firmware \"%s\"\n",
> +			fw_name);
> +		release_firmware(adev->psp.asd_fw);
> +		adev->psp.asd_fw = NULL;
> +	}
> +
> +	return err;
> +}
> +
>  int psp_v10_0_prep_cmd_buf(struct amdgpu_firmware_info *ucode, struct
> psp_gfx_cmd_resp *cmd)
>  {
>  	int ret;
> diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
> b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
> index 2022b7b..2f5a314e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
> +++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
> @@ -27,6 +27,7 @@
> 
>  #include "amdgpu_psp.h"
> 
> +extern int psp_v10_0_init_microcode(struct psp_context *psp);
>  extern int psp_v10_0_prep_cmd_buf(struct amdgpu_firmware_info
> *ucode,
>  				 struct psp_gfx_cmd_resp *cmd);
>  extern int psp_v10_0_ring_init(struct psp_context *psp,
> --
> 1.9.1
> 
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

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

* RE: [PATCH 3/4] drm/amdgpu: add ring_create function for psp v10
       [not found]     ` <1500028922-20171-4-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
@ 2017-07-14 14:42       ` Deucher, Alexander
  0 siblings, 0 replies; 10+ messages in thread
From: Deucher, Alexander @ 2017-07-14 14:42 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Zhang, Jerry

> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces@lists.freedesktop.org] On Behalf
> Of Junwei Zhang
> Sent: Friday, July 14, 2017 6:42 AM
> To: amd-gfx@lists.freedesktop.org
> Cc: Zhang, Jerry
> Subject: [PATCH 3/4] drm/amdgpu: add ring_create function for psp v10
> 
> Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com>

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c |  1 +
>  drivers/gpu/drm/amd/amdgpu/psp_v10_0.c  | 31
> +++++++++++++++++++++++++++++++
>  drivers/gpu/drm/amd/amdgpu/psp_v10_0.h  |  2 ++
>  3 files changed, 34 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> index dc95633..8f4eafc 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> @@ -66,6 +66,7 @@ static int psp_sw_init(void *handle)
>  		psp->init_microcode = psp_v10_0_init_microcode;
>  		psp->prep_cmd_buf = psp_v10_0_prep_cmd_buf;
>  		psp->ring_init = psp_v10_0_ring_init;
> +		psp->ring_create = psp_v10_0_ring_create;
>  		psp->cmd_submit = psp_v10_0_cmd_submit;
>  		psp->compare_sram_data =
> psp_v10_0_compare_sram_data;
>  		break;
> diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> index 7513f9c..fb29cd4 100644
> --- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> @@ -179,6 +179,37 @@ int psp_v10_0_ring_init(struct psp_context *psp,
> enum psp_ring_type ring_type)
>  	return 0;
>  }
> 
> +int psp_v10_0_ring_create(struct psp_context *psp, enum psp_ring_type
> ring_type)
> +{
> +	int ret = 0;
> +	unsigned int psp_ring_reg = 0;
> +	struct psp_ring *ring = &psp->km_ring;
> +	struct amdgpu_device *adev = psp->adev;
> +
> +	/* Write low address of the ring to C2PMSG_69 */
> +	psp_ring_reg = lower_32_bits(ring->ring_mem_mc_addr);
> +	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_69,
> psp_ring_reg);
> +	/* Write high address of the ring to C2PMSG_70 */
> +	psp_ring_reg = upper_32_bits(ring->ring_mem_mc_addr);
> +	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_70,
> psp_ring_reg);
> +	/* Write size of ring to C2PMSG_71 */
> +	psp_ring_reg = ring->ring_size;
> +	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_71,
> psp_ring_reg);
> +	/* Write the ring initialization command to C2PMSG_64 */
> +	psp_ring_reg = ring_type;
> +	psp_ring_reg = psp_ring_reg << 16;
> +	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_64,
> psp_ring_reg);
> +
> +	/* There might be handshake issue with hardware which needs delay
> */
> +	mdelay(20);
> +
> +	/* Wait for response flag (bit 31) in C2PMSG_64 */
> +	ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0,
> mmMP0_SMN_C2PMSG_64),
> +			   0x80000000, 0x8000FFFF, false);
> +
> +	return ret;
> +}
> +
>  int psp_v10_0_cmd_submit(struct psp_context *psp,
>  		        struct amdgpu_firmware_info *ucode,
>  		        uint64_t cmd_buf_mc_addr, uint64_t fence_mc_addr,
> diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
> b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
> index 2f5a314e..7e9a8cd 100644
> --- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
> +++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
> @@ -32,6 +32,8 @@ extern int psp_v10_0_prep_cmd_buf(struct
> amdgpu_firmware_info *ucode,
>  				 struct psp_gfx_cmd_resp *cmd);
>  extern int psp_v10_0_ring_init(struct psp_context *psp,
>  			      enum psp_ring_type ring_type);
> +extern int psp_v10_0_ring_create(struct psp_context *psp,
> +				 enum psp_ring_type ring_type);
>  extern int psp_v10_0_cmd_submit(struct psp_context *psp,
>  			       struct amdgpu_firmware_info *ucode,
>  			       uint64_t cmd_buf_mc_addr, uint64_t
> fence_mc_addr,
> --
> 1.9.1
> 
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

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

* RE: [PATCH 4/4] drm/amdgpu: add ring_destroy for psp v10
       [not found]     ` <1500028922-20171-5-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
@ 2017-07-14 14:43       ` Deucher, Alexander
       [not found]         ` <BN6PR12MB1652D7270B7952D80428DCC5F7AD0-/b2+HYfkarQqUD6E6FAiowdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Deucher, Alexander @ 2017-07-14 14:43 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Zhang, Jerry

> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces@lists.freedesktop.org] On Behalf
> Of Junwei Zhang
> Sent: Friday, July 14, 2017 6:42 AM
> To: amd-gfx@lists.freedesktop.org
> Cc: Zhang, Jerry
> Subject: [PATCH 4/4] drm/amdgpu: add ring_destroy for psp v10
> 
> Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c |  1 +
>  drivers/gpu/drm/amd/amdgpu/psp_v10_0.c  | 27
> +++++++++++++++++++++++++++
>  drivers/gpu/drm/amd/amdgpu/psp_v10_0.h  |  2 ++
>  3 files changed, 30 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> index 8f4eafc..644941d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> @@ -67,6 +67,7 @@ static int psp_sw_init(void *handle)
>  		psp->prep_cmd_buf = psp_v10_0_prep_cmd_buf;
>  		psp->ring_init = psp_v10_0_ring_init;
>  		psp->ring_create = psp_v10_0_ring_create;
> +		psp->ring_destroy = psp_v10_0_ring_destroy;
>  		psp->cmd_submit = psp_v10_0_cmd_submit;
>  		psp->compare_sram_data =
> psp_v10_0_compare_sram_data;
>  		break;
> diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> index fb29cd4..b4af32a3 100644
> --- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
> @@ -210,6 +210,33 @@ int psp_v10_0_ring_create(struct psp_context *psp,
> enum psp_ring_type ring_type)
>  	return ret;
>  }
> 
> +int psp_v10_0_ring_destroy(struct psp_context *psp, enum psp_ring_type
> ring_type)
> +{
> +	int ret = 0;
> +	struct psp_ring *ring;
> +	unsigned int psp_ring_reg = 0;
> +	struct amdgpu_device *adev = psp->adev;
> +
> +	ring = &psp->km_ring;
> +
> +	/* Write the ring destroy command to C2PMSG_64 */
> +	psp_ring_reg = 3 << 16;
> +	WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_64,
> psp_ring_reg);
> +
> +	/* There might be handshake issue with hardware which needs delay
> */
> +	mdelay(20);
> +
> +	/* Wait for response flag (bit 31) in C2PMSG_64 */
> +	ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0,
> mmMP0_SMN_C2PMSG_64),
> +			   0x80000000, 0x80000000, false);
> +
> +	if (ring->ring_mem)

You don't have to check if the ring exists.  amdgpu_bo_free_kernel handles NULL bos.
With that fixed:
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> +		amdgpu_bo_free_kernel(&adev->firmware.rbuf,
> +				      &ring->ring_mem_mc_addr,
> +				      (void **)&ring->ring_mem);
> +	return ret;
> +}
> +
>  int psp_v10_0_cmd_submit(struct psp_context *psp,
>  		        struct amdgpu_firmware_info *ucode,
>  		        uint64_t cmd_buf_mc_addr, uint64_t fence_mc_addr,
> diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
> b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
> index 7e9a8cd..e76cde2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
> +++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
> @@ -34,6 +34,8 @@ extern int psp_v10_0_ring_init(struct psp_context
> *psp,
>  			      enum psp_ring_type ring_type);
>  extern int psp_v10_0_ring_create(struct psp_context *psp,
>  				 enum psp_ring_type ring_type);
> +extern int psp_v10_0_ring_destroy(struct psp_context *psp,
> +				  enum psp_ring_type ring_type);
>  extern int psp_v10_0_cmd_submit(struct psp_context *psp,
>  			       struct amdgpu_firmware_info *ucode,
>  			       uint64_t cmd_buf_mc_addr, uint64_t
> fence_mc_addr,
> --
> 1.9.1
> 
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

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

* Re: [PATCH 4/4] drm/amdgpu: add ring_destroy for psp v10
       [not found]         ` <BN6PR12MB1652D7270B7952D80428DCC5F7AD0-/b2+HYfkarQqUD6E6FAiowdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
@ 2017-07-17  2:40           ` Zhang, Jerry (Junwei)
  0 siblings, 0 replies; 10+ messages in thread
From: Zhang, Jerry (Junwei) @ 2017-07-17  2:40 UTC (permalink / raw)
  To: Deucher, Alexander, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

On 07/14/2017 10:43 PM, Deucher, Alexander wrote:
>> -----Original Message-----
>> From: amd-gfx [mailto:amd-gfx-bounces@lists.freedesktop.org] On Behalf
>> Of Junwei Zhang
>> Sent: Friday, July 14, 2017 6:42 AM
>> To: amd-gfx@lists.freedesktop.org
>> Cc: Zhang, Jerry
>> Subject: [PATCH 4/4] drm/amdgpu: add ring_destroy for psp v10
>>
>> Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com>
>> ---
>>  drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c |  1 +
>>  drivers/gpu/drm/amd/amdgpu/psp_v10_0.c  | 27
>> +++++++++++++++++++++++++++
>>  drivers/gpu/drm/amd/amdgpu/psp_v10_0.h  |  2 ++
>>  3 files changed, 30 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
>> index 8f4eafc..644941d 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
>> @@ -67,6 +67,7 @@ static int psp_sw_init(void *handle)
>>                psp->prep_cmd_buf = psp_v10_0_prep_cmd_buf;
>>                psp->ring_init = psp_v10_0_ring_init;
>>                psp->ring_create = psp_v10_0_ring_create;
>> +             psp->ring_destroy = psp_v10_0_ring_destroy;
>>                psp->cmd_submit = psp_v10_0_cmd_submit;
>>                psp->compare_sram_data =
>> psp_v10_0_compare_sram_data;
>>                break;
>> diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
>> b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
>> index fb29cd4..b4af32a3 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
>> @@ -210,6 +210,33 @@ int psp_v10_0_ring_create(struct psp_context *psp,
>> enum psp_ring_type ring_type)
>>        return ret;
>>  }
>>
>> +int psp_v10_0_ring_destroy(struct psp_context *psp, enum psp_ring_type
>> ring_type)
>> +{
>> +     int ret = 0;
>> +     struct psp_ring *ring;
>> +     unsigned int psp_ring_reg = 0;
>> +     struct amdgpu_device *adev = psp->adev;
>> +
>> +     ring = &psp->km_ring;
>> +
>> +     /* Write the ring destroy command to C2PMSG_64 */
>> +     psp_ring_reg = 3 << 16;
>> +     WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_64,
>> psp_ring_reg);
>> +
>> +     /* There might be handshake issue with hardware which needs delay
>> */
>> +     mdelay(20);
>> +
>> +     /* Wait for response flag (bit 31) in C2PMSG_64 */
>> +     ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0,
>> mmMP0_SMN_C2PMSG_64),
>> +                        0x80000000, 0x80000000, false);
>> +
>> +     if (ring->ring_mem)
>
> You don't have to check if the ring exists.  amdgpu_bo_free_kernel handles NULL bos.
> With that fixed:
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

Yeah, thanks to reminder that.
I will fix it.

Jerry

>
>> +             amdgpu_bo_free_kernel(&adev->firmware.rbuf,
>> +                                   &ring->ring_mem_mc_addr,
>> +                                   (void **)&ring->ring_mem);
>> +     return ret;
>> +}
>> +
>>  int psp_v10_0_cmd_submit(struct psp_context *psp,
>>                        struct amdgpu_firmware_info *ucode,
>>                        uint64_t cmd_buf_mc_addr, uint64_t fence_mc_addr,
>> diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
>> b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
>> index 7e9a8cd..e76cde2 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
>> +++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.h
>> @@ -34,6 +34,8 @@ extern int psp_v10_0_ring_init(struct psp_context
>> *psp,
>>                              enum psp_ring_type ring_type);
>>  extern int psp_v10_0_ring_create(struct psp_context *psp,
>>                                 enum psp_ring_type ring_type);
>> +extern int psp_v10_0_ring_destroy(struct psp_context *psp,
>> +                               enum psp_ring_type ring_type);
>>  extern int psp_v10_0_cmd_submit(struct psp_context *psp,
>>                               struct amdgpu_firmware_info *ucode,
>>                               uint64_t cmd_buf_mc_addr, uint64_t
>> fence_mc_addr,
>> --
>> 1.9.1
>>
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx@lists.freedesktop.org
>>https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

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

end of thread, other threads:[~2017-07-17  2:40 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-14 10:41 [PATCH 0/4] *** Prepare to support PSP v10 for Raven *** Junwei Zhang
     [not found] ` <1500028922-20171-1-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
2017-07-14 10:41   ` [PATCH 1/4] drm/amdgpu: remove unncessary code in psp v10 ring init func Junwei Zhang
     [not found]     ` <1500028922-20171-2-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
2017-07-14 14:40       ` Deucher, Alexander
2017-07-14 10:42   ` [PATCH 2/4] drm/amdgpu: add init microcode function for psp v10 Junwei Zhang
     [not found]     ` <1500028922-20171-3-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
2017-07-14 14:41       ` Deucher, Alexander
2017-07-14 10:42   ` [PATCH 3/4] drm/amdgpu: add ring_create " Junwei Zhang
     [not found]     ` <1500028922-20171-4-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
2017-07-14 14:42       ` Deucher, Alexander
2017-07-14 10:42   ` [PATCH 4/4] drm/amdgpu: add ring_destroy " Junwei Zhang
     [not found]     ` <1500028922-20171-5-git-send-email-Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
2017-07-14 14:43       ` Deucher, Alexander
     [not found]         ` <BN6PR12MB1652D7270B7952D80428DCC5F7AD0-/b2+HYfkarQqUD6E6FAiowdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2017-07-17  2:40           ` Zhang, Jerry (Junwei)

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.