public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Boris Brezillon <boris.brezillon@collabora.com>
To: Akash Goel <akash.goel@arm.com>
Cc: liviu.dudau@arm.com, steven.price@arm.com,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	mihail.atanassov@arm.com, ketil.johnsen@arm.com,
	maarten.lankhorst@linux.intel.com, mripard@kernel.org,
	tzimmermann@suse.de, airlied@gmail.com, daniel@ffwll.ch,
	nd@arm.com
Subject: Re: [PATCH v2] drm/panthor: Fix handling of partial GPU mapping of BOs
Date: Tue, 12 Nov 2024 10:08:36 +0100	[thread overview]
Message-ID: <20241112100836.57fcfd5f@collabora.com> (raw)
In-Reply-To: <20241111134720.780403-1-akash.goel@arm.com>

On Mon, 11 Nov 2024 13:47:20 +0000
Akash Goel <akash.goel@arm.com> wrote:

> This commit fixes the bug in the handling of partial mapping of the
> buffer objects to the GPU, which caused kernel warnings.
> 
> Panthor didn't correctly handle the case where the partial mapping
> spanned multiple scatterlists and the mapping offset didn't point
> to the 1st page of starting scatterlist. The offset variable was
> not cleared after reaching the starting scatterlist.
> 
> Following warning messages were seen.
> WARNING: CPU: 1 PID: 650 at drivers/iommu/io-pgtable-arm.c:659 __arm_lpae_unmap+0x254/0x5a0
> <snip>
> pc : __arm_lpae_unmap+0x254/0x5a0
> lr : __arm_lpae_unmap+0x2cc/0x5a0
> <snip>
> Call trace:
>  __arm_lpae_unmap+0x254/0x5a0
>  __arm_lpae_unmap+0x108/0x5a0
>  __arm_lpae_unmap+0x108/0x5a0
>  __arm_lpae_unmap+0x108/0x5a0
>  arm_lpae_unmap_pages+0x80/0xa0
>  panthor_vm_unmap_pages+0xac/0x1c8 [panthor]
>  panthor_gpuva_sm_step_unmap+0x4c/0xc8 [panthor]
>  op_unmap_cb.isra.23.constprop.30+0x54/0x80
>  __drm_gpuvm_sm_unmap+0x184/0x1c8
>  drm_gpuvm_sm_unmap+0x40/0x60
>  panthor_vm_exec_op+0xa8/0x120 [panthor]
>  panthor_vm_bind_exec_sync_op+0xc4/0xe8 [panthor]
>  panthor_ioctl_vm_bind+0x10c/0x170 [panthor]
>  drm_ioctl_kernel+0xbc/0x138
>  drm_ioctl+0x210/0x4b0
>  __arm64_sys_ioctl+0xb0/0xf8
>  invoke_syscall+0x4c/0x110
>  el0_svc_common.constprop.1+0x98/0xf8
>  do_el0_svc+0x24/0x38
>  el0_svc+0x34/0xc8
>  el0t_64_sync_handler+0xa0/0xc8
>  el0t_64_sync+0x174/0x178
> <snip>
> panthor : [drm] drm_WARN_ON(unmapped_sz != pgsize * pgcount)
> WARNING: CPU: 1 PID: 650 at drivers/gpu/drm/panthor/panthor_mmu.c:922 panthor_vm_unmap_pages+0x124/0x1c8 [panthor]
> <snip>
> pc : panthor_vm_unmap_pages+0x124/0x1c8 [panthor]
> lr : panthor_vm_unmap_pages+0x124/0x1c8 [panthor]
> <snip>
> panthor : [drm] *ERROR* failed to unmap range ffffa388f000-ffffa3890000 (requested range ffffa388c000-ffffa3890000)
> 
> Fixes: 647810ec2476 ("drm/panthor: Add the MMU/VM logical block")
> Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
> Reviewed-by: Steven Price <steven.price@arm.com>
> Signed-off-by: Akash Goel <akash.goel@arm.com>

Oops, sorry, didn't notice the v2 before adding my R-b on v1.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>

> ---
>  drivers/gpu/drm/panthor/panthor_mmu.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/panthor/panthor_mmu.c
> index d8cc9e7d064e..8d05124793f5 100644
> --- a/drivers/gpu/drm/panthor/panthor_mmu.c
> +++ b/drivers/gpu/drm/panthor/panthor_mmu.c
> @@ -989,6 +989,8 @@ panthor_vm_map_pages(struct panthor_vm *vm, u64 iova, int prot,
>  
>  		if (!size)
>  			break;
> +
> +		offset = 0;
>  	}
>  
>  	return panthor_vm_flush_range(vm, start_iova, iova - start_iova);


      reply	other threads:[~2024-11-12  9:08 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-11 13:47 [PATCH v2] drm/panthor: Fix handling of partial GPU mapping of BOs Akash Goel
2024-11-12  9:08 ` Boris Brezillon [this message]

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=20241112100836.57fcfd5f@collabora.com \
    --to=boris.brezillon@collabora.com \
    --cc=airlied@gmail.com \
    --cc=akash.goel@arm.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=ketil.johnsen@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=liviu.dudau@arm.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mihail.atanassov@arm.com \
    --cc=mripard@kernel.org \
    --cc=nd@arm.com \
    --cc=steven.price@arm.com \
    --cc=tzimmermann@suse.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox