All of lore.kernel.org
 help / color / mirror / Atom feed
* [Nouveau] [PATCH drm-next 00/14] [RFC] DRM GPUVA Manager & Nouveau VM_BIND UAPI
@ 2023-01-18  6:12 ` Danilo Krummrich
  0 siblings, 0 replies; 230+ messages in thread
From: Danilo Krummrich @ 2023-01-18  6:12 UTC (permalink / raw)
  To: daniel, airlied, christian.koenig, bskeggs, jason, tzimmermann,
	mripard, corbet
  Cc: nouveau, linux-kernel, dri-devel, linux-doc

This patch series provides a new UAPI for the Nouveau driver in order to
support Vulkan features, such as sparse bindings and sparse residency.

Furthermore, with the DRM GPUVA manager it provides a new DRM core feature to
keep track of GPU virtual address (VA) mappings in a more generic way.

The DRM GPUVA manager is indented to help drivers implement userspace-manageable
GPU VA spaces in reference to the Vulkan API. In order to achieve this goal it
serves the following purposes in this context.

    1) Provide a dedicated range allocator to track GPU VA allocations and
       mappings, making use of the drm_mm range allocator.

    2) Generically connect GPU VA mappings to their backing buffers, in
       particular DRM GEM objects.

    3) Provide a common implementation to perform more complex mapping
       operations on the GPU VA space. In particular splitting and merging
       of GPU VA mappings, e.g. for intersecting mapping requests or partial
       unmap requests.

The new VM_BIND Nouveau UAPI build on top of the DRM GPUVA manager, itself
providing the following new interfaces.

    1) Initialize a GPU VA space via the new DRM_IOCTL_NOUVEAU_VM_INIT ioctl
       for UMDs to specify the portion of VA space managed by the kernel and
       userspace, respectively.

    2) Allocate and free a VA space region as well as bind and unbind memory
       to the GPUs VA space via the new DRM_IOCTL_NOUVEAU_VM_BIND ioctl.

    3) Execute push buffers with the new DRM_IOCTL_NOUVEAU_EXEC ioctl.

Both, DRM_IOCTL_NOUVEAU_VM_BIND and DRM_IOCTL_NOUVEAU_EXEC, make use of the DRM
scheduler to queue jobs and support asynchronous processing with DRM syncobjs
as synchronization mechanism.

By default DRM_IOCTL_NOUVEAU_VM_BIND does synchronous processing,
DRM_IOCTL_NOUVEAU_EXEC supports asynchronous processing only.

The new VM_BIND UAPI for Nouveau makes also use of drm_exec (execution context
for GEM buffers) by Christian König. Since the patch implementing drm_exec was
not yet merged into drm-next it is part of this series, as well as a small fix
for this patch, which was found while testing this series.

This patch series is also available at [1].

There is a Mesa NVK merge request by Dave Airlie [2] implementing the
corresponding userspace parts for this series.

The Vulkan CTS test suite passes the sparse binding and sparse residency test
cases for the new UAPI together with Dave's Mesa work.

There are also some test cases in the igt-gpu-tools project [3] for the new UAPI
and hence the DRM GPU VA manager. However, most of them are testing the DRM GPU
VA manager's logic through Nouveau's new UAPI and should be considered just as
helper for implementation.

However, I absolutely intend to change those test cases to proper kunit test
cases for the DRM GPUVA manager, once and if we agree on it's usefulness and
design.

[1] https://gitlab.freedesktop.org/nouvelles/kernel/-/tree/new-uapi-drm-next /
    https://gitlab.freedesktop.org/nouvelles/kernel/-/merge_requests/1
[2] https://gitlab.freedesktop.org/nouveau/mesa/-/merge_requests/150/
[3] https://gitlab.freedesktop.org/dakr/igt-gpu-tools/-/tree/wip_nouveau_vm_bind

I also want to give credit to Dave Airlie, who contributed a lot of ideas to
this patch series.

Christian König (1):
  drm: execution context for GEM buffers

Danilo Krummrich (13):
  drm/exec: fix memory leak in drm_exec_prepare_obj()
  drm: manager to keep track of GPUs VA mappings
  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: 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 uvmm for user mode bindings
  drm/nouveau: implement new VM_BIND UAPI
  drm/nouveau: debugfs: implement DRM GPU VA debugfs

 Documentation/gpu/driver-uapi.rst             |   11 +
 Documentation/gpu/drm-mm.rst                  |   43 +
 drivers/gpu/drm/Kconfig                       |    6 +
 drivers/gpu/drm/Makefile                      |    3 +
 drivers/gpu/drm/amd/amdgpu/Kconfig            |    1 +
 drivers/gpu/drm/drm_debugfs.c                 |   56 +
 drivers/gpu/drm/drm_exec.c                    |  294 ++++
 drivers/gpu/drm/drm_gem.c                     |    3 +
 drivers/gpu/drm/drm_gpuva_mgr.c               | 1323 +++++++++++++++++
 drivers/gpu/drm/nouveau/Kbuild                |    3 +
 drivers/gpu/drm/nouveau/Kconfig               |    2 +
 drivers/gpu/drm/nouveau/include/nvif/if000c.h |   23 +-
 drivers/gpu/drm/nouveau/include/nvif/vmm.h    |   17 +-
 .../gpu/drm/nouveau/include/nvkm/subdev/mmu.h |   10 +
 drivers/gpu/drm/nouveau/nouveau_abi16.c       |   23 +
 drivers/gpu/drm/nouveau/nouveau_abi16.h       |    1 +
 drivers/gpu/drm/nouveau/nouveau_bo.c          |  152 +-
 drivers/gpu/drm/nouveau/nouveau_bo.h          |    2 +-
 drivers/gpu/drm/nouveau/nouveau_chan.c        |   16 +-
 drivers/gpu/drm/nouveau/nouveau_chan.h        |    1 +
 drivers/gpu/drm/nouveau/nouveau_debugfs.c     |   24 +
 drivers/gpu/drm/nouveau/nouveau_drm.c         |   25 +-
 drivers/gpu/drm/nouveau/nouveau_drv.h         |   92 +-
 drivers/gpu/drm/nouveau/nouveau_exec.c        |  310 ++++
 drivers/gpu/drm/nouveau/nouveau_exec.h        |   55 +
 drivers/gpu/drm/nouveau/nouveau_fence.c       |    7 +
 drivers/gpu/drm/nouveau/nouveau_fence.h       |    2 +-
 drivers/gpu/drm/nouveau/nouveau_gem.c         |   83 +-
 drivers/gpu/drm/nouveau/nouveau_mem.h         |    5 +
 drivers/gpu/drm/nouveau/nouveau_prime.c       |    2 +-
 drivers/gpu/drm/nouveau/nouveau_sched.c       |  780 ++++++++++
 drivers/gpu/drm/nouveau/nouveau_sched.h       |   98 ++
 drivers/gpu/drm/nouveau/nouveau_svm.c         |    2 +-
 drivers/gpu/drm/nouveau/nouveau_uvmm.c        |  575 +++++++
 drivers/gpu/drm/nouveau/nouveau_uvmm.h        |   68 +
 drivers/gpu/drm/nouveau/nouveau_vmm.c         |    4 +-
 drivers/gpu/drm/nouveau/nvif/vmm.c            |   73 +-
 .../gpu/drm/nouveau/nvkm/subdev/mmu/uvmm.c    |  168 ++-
 .../gpu/drm/nouveau/nvkm/subdev/mmu/uvmm.h    |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c |   32 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h |    3 +
 include/drm/drm_debugfs.h                     |   25 +
 include/drm/drm_drv.h                         |    6 +
 include/drm/drm_exec.h                        |  144 ++
 include/drm/drm_gem.h                         |   75 +
 include/drm/drm_gpuva_mgr.h                   |  527 +++++++
 include/uapi/drm/nouveau_drm.h                |  216 +++
 47 files changed, 5266 insertions(+), 126 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_exec.c
 create mode 100644 drivers/gpu/drm/drm_gpuva_mgr.c
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_exec.c
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_exec.h
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_sched.c
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_sched.h
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_uvmm.c
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_uvmm.h
 create mode 100644 include/drm/drm_exec.h
 create mode 100644 include/drm/drm_gpuva_mgr.h


base-commit: 0b45ac1170ea6416bc1d36798414c04870cd356d
-- 
2.39.0


^ permalink raw reply	[flat|nested] 230+ messages in thread
* Re: [PATCH drm-next 13/14] drm/nouveau: implement new VM_BIND UAPI
@ 2023-01-19 23:32 kernel test robot
  0 siblings, 0 replies; 230+ messages in thread
From: kernel test robot @ 2023-01-19 23:32 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20230118061256.2689-14-dakr@redhat.com>
References: <20230118061256.2689-14-dakr@redhat.com>
TO: Danilo Krummrich <dakr@redhat.com>
TO: daniel@ffwll.ch
TO: airlied@redhat.com
TO: christian.koenig@amd.com
TO: bskeggs@redhat.com
TO: jason@jlekstrand.net
TO: tzimmermann@suse.de
TO: mripard@kernel.org
TO: corbet@lwn.net
CC: nouveau@lists.freedesktop.org
CC: Danilo Krummrich <dakr@redhat.com>
CC: linux-kernel@vger.kernel.org
CC: dri-devel@lists.freedesktop.org
CC: linux-doc@vger.kernel.org

Hi Danilo,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on 0b45ac1170ea6416bc1d36798414c04870cd356d]

url:    https://github.com/intel-lab-lkp/linux/commits/Danilo-Krummrich/drm-execution-context-for-GEM-buffers/20230118-141552
base:   0b45ac1170ea6416bc1d36798414c04870cd356d
patch link:    https://lore.kernel.org/r/20230118061256.2689-14-dakr%40redhat.com
patch subject: [PATCH drm-next 13/14] drm/nouveau: implement new VM_BIND UAPI
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: ia64-randconfig-m041-20230119 (https://download.01.org/0day-ci/archive/20230120/202301200752.muIBg2TR-lkp@intel.com/config)
compiler: ia64-linux-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>

smatch warnings:
drivers/gpu/drm/nouveau/nouveau_sched.c:256 nouveau_bind_job_run() warn: passing zero to 'ERR_PTR'
drivers/gpu/drm/nouveau/nouveau_sched.c:466 nouveau_exec_job_submit() warn: inconsistent returns '&uvmm->mutex'.

vim +/ERR_PTR +256 drivers/gpu/drm/nouveau/nouveau_sched.c

85eb5d5193ee71 Danilo Krummrich 2023-01-18  204  
85eb5d5193ee71 Danilo Krummrich 2023-01-18  205  static struct dma_fence *
85eb5d5193ee71 Danilo Krummrich 2023-01-18  206  nouveau_bind_job_run(struct nouveau_job *job)
85eb5d5193ee71 Danilo Krummrich 2023-01-18  207  {
85eb5d5193ee71 Danilo Krummrich 2023-01-18  208  	struct nouveau_bind_job *bind_job = to_nouveau_bind_job(job);
85eb5d5193ee71 Danilo Krummrich 2023-01-18  209  	struct nouveau_uvmm *uvmm = nouveau_cli_uvmm(job->cli);
85eb5d5193ee71 Danilo Krummrich 2023-01-18  210  	struct bind_job_op *op;
85eb5d5193ee71 Danilo Krummrich 2023-01-18  211  	int ret = 0;
85eb5d5193ee71 Danilo Krummrich 2023-01-18  212  
85eb5d5193ee71 Danilo Krummrich 2023-01-18  213  	nouveau_uvmm_lock(uvmm);
85eb5d5193ee71 Danilo Krummrich 2023-01-18  214  	list_for_each_op(op, &bind_job->ops) {
85eb5d5193ee71 Danilo Krummrich 2023-01-18  215  		switch (op->op) {
85eb5d5193ee71 Danilo Krummrich 2023-01-18  216  		case OP_ALLOC: {
85eb5d5193ee71 Danilo Krummrich 2023-01-18  217  			bool sparse = op->flags & DRM_NOUVEAU_VM_BIND_SPARSE;
85eb5d5193ee71 Danilo Krummrich 2023-01-18  218  
85eb5d5193ee71 Danilo Krummrich 2023-01-18  219  			ret = nouveau_uvma_region_new(uvmm,
85eb5d5193ee71 Danilo Krummrich 2023-01-18  220  						      op->va.addr,
85eb5d5193ee71 Danilo Krummrich 2023-01-18  221  						      op->va.range,
85eb5d5193ee71 Danilo Krummrich 2023-01-18  222  						      sparse);
85eb5d5193ee71 Danilo Krummrich 2023-01-18  223  			if (ret)
85eb5d5193ee71 Danilo Krummrich 2023-01-18  224  				goto out_unlock;
85eb5d5193ee71 Danilo Krummrich 2023-01-18  225  			break;
85eb5d5193ee71 Danilo Krummrich 2023-01-18  226  		}
85eb5d5193ee71 Danilo Krummrich 2023-01-18  227  		case OP_FREE:
85eb5d5193ee71 Danilo Krummrich 2023-01-18  228  			ret = nouveau_uvma_region_destroy(uvmm,
85eb5d5193ee71 Danilo Krummrich 2023-01-18  229  							  op->va.addr,
85eb5d5193ee71 Danilo Krummrich 2023-01-18  230  							  op->va.range);
85eb5d5193ee71 Danilo Krummrich 2023-01-18  231  			if (ret)
85eb5d5193ee71 Danilo Krummrich 2023-01-18  232  				goto out_unlock;
85eb5d5193ee71 Danilo Krummrich 2023-01-18  233  			break;
85eb5d5193ee71 Danilo Krummrich 2023-01-18  234  		case OP_MAP:
85eb5d5193ee71 Danilo Krummrich 2023-01-18  235  			ret = nouveau_uvmm_sm_map(uvmm,
85eb5d5193ee71 Danilo Krummrich 2023-01-18  236  						  op->va.addr, op->va.range,
85eb5d5193ee71 Danilo Krummrich 2023-01-18  237  						  op->gem.obj, op->gem.offset,
85eb5d5193ee71 Danilo Krummrich 2023-01-18  238  						  op->flags && 0xff);
85eb5d5193ee71 Danilo Krummrich 2023-01-18  239  			if (ret)
85eb5d5193ee71 Danilo Krummrich 2023-01-18  240  				goto out_unlock;
85eb5d5193ee71 Danilo Krummrich 2023-01-18  241  			break;
85eb5d5193ee71 Danilo Krummrich 2023-01-18  242  		case OP_UNMAP:
85eb5d5193ee71 Danilo Krummrich 2023-01-18  243  			ret = nouveau_uvmm_sm_unmap(uvmm,
85eb5d5193ee71 Danilo Krummrich 2023-01-18  244  						    op->va.addr,
85eb5d5193ee71 Danilo Krummrich 2023-01-18  245  						    op->va.range);
85eb5d5193ee71 Danilo Krummrich 2023-01-18  246  			if (ret)
85eb5d5193ee71 Danilo Krummrich 2023-01-18  247  				goto out_unlock;
85eb5d5193ee71 Danilo Krummrich 2023-01-18  248  			break;
85eb5d5193ee71 Danilo Krummrich 2023-01-18  249  		}
85eb5d5193ee71 Danilo Krummrich 2023-01-18  250  	}
85eb5d5193ee71 Danilo Krummrich 2023-01-18  251  
85eb5d5193ee71 Danilo Krummrich 2023-01-18  252  out_unlock:
85eb5d5193ee71 Danilo Krummrich 2023-01-18  253  	nouveau_uvmm_unlock(uvmm);
85eb5d5193ee71 Danilo Krummrich 2023-01-18  254  	if (ret)
85eb5d5193ee71 Danilo Krummrich 2023-01-18  255  		NV_PRINTK(err, job->cli, "bind job failed: %d\n", ret);
85eb5d5193ee71 Danilo Krummrich 2023-01-18 @256  	return ERR_PTR(ret);
85eb5d5193ee71 Danilo Krummrich 2023-01-18  257  }
85eb5d5193ee71 Danilo Krummrich 2023-01-18  258  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

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

end of thread, other threads:[~2023-05-04 12:34 UTC | newest]

Thread overview: 230+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-18  6:12 [Nouveau] [PATCH drm-next 00/14] [RFC] DRM GPUVA Manager & Nouveau VM_BIND UAPI Danilo Krummrich
2023-01-18  6:12 ` Danilo Krummrich
2023-01-18  6:12 ` Danilo Krummrich
2023-01-18  6:12 ` [Nouveau] [PATCH drm-next 01/14] drm: execution context for GEM buffers Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12 ` [Nouveau] [PATCH drm-next 02/14] drm/exec: fix memory leak in drm_exec_prepare_obj() Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  8:51   ` [Nouveau] " Christian König
2023-01-18  8:51     ` Christian König
2023-01-18  8:51     ` Christian König
2023-01-18 19:00     ` [Nouveau] " Danilo Krummrich
2023-01-18 19:00       ` Danilo Krummrich
2023-01-18 19:00       ` Danilo Krummrich
2023-01-18  6:12 ` [Nouveau] [PATCH drm-next 03/14] drm: manager to keep track of GPUs VA mappings Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-19  4:14   ` Bagas Sanjaya
2023-01-19  4:14     ` [Nouveau] " Bagas Sanjaya
2023-01-19  4:14     ` Bagas Sanjaya
2023-01-20 18:32     ` Danilo Krummrich
2023-01-23 23:23   ` Niranjana Vishwanathapura
2023-01-23 23:23     ` Niranjana Vishwanathapura
2023-01-24  0:11     ` [Nouveau] " Danilo Krummrich
2023-01-24  0:11       ` Danilo Krummrich
2023-01-24 17:26       ` Niranjana Vishwanathapura
2023-01-26 23:43   ` Matthew Brost
2023-01-26 23:43     ` Matthew Brost
2023-01-27  0:24   ` Matthew Brost
2023-01-27  0:24     ` Matthew Brost
2023-01-28  1:51     ` Danilo Krummrich
2023-02-03 17:37   ` Matthew Brost
2023-02-03 17:37     ` Matthew Brost
2023-02-06 13:35     ` Christian König
2023-02-06 13:35       ` Christian König
2023-02-06 13:35       ` [Nouveau] " Christian König
2023-02-06 13:46       ` Danilo Krummrich
2023-02-06 13:46         ` Danilo Krummrich
2023-02-06 13:46         ` Danilo Krummrich
2023-02-14 11:52     ` [Nouveau] " Danilo Krummrich
2023-02-14 11:52       ` Danilo Krummrich
2023-02-14 11:52       ` Danilo Krummrich
2023-01-18  6:12 ` [Nouveau] [PATCH drm-next 04/14] drm: debugfs: provide infrastructure to dump a DRM GPU VA space Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18 13:55   ` kernel test robot
2023-01-18 13:55     ` kernel test robot
2023-01-18 13:55     ` [Nouveau] " kernel test robot
2023-01-18 15:47   ` kernel test robot
2023-01-18 15:47     ` kernel test robot
2023-01-18 15:47     ` kernel test robot
2023-01-18  6:12 ` [Nouveau] [PATCH drm-next 05/14] drm/nouveau: new VM_BIND uapi interfaces Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-27  1:05   ` Matthew Brost
2023-01-27  1:05     ` Matthew Brost
2023-01-27  1:26     ` [Nouveau] " Danilo Krummrich
2023-01-27  1:26       ` Danilo Krummrich
2023-01-27  1:26       ` Danilo Krummrich
2023-01-27  7:55       ` Christian König
2023-01-27  7:55         ` Christian König
2023-01-27  7:55         ` [Nouveau] " Christian König
2023-01-27 13:12         ` Danilo Krummrich
2023-01-27 13:12           ` Danilo Krummrich
2023-01-27 13:12           ` [Nouveau] " Danilo Krummrich
2023-01-27 13:23           ` Christian König
2023-01-27 13:23             ` Christian König
2023-01-27 13:23             ` [Nouveau] " Christian König
2023-01-27 14:44             ` Danilo Krummrich
2023-01-27 14:44               ` Danilo Krummrich
2023-01-27 14:44               ` Danilo Krummrich
2023-01-27 15:17               ` Christian König
2023-01-27 15:17                 ` Christian König
2023-01-27 15:17                 ` [Nouveau] " Christian König
2023-01-27 20:25                 ` David Airlie
2023-01-27 20:25                   ` David Airlie
2023-01-27 20:25                   ` [Nouveau] " David Airlie
2023-01-30 12:58                   ` Christian König
2023-01-30 12:58                     ` Christian König
2023-01-30 12:58                     ` Christian König
2023-01-27 21:09                 ` [Nouveau] " Danilo Krummrich
2023-01-27 21:09                   ` Danilo Krummrich
2023-01-27 21:09                   ` Danilo Krummrich
2023-01-29 18:46                   ` Danilo Krummrich
2023-01-29 18:46                     ` Danilo Krummrich
2023-01-29 18:46                     ` [Nouveau] " Danilo Krummrich
2023-01-30 13:02                     ` Christian König
2023-01-30 13:02                       ` Christian König
2023-01-30 13:02                       ` [Nouveau] " Christian König
2023-01-30 23:38                       ` Danilo Krummrich
2023-01-30 23:38                         ` Danilo Krummrich
2023-01-30 23:38                         ` Danilo Krummrich
2023-02-01  8:10                       ` [Nouveau] " Dave Airlie
2023-02-01  8:10                         ` Dave Airlie
2023-02-01  8:10                         ` Dave Airlie
2023-02-02 11:53                         ` Christian König
2023-02-02 11:53                           ` Christian König
2023-02-02 11:53                           ` Christian König
2023-02-02 18:31                           ` Danilo Krummrich
2023-02-02 18:31                             ` Danilo Krummrich
2023-02-02 18:31                             ` Danilo Krummrich
2023-02-06  9:48                             ` Christian König
2023-02-06  9:48                               ` Christian König
2023-02-06  9:48                               ` Christian König
2023-02-06 13:27                               ` Danilo Krummrich
2023-02-06 13:27                                 ` Danilo Krummrich
2023-02-06 13:27                                 ` Danilo Krummrich
2023-02-06 16:14                                 ` Christian König
2023-02-06 16:14                                   ` Christian König
2023-02-06 16:14                                   ` Christian König
2023-02-06 18:20                                   ` Danilo Krummrich
2023-02-06 18:20                                     ` Danilo Krummrich
2023-02-06 18:20                                     ` Danilo Krummrich
2023-02-07  9:35                                     ` Christian König
2023-02-07  9:35                                       ` Christian König
2023-02-07  9:35                                       ` Christian König
2023-02-07 10:50                                       ` Danilo Krummrich
2023-02-07 10:50                                         ` Danilo Krummrich
2023-02-07 10:50                                         ` Danilo Krummrich
2023-02-10 11:50                                         ` Christian König
2023-02-10 11:50                                           ` Christian König
2023-02-10 11:50                                           ` Christian König
2023-02-10 12:47                                           ` Danilo Krummrich
2023-02-10 12:47                                             ` Danilo Krummrich
2023-02-10 12:47                                             ` Danilo Krummrich
2023-01-27  1:43     ` Danilo Krummrich
2023-01-27  1:43       ` Danilo Krummrich
2023-01-27  1:43       ` Danilo Krummrich
2023-01-27  3:21       ` Matthew Brost
2023-01-27  3:21         ` Matthew Brost
2023-01-27  3:33         ` Danilo Krummrich
2023-01-27  3:33           ` Danilo Krummrich
2023-01-27  3:33           ` [Nouveau] " Danilo Krummrich
2023-01-18  6:12 ` [Nouveau] [PATCH drm-next 06/14] drm/nouveau: get vmm via nouveau_cli_vmm() Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12 ` [Nouveau] [PATCH drm-next 07/14] drm/nouveau: bo: initialize GEM GPU VA interface Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12 ` [Nouveau] [PATCH drm-next 08/14] drm/nouveau: move usercopy helpers to nouveau_drv.h Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12 ` [Nouveau] [PATCH drm-next 09/14] drm/nouveau: fence: fail to emit when fence context is killed Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12 ` [Nouveau] [PATCH drm-next 10/14] drm/nouveau: chan: provide nouveau_channel_kill() Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12 ` [Nouveau] [PATCH drm-next 11/14] drm/nouveau: nvkm/vmm: implement raw ops to manage uvmm Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  9:37   ` kernel test robot
2023-01-18  9:37     ` kernel test robot
2023-01-20  3:37   ` kernel test robot
2023-01-20  3:37     ` kernel test robot
2023-01-20  3:37     ` [Nouveau] " kernel test robot
2023-01-18  6:12 ` [Nouveau] [PATCH drm-next 12/14] drm/nouveau: implement uvmm for user mode bindings Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12 ` [Nouveau] [PATCH drm-next 13/14] drm/nouveau: implement new VM_BIND UAPI Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  8:37   ` kernel test robot
2023-01-18  8:37     ` kernel test robot
2023-01-18 20:37   ` Thomas Hellström (Intel)
2023-01-18 20:37     ` [Nouveau] " Thomas Hellström (Intel)
2023-01-19  3:44     ` Danilo Krummrich
2023-01-19  3:44       ` Danilo Krummrich
2023-01-19  4:58       ` Matthew Brost
2023-01-19  4:58         ` Matthew Brost
2023-01-19  7:32         ` Thomas Hellström (Intel)
2023-01-19  7:32           ` [Nouveau] " Thomas Hellström (Intel)
2023-01-19  7:32           ` Thomas Hellström (Intel)
2023-01-19 15:36         ` Danilo Krummrich
2023-01-19 16:38           ` Matthew Brost
2023-01-19 17:46             ` Danilo Krummrich
2023-01-19 21:47               ` Matthew Brost
2023-01-19 22:25                 ` Danilo Krummrich
2023-01-20  4:30                   ` Matthew Brost
2023-01-20 10:22             ` Boris Brezillon
2023-01-22 17:48               ` Matthew Brost
2023-01-23 10:01                 ` Boris Brezillon
2023-01-20 10:08         ` Boris Brezillon
2023-01-20 10:08           ` [Nouveau] " Boris Brezillon
2023-01-20 10:08           ` Boris Brezillon
2023-01-18  6:12 ` [Nouveau] [PATCH drm-next 14/14] drm/nouveau: debugfs: implement DRM GPU VA debugfs Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  6:12   ` Danilo Krummrich
2023-01-18  8:53 ` [Nouveau] [PATCH drm-next 00/14] [RFC] DRM GPUVA Manager & Nouveau VM_BIND UAPI Christian König
2023-01-18  8:53   ` Christian König
2023-01-18  8:53   ` Christian König
2023-01-18 15:34   ` [Nouveau] " Danilo Krummrich
2023-01-18 15:34     ` Danilo Krummrich
2023-01-18 15:34     ` Danilo Krummrich
2023-01-18 15:37     ` Christian König
2023-01-18 15:37       ` Christian König
2023-01-18 15:37       ` [Nouveau] " Christian König
2023-01-18 16:19       ` Danilo Krummrich
2023-01-18 16:19         ` Danilo Krummrich
2023-01-18 16:19         ` Danilo Krummrich
2023-01-18 16:30         ` [Nouveau] " Alex Deucher
2023-01-18 16:30           ` Alex Deucher
2023-01-18 16:30           ` Alex Deucher
2023-01-18 16:50           ` [Nouveau] " Danilo Krummrich
2023-01-18 16:50             ` Danilo Krummrich
2023-01-18 16:50             ` Danilo Krummrich
2023-01-18 16:54             ` Alex Deucher
2023-01-18 16:54               ` Alex Deucher
2023-01-18 16:54               ` [Nouveau] " Alex Deucher
2023-01-18 19:17               ` Dave Airlie
2023-01-18 19:17                 ` [Nouveau] " Dave Airlie
2023-01-18 19:17                 ` Dave Airlie
2023-01-18 19:48                 ` Christian König
2023-01-18 19:48                   ` Christian König
2023-01-18 19:48                   ` [Nouveau] " Christian König
2023-01-19  4:04                   ` Danilo Krummrich
2023-01-19  4:04                     ` Danilo Krummrich
2023-01-19  4:04                     ` Danilo Krummrich
2023-01-19  5:23                     ` Matthew Brost
2023-01-19  5:23                       ` Matthew Brost
2023-01-19 11:33                       ` [Nouveau] drm_gpuva_manager requirements (was Re: [PATCH drm-next 00/14] [RFC] DRM GPUVA Manager & Nouveau VM_BIND UAPI) Christian König
2023-01-19 11:33                         ` Christian König
2023-01-19 11:33                         ` Christian König
2023-02-06 14:48                       ` [PATCH drm-next 00/14] [RFC] DRM GPUVA Manager & Nouveau VM_BIND UAPI Oded Gabbay
2023-02-06 14:48                         ` Oded Gabbay
2023-03-16 16:39                         ` [Nouveau] " Danilo Krummrich
2023-03-16 16:39                           ` Danilo Krummrich
2023-03-16 16:39                           ` Danilo Krummrich
2023-01-19 23:32 [PATCH drm-next 13/14] drm/nouveau: implement new " kernel test robot

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.