All of lore.kernel.org
 help / color / mirror / Atom feed
From: Huang Rui <ray.huang@amd.com>
To: "Liu, Aaron" <Aaron.Liu@amd.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Kuehling, Felix" <Felix.Kuehling@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 2/2] drm/amdgpu: check the GART table before invalidating TLB
Date: Mon, 7 Feb 2022 14:30:15 +0800	[thread overview]
Message-ID: <YgC8d4ld4aaAyuZl@amd.com> (raw)
In-Reply-To: <20220207024155.414712-2-aaron.liu@amd.com>

On Mon, Feb 07, 2022 at 10:41:55AM +0800, Liu, Aaron wrote:
> Bypass group programming (utcl2_harvest) aims to forbid UTCL2 to send
> invalidation command to harvested SE/SA. Once invalidation command comes
> into harvested SE/SA, SE/SA has no response and system hang.
> 
> This patch is to add checking if the GART table is already allocated before
> invalidating TLB. The new procedure is as following:
> 1. Calling amdgpu_gtt_mgr_init() in amdgpu_ttm_init(). After this step GTT
>    BOs can be allocated, but GART mappings are still ignored.
> 2. Calling amdgpu_gart_table_vram_alloc() from the GMC code. This allocates
>    the GART backing store.
> 3. Initializing the hardware, and programming the backing store into VMID0
>    for all VMHUBs.
> 4. Calling amdgpu_gtt_mgr_recover() to make sure the table is updated with
>    the GTT allocations done before it was allocated.
> 
> Signed-off-by: Christian König <christian.koenig@amd.com>
> Signed-off-by: Aaron Liu <aaron.liu@amd.com>

Acked-by: Huang Rui <ray.huang@amd.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
> index 91d8207336c1..01cb89ffbd56 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
> @@ -259,6 +259,9 @@ void amdgpu_gart_invalidate_tlb(struct amdgpu_device *adev)
>  {
>  	int i;
>  
> +	if (!adev->gart.ptr)
> +		return;
> +
>  	mb();
>  	amdgpu_device_flush_hdp(adev, NULL);
>  	for (i = 0; i < adev->num_vmhubs; i++)
> -- 
> 2.25.1
> 

  reply	other threads:[~2022-02-07  6:30 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-07  2:41 [PATCH 1/2] drm/amdgpu: add utcl2_harvest to gc 10.3.1 Aaron Liu
2022-02-07  2:41 ` [PATCH 2/2] drm/amdgpu: check the GART table before invalidating TLB Aaron Liu
2022-02-07  6:30   ` Huang Rui [this message]
2022-02-07  7:40     ` Christian König
2022-02-07  6:34 ` [PATCH 1/2] drm/amdgpu: add utcl2_harvest to gc 10.3.1 Huang Rui

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=YgC8d4ld4aaAyuZl@amd.com \
    --to=ray.huang@amd.com \
    --cc=Aaron.Liu@amd.com \
    --cc=Alexander.Deucher@amd.com \
    --cc=Christian.Koenig@amd.com \
    --cc=Felix.Kuehling@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.