[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251009233837.10283-1-mohamedahmedegypt2001@gmail.com>
Date: Fri, 10 Oct 2025 02:38:32 +0300
From: Mohamed Ahmed <mohamedahmedegypt2001@...il.com>
To: linux-kernel@...r.kernel.org
Cc: dri-devel@...ts.freedesktop.org,
Mary Guillemard <mary@...y.zone>,
Faith Ekstrand <faith.ekstrand@...labora.com>,
Lyude Paul <lyude@...hat.com>,
Danilo Krummrich <dakr@...nel.org>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>,
nouveau@...ts.freedesktop.org,
Mohamed Ahmed <mohamedahmedegypt2001@...il.com>
Subject: [PATCH 0/5 v2] drm/nouveau: Enable variable page sizes and compression
The new VM_BIND interface only supported 4K pages. This was problematic as
it left performance on the table because GPUs don't have sophisticated TLB
and page walker hardware.
Additionally, the HW can only do compression on large (64K) and huge (2M)
pages, which is a major performance booster (>50% in some cases).
This patchset sets out to add support for larger page sizes and also
enable compression and set the compression tags when userspace binds with
the corresponding PTE kinds and alignment. It also increments the nouveau
version number which allows userspace to use compression only when the
kernel actually supports both features and avoid breaking the system if a
newer mesa version is paired with an older kernel version.
For the associated userspace MR, please see !36450:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36450
- v2: Implement review comments.
- v1: Initial implementation.
Ben Skeggs (2):
drm/nouveau/mmu/gp100: Remove unused/broken support for compression
drm/nouveau/mmu/tu102: Add support for compressed kinds
Mary Guillemard (2):
drm/nouveau/uvmm: Prepare for larger pages
drm/nouveau/uvmm: Allow larger pages
Mohamed Ahmed (1):
drm/nouveau/drm: Bump the driver version to 1.4.1 to report new
features
drivers/gpu/drm/nouveau/nouveau_drv.h | 4 +-
drivers/gpu/drm/nouveau/nouveau_uvmm.c | 71 ++++++++++++++-----
drivers/gpu/drm/nouveau/nouveau_uvmm.h | 1 +
.../drm/nouveau/nvkm/subdev/mmu/vmmgp100.c | 69 ++++++++++--------
.../drm/nouveau/nvkm/subdev/mmu/vmmgp10b.c | 4 +-
5 files changed, 100 insertions(+), 49 deletions(-)
--
2.51.0
Powered by blists - more mailing lists