From: Shashank Sharma <shashank.sharma@amd.com>
To: <amd-gfx@lists.freedesktop.org>
Cc: alexander.deucher@amd.com,
Shashank Sharma <contactshashanksharma@gmail.com>,
christian.koenig@amd.com, shashank.sharma@amd.com
Subject: [PATCH 00/13] Re-design doorbell framework for usermode queues
Date: Fri, 3 Feb 2023 20:08:17 +0100 [thread overview]
Message-ID: <20230203190836.1987-1-shashank.sharma@amd.com> (raw)
From: Shashank Sharma <contactshashanksharma@gmail.com>
This patch series re-designs the current doorbell handling of the AMDGPU
driver and prepares it for Usermode queues. The fundamental changes are:
- Introduce and accommodate a new GEM domain for doorbells.
- Prepare the AMDGPU ttm backend for handling doorbell memory.
- Rename, move and re-arrange some existing structures to differentiate
between doorbell handling and VRAM handling.
The idea is that a usermode app can directly allocate a page from
the doorbell bar and use it's offsets for different usermode queues.
Corresponding libdrm changes:
https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/286
Alex Deucher (11):
drm/amdgpu: add UAPI for allocating doorbell memory
drm/amdgpu: rename vram_mgr functions to bar_mgr
drm/amdgpu: rename amdgpu_vram_mgr.c/h to amdgpu_bar_mgr.c/h
drm/amdgpu: replace aper_base_kaddr with vram_aper_base_kaddr
drm/amdgpu: add doorbell support to amdgpu_bar_mgr
drm/amdgpu: rename gmc.aper_base/size
drm/amdgpu: store doorbell info in gmc structure
drm/amdgpu: move doorbell ptr into mman structure
drm/amdgpu: accommodate DOMAIN/PL_DOORBELL
drm/amdgpu: doorbell support in get_memory functions
drm/amdgpu: introduce doorbell bo in kernel
Shashank Sharma (2):
drm/amdgpu: initialize doorbell memory pool
drm/amdgpu: add domain info in bo_create_kernel_at
drivers/gpu/drm/amd/amdgpu/Makefile | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 13 +-
.../{amdgpu_vram_mgr.c => amdgpu_bar_mgr.c} | 300 +++++++++++-------
.../{amdgpu_vram_mgr.h => amdgpu_bar_mgr.h} | 19 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 68 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c | 9 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_doorbell.h | 8 -
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c | 4 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h | 11 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 4 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 53 +++-
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 5 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 4 +-
.../gpu/drm/amd/amdgpu/amdgpu_res_cursor.h | 16 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 71 ++++-
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 50 +--
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 15 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 3 +-
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 10 +-
drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c | 10 +-
drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 6 +-
drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 12 +-
drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 10 +-
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 10 +-
drivers/gpu/drm/amd/amdgpu/nbio_v2_3.c | 4 +-
drivers/gpu/drm/amd/amdgpu/nbio_v4_3.c | 4 +-
drivers/gpu/drm/amd/amdgpu/nbio_v6_1.c | 4 +-
drivers/gpu/drm/amd/amdgpu/nbio_v7_2.c | 4 +-
drivers/gpu/drm/amd/amdgpu/nbio_v7_4.c | 4 +-
drivers/gpu/drm/amd/amdgpu/nbio_v7_7.c | 4 +-
drivers/gpu/drm/amd/amdgpu/psp_v11_0.c | 10 +-
drivers/gpu/drm/amd/amdgpu/psp_v13_0.c | 10 +-
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 4 +-
include/uapi/drm/amdgpu_drm.h | 7 +-
41 files changed, 482 insertions(+), 303 deletions(-)
rename drivers/gpu/drm/amd/amdgpu/{amdgpu_vram_mgr.c => amdgpu_bar_mgr.c} (70%)
rename drivers/gpu/drm/amd/amdgpu/{amdgpu_vram_mgr.h => amdgpu_bar_mgr.h} (79%)
--
2.34.1
next reply other threads:[~2023-02-03 19:09 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-03 19:08 Shashank Sharma [this message]
2023-02-03 19:08 ` [PATCH 01/13] drm/amdgpu: add UAPI for allocating doorbell memory Shashank Sharma
2023-02-06 11:19 ` Christian König
2023-02-06 15:31 ` Shashank Sharma
2023-02-03 19:08 ` [PATCH 02/13] drm/amdgpu: rename vram_mgr functions to bar_mgr Shashank Sharma
2023-02-06 11:20 ` Christian König
2023-02-06 15:34 ` Shashank Sharma
2023-02-06 16:03 ` Christian König
2023-02-06 16:17 ` Alex Deucher
2023-02-03 19:08 ` [PATCH 03/13] drm/amdgpu: rename amdgpu_vram_mgr.c/h to amdgpu_bar_mgr.c/h Shashank Sharma
2023-02-03 19:08 ` [PATCH 04/13] drm/amdgpu: replace aper_base_kaddr with vram_aper_base_kaddr Shashank Sharma
2023-02-06 11:21 ` Christian König
2023-02-03 19:08 ` [PATCH 05/13] drm/amdgpu: add doorbell support to amdgpu_bar_mgr Shashank Sharma
2023-02-03 19:08 ` [PATCH 06/13] drm/amdgpu: rename gmc.aper_base/size Shashank Sharma
2023-02-06 11:22 ` Christian König
2023-02-03 19:08 ` [PATCH 07/13] drm/amdgpu: store doorbell info in gmc structure Shashank Sharma
2023-02-06 11:23 ` Christian König
2023-02-03 19:08 ` [PATCH 08/13] drm/amdgpu: move doorbell ptr into mman structure Shashank Sharma
2023-02-06 11:24 ` Christian König
2023-02-03 19:08 ` [PATCH 09/13] drm/amdgpu: accommodate DOMAIN/PL_DOORBELL Shashank Sharma
2023-02-06 11:30 ` Christian König
2023-02-06 16:30 ` Alex Deucher
2023-02-03 19:08 ` [PATCH 09/14] drm/amdgpu: move doorbell aperture handling into ttm_init Shashank Sharma
2023-02-06 16:20 ` Christian König
2023-02-03 19:08 ` [PATCH 10/14] drm/amdgpu: accommodate DOMAIN/PL_DOORBELL Shashank Sharma
2023-02-03 19:08 ` [PATCH 10/13] drm/amdgpu: doorbell support in get_memory functions Shashank Sharma
2023-02-06 16:30 ` Christian König
2023-02-03 19:08 ` [PATCH 11/14] " Shashank Sharma
2023-02-03 19:08 ` [PATCH 11/13] drm/amdgpu: initialize doorbell memory pool Shashank Sharma
2023-02-03 19:08 ` [PATCH 12/13] drm/amdgpu: add domain info in bo_create_kernel_at Shashank Sharma
2023-02-06 16:51 ` Christian König
2023-02-06 17:01 ` Alex Deucher
2023-02-06 17:03 ` Christian König
2023-02-03 19:08 ` [PATCH 12/14] drm/amdgpu: initialize doorbell memory pool Shashank Sharma
2023-02-06 16:54 ` Christian König
2023-02-03 19:08 ` [PATCH 13/14] drm/amdgpu: add domain info in bo_create_kernel_at Shashank Sharma
2023-02-03 19:08 ` [PATCH 13/13] drm/amdgpu: introduce doorbell bo in kernel Shashank Sharma
2023-02-03 19:08 ` [PATCH 14/14] " Shashank Sharma
2023-02-06 16:57 ` Christian König
2023-02-06 17:19 ` Shashank Sharma
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=20230203190836.1987-1-shashank.sharma@amd.com \
--to=shashank.sharma@amd.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=christian.koenig@amd.com \
--cc=contactshashanksharma@gmail.com \
/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