[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f5723444623b41d58f93c3f0ab662e9b37105765.camel@imgtec.com>
Date: Fri, 9 Jun 2023 11:56:07 +0000
From: Donald Robson <Donald.Robson@...tec.com>
To: "corbet@....net" <corbet@....net>,
"jason@...kstrand.net" <jason@...kstrand.net>,
"willy@...radead.org" <willy@...radead.org>,
"christian.koenig@....com" <christian.koenig@....com>,
"tzimmermann@...e.de" <tzimmermann@...e.de>,
"bagasdotme@...il.com" <bagasdotme@...il.com>,
"mripard@...nel.org" <mripard@...nel.org>,
"matthew.brost@...el.com" <matthew.brost@...el.com>,
"bskeggs@...hat.com" <bskeggs@...hat.com>,
"dakr@...hat.com" <dakr@...hat.com>,
"ogabbay@...nel.org" <ogabbay@...nel.org>,
"boris.brezillon@...labora.com" <boris.brezillon@...labora.com>,
"Liam.Howlett@...cle.com" <Liam.Howlett@...cle.com>,
"daniel@...ll.ch" <daniel@...ll.ch>,
"alexdeucher@...il.com" <alexdeucher@...il.com>,
"airlied@...il.com" <airlied@...il.com>
CC: "dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"nouveau@...ts.freedesktop.org" <nouveau@...ts.freedesktop.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH drm-next v4 00/14] [RFC] DRM GPUVA Manager & Nouveau
VM_BIND UAPI
On Wed, 2023-06-07 at 00:31 +0200, Danilo Krummrich wrote:
>
> Christian König (1):
> drm: execution context for GEM buffers v4
>
> Danilo Krummrich (13):
> maple_tree: split up MA_STATE() macro
> drm: manager to keep track of GPUs VA mappings
I have tested the drm GPUVA manager as part of using it with our new
driver. The link below shows use of the drm_gpuva_sm_[un]map()
functions. I think this is based on the v3 patches, but I have also
tried it locally using v4 patches. We will be submitting this
driver for review soon.
https://gitlab.freedesktop.org/sarah-walker-imgtec/powervr/-/blob/dev/v3/drivers/gpu/drm/imagination/pvr_vm.c
In a previous incarnation, I used the drm_gpuva_insert() and
drm_gpuva_remove() functions directly. In some now abandoned work I
used the drm_gpuva_sm_[un]map_ops_create() route.
The only problem I encountered along the way was the maple tree init
issue already reported by Boris and fixed in v4. One caveat - as
our driver is a work in progress our testing is limited to certain
Sascha Willem tests.
I did find it quite difficult to get the prealloc route with
drm_gpuva_sm_[un]map() working. I'm not sure to what degree this
reflects me being a novice on matters DRM, but I did find myself
wishing for more direction, even with Boris's help.
Tested-by: Donald Robson <donald.robson@...tec.com>
> drm: debugfs: provide infrastructure to dump a DRM GPU VA space
> drm/nouveau: new VM_BIND uapi interfaces
> drm/nouveau: get vmm via nouveau_cli_vmm()
> drm/nouveau: bo: initialize GEM GPU VA interface
> drm/nouveau: move usercopy helpers to nouveau_drv.h
> drm/nouveau: fence: separate fence alloc and emit
> drm/nouveau: fence: fail to emit when fence context is killed
> drm/nouveau: chan: provide nouveau_channel_kill()
> drm/nouveau: nvkm/vmm: implement raw ops to manage uvmm
> drm/nouveau: implement new VM_BIND uAPI
> drm/nouveau: debugfs: implement DRM GPU VA debugfs
>
Powered by blists - more mailing lists