amd-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/amdgpu: IB size alignment on VCN5
@ 2024-04-15 21:24 Sonny Jiang
  2024-04-15 21:25 ` [PATCH 2/2] drm/amdgpu: IB test encode test package change for VCN5 Sonny Jiang
  2024-04-17 13:17 ` [PATCH 1/2] drm/amdgpu: IB size alignment on VCN5 Liu, Leo
  0 siblings, 2 replies; 5+ messages in thread
From: Sonny Jiang @ 2024-04-15 21:24 UTC (permalink / raw)
  To: amd-gfx; +Cc: Sonny Jiang, Sonny Jiang

From: Sonny Jiang <sonjiang@amd.com>

VCN5 IB size alignment adjusted.

Signed-off-by: Sonny Jiang <sonny.jiang@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index 5d1b084eb631..94ae14e0989c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -509,7 +509,7 @@ static int amdgpu_hw_ip_info(struct amdgpu_device *adev,
 					++num_rings;
 		}
 		ib_start_alignment = 256;
-		ib_size_alignment = 4;
+		ib_size_alignment = 64;
 		break;
 	case AMDGPU_HW_IP_VCN_JPEG:
 		type = (amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_JPEG)) ?
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
index bb85772b1374..7d176046498f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
@@ -731,7 +731,7 @@ static int amdgpu_vcn_dec_sw_send_msg(struct amdgpu_ring *ring,
 	int i, r;
 
 	if (sq)
-		ib_size_dw += 8;
+		ib_size_dw += 16;
 
 	r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL,
 				     ib_size_dw * 4, AMDGPU_IB_POOL_DIRECT,
@@ -861,7 +861,7 @@ static int amdgpu_vcn_enc_get_create_msg(struct amdgpu_ring *ring, uint32_t hand
 	int i, r;
 
 	if (sq)
-		ib_size_dw += 8;
+		ib_size_dw += 16;
 
 	r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL,
 				     ib_size_dw * 4, AMDGPU_IB_POOL_DIRECT,
@@ -928,7 +928,7 @@ static int amdgpu_vcn_enc_get_destroy_msg(struct amdgpu_ring *ring, uint32_t han
 	int i, r;
 
 	if (sq)
-		ib_size_dw += 8;
+		ib_size_dw += 16;
 
 	r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL,
 				     ib_size_dw * 4, AMDGPU_IB_POOL_DIRECT,
-- 
2.43.2


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

* [PATCH 2/2] drm/amdgpu: IB test encode test package change for VCN5
  2024-04-15 21:24 [PATCH 1/2] drm/amdgpu: IB size alignment on VCN5 Sonny Jiang
@ 2024-04-15 21:25 ` Sonny Jiang
  2024-04-15 21:32   ` Alex Deucher
  2024-04-17 13:17 ` [PATCH 1/2] drm/amdgpu: IB size alignment on VCN5 Liu, Leo
  1 sibling, 1 reply; 5+ messages in thread
From: Sonny Jiang @ 2024-04-15 21:25 UTC (permalink / raw)
  To: amd-gfx; +Cc: Sonny Jiang, Sonny Jiang

From: Sonny Jiang <sonjiang@amd.com>

VCN5 session info package interface changed

Signed-off-by: Sonny Jiang <sonny.jiang@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
index 7d176046498f..e08aacacc43e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
@@ -882,7 +882,7 @@ static int amdgpu_vcn_enc_get_create_msg(struct amdgpu_ring *ring, uint32_t hand
 	ib->ptr[ib->length_dw++] = handle;
 	ib->ptr[ib->length_dw++] = upper_32_bits(addr);
 	ib->ptr[ib->length_dw++] = addr;
-	ib->ptr[ib->length_dw++] = 0x0000000b;
+	ib->ptr[ib->length_dw++] = 0x00000000;
 
 	ib->ptr[ib->length_dw++] = 0x00000014;
 	ib->ptr[ib->length_dw++] = 0x00000002; /* task info */
@@ -949,7 +949,7 @@ static int amdgpu_vcn_enc_get_destroy_msg(struct amdgpu_ring *ring, uint32_t han
 	ib->ptr[ib->length_dw++] = handle;
 	ib->ptr[ib->length_dw++] = upper_32_bits(addr);
 	ib->ptr[ib->length_dw++] = addr;
-	ib->ptr[ib->length_dw++] = 0x0000000b;
+	ib->ptr[ib->length_dw++] = 0x00000000;
 
 	ib->ptr[ib->length_dw++] = 0x00000014;
 	ib->ptr[ib->length_dw++] = 0x00000002;
-- 
2.43.2


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

* Re: [PATCH 2/2] drm/amdgpu: IB test encode test package change for VCN5
  2024-04-15 21:25 ` [PATCH 2/2] drm/amdgpu: IB test encode test package change for VCN5 Sonny Jiang
@ 2024-04-15 21:32   ` Alex Deucher
  2024-04-16 14:18     ` Jiang, Sonny
  0 siblings, 1 reply; 5+ messages in thread
From: Alex Deucher @ 2024-04-15 21:32 UTC (permalink / raw)
  To: Sonny Jiang; +Cc: amd-gfx, Sonny Jiang

On Mon, Apr 15, 2024 at 5:25 PM Sonny Jiang <sonny.jiang@amd.com> wrote:
>
> From: Sonny Jiang <sonjiang@amd.com>
>
> VCN5 session info package interface changed
>
> Signed-off-by: Sonny Jiang <sonny.jiang@amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> index 7d176046498f..e08aacacc43e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> @@ -882,7 +882,7 @@ static int amdgpu_vcn_enc_get_create_msg(struct amdgpu_ring *ring, uint32_t hand
>         ib->ptr[ib->length_dw++] = handle;
>         ib->ptr[ib->length_dw++] = upper_32_bits(addr);
>         ib->ptr[ib->length_dw++] = addr;
> -       ib->ptr[ib->length_dw++] = 0x0000000b;
> +       ib->ptr[ib->length_dw++] = 0x00000000;
>
>         ib->ptr[ib->length_dw++] = 0x00000014;
>         ib->ptr[ib->length_dw++] = 0x00000002; /* task info */
> @@ -949,7 +949,7 @@ static int amdgpu_vcn_enc_get_destroy_msg(struct amdgpu_ring *ring, uint32_t han
>         ib->ptr[ib->length_dw++] = handle;
>         ib->ptr[ib->length_dw++] = upper_32_bits(addr);
>         ib->ptr[ib->length_dw++] = addr;
> -       ib->ptr[ib->length_dw++] = 0x0000000b;
> +       ib->ptr[ib->length_dw++] = 0x00000000;

These patches are touching common files, are these changes safe on pre-VCN5 IPs?

Alex

>
>         ib->ptr[ib->length_dw++] = 0x00000014;
>         ib->ptr[ib->length_dw++] = 0x00000002;
> --
> 2.43.2
>

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

* Re: [PATCH 2/2] drm/amdgpu: IB test encode test package change for VCN5
  2024-04-15 21:32   ` Alex Deucher
@ 2024-04-16 14:18     ` Jiang, Sonny
  0 siblings, 0 replies; 5+ messages in thread
From: Jiang, Sonny @ 2024-04-16 14:18 UTC (permalink / raw)
  To: Alex Deucher; +Cc: amd-gfx

[-- Attachment #1: Type: text/plain, Size: 2946 bytes --]

[AMD Official Use Only - General]

These changes are for vcn_unified_ring_test_ib which only used on VCN4 and VCN5. The only exception is ib_size_alignment of hw_ip_info.

The VCN5 adds address_patch_enabled in session_info. VCN4 doesn't have it, so it should just ignore the extra 0.

typedef struct uve_session_info_s
{
    unsigned int                    interface_version;                              ///< The version of the firmware interface on which the host was built
    unsigned int                    sw_context_address_hi;                          ///< High address of software context buffer
    unsigned int                    sw_context_address_lo;                          ///< Low address of software context buffer
    unsigned int                    address_patch_enabled;                          ///< address patching enabled in UMD
} uve_session_info_t;

By my tests, I didn't find error. I may need more tests on mi300 asic.

Thanks,
Sonny

________________________________
From: Alex Deucher <alexdeucher@gmail.com>
Sent: Monday, April 15, 2024 5:32 PM
To: Jiang, Sonny <Sonny.Jiang@amd.com>
Cc: amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org>; Jiang, Sonny <Sonny.Jiang@amd.com>
Subject: Re: [PATCH 2/2] drm/amdgpu: IB test encode test package change for VCN5

On Mon, Apr 15, 2024 at 5:25 PM Sonny Jiang <sonny.jiang@amd.com> wrote:
>
> From: Sonny Jiang <sonjiang@amd.com>
>
> VCN5 session info package interface changed
>
> Signed-off-by: Sonny Jiang <sonny.jiang@amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> index 7d176046498f..e08aacacc43e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> @@ -882,7 +882,7 @@ static int amdgpu_vcn_enc_get_create_msg(struct amdgpu_ring *ring, uint32_t hand
>         ib->ptr[ib->length_dw++] = handle;
>         ib->ptr[ib->length_dw++] = upper_32_bits(addr);
>         ib->ptr[ib->length_dw++] = addr;
> -       ib->ptr[ib->length_dw++] = 0x0000000b;
> +       ib->ptr[ib->length_dw++] = 0x00000000;
>
>         ib->ptr[ib->length_dw++] = 0x00000014;
>         ib->ptr[ib->length_dw++] = 0x00000002; /* task info */
> @@ -949,7 +949,7 @@ static int amdgpu_vcn_enc_get_destroy_msg(struct amdgpu_ring *ring, uint32_t han
>         ib->ptr[ib->length_dw++] = handle;
>         ib->ptr[ib->length_dw++] = upper_32_bits(addr);
>         ib->ptr[ib->length_dw++] = addr;
> -       ib->ptr[ib->length_dw++] = 0x0000000b;
> +       ib->ptr[ib->length_dw++] = 0x00000000;

These patches are touching common files, are these changes safe on pre-VCN5 IPs?

Alex

>
>         ib->ptr[ib->length_dw++] = 0x00000014;
>         ib->ptr[ib->length_dw++] = 0x00000002;
> --
> 2.43.2
>

[-- Attachment #2: Type: text/html, Size: 8128 bytes --]

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

* RE: [PATCH 1/2] drm/amdgpu: IB size alignment on VCN5
  2024-04-15 21:24 [PATCH 1/2] drm/amdgpu: IB size alignment on VCN5 Sonny Jiang
  2024-04-15 21:25 ` [PATCH 2/2] drm/amdgpu: IB test encode test package change for VCN5 Sonny Jiang
@ 2024-04-17 13:17 ` Liu, Leo
  1 sibling, 0 replies; 5+ messages in thread
From: Liu, Leo @ 2024-04-17 13:17 UTC (permalink / raw)
  To: Jiang, Sonny, amd-gfx; +Cc: Jiang, Sonny, Jiang, Sonny

[AMD Official Use Only - General]

> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces@lists.freedesktop.org> On Behalf Of
> Sonny Jiang
> Sent: Monday, April 15, 2024 5:25 PM
> To: amd-gfx@lists.freedesktop.org
> Cc: Jiang, Sonny <Sonny.Jiang@amd.com>; Jiang, Sonny
> <Sonny.Jiang@amd.com>
> Subject: [PATCH 1/2] drm/amdgpu: IB size alignment on VCN5
>
> From: Sonny Jiang <sonjiang@amd.com>
>
> VCN5 IB size alignment adjusted.
>
> Signed-off-by: Sonny Jiang <sonny.jiang@amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 6 +++---
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> index 5d1b084eb631..94ae14e0989c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> @@ -509,7 +509,7 @@ static int amdgpu_hw_ip_info(struct amdgpu_device
> *adev,
>                                       ++num_rings;
>               }
>               ib_start_alignment = 256;
> -             ib_size_alignment = 4;
> +             ib_size_alignment = 64;
We don't want these impact on previous HW if that is really required.

Regards,
Leo


>               break;
>       case AMDGPU_HW_IP_VCN_JPEG:
>               type = (amdgpu_device_ip_get_ip_block(adev,
> AMD_IP_BLOCK_TYPE_JPEG)) ?
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> index bb85772b1374..7d176046498f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> @@ -731,7 +731,7 @@ static int amdgpu_vcn_dec_sw_send_msg(struct
> amdgpu_ring *ring,
>       int i, r;
>
>       if (sq)
> -             ib_size_dw += 8;
> +             ib_size_dw += 16;
>
>       r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL,
>                                    ib_size_dw * 4,
> AMDGPU_IB_POOL_DIRECT, @@ -861,7 +861,7 @@ static int
> amdgpu_vcn_enc_get_create_msg(struct amdgpu_ring *ring, uint32_t hand
>       int i, r;
>
>       if (sq)
> -             ib_size_dw += 8;
> +             ib_size_dw += 16;
>
>       r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL,
>                                    ib_size_dw * 4,
> AMDGPU_IB_POOL_DIRECT, @@ -928,7 +928,7 @@ static int
> amdgpu_vcn_enc_get_destroy_msg(struct amdgpu_ring *ring, uint32_t han
>       int i, r;
>
>       if (sq)
> -             ib_size_dw += 8;
> +             ib_size_dw += 16;
>
>       r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL,
>                                    ib_size_dw * 4,
> AMDGPU_IB_POOL_DIRECT,
> --
> 2.43.2


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

end of thread, other threads:[~2024-04-17 13:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-15 21:24 [PATCH 1/2] drm/amdgpu: IB size alignment on VCN5 Sonny Jiang
2024-04-15 21:25 ` [PATCH 2/2] drm/amdgpu: IB test encode test package change for VCN5 Sonny Jiang
2024-04-15 21:32   ` Alex Deucher
2024-04-16 14:18     ` Jiang, Sonny
2024-04-17 13:17 ` [PATCH 1/2] drm/amdgpu: IB size alignment on VCN5 Liu, Leo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).