Skip to content

Commit

Permalink
nouveau: add an ioctl to report vram usage
Browse files Browse the repository at this point in the history
This reports the currently used vram allocations.

userspace using this has been proposed for nvk, but
it's a rather trivial uapi addition.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
  • Loading branch information
airlied committed Feb 23, 2024
1 parent 3f4d8aa commit 72fa02f
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
5 changes: 5 additions & 0 deletions drivers/gpu/drm/nouveau/nouveau_abi16.c
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,11 @@ nouveau_abi16_ioctl_getparam(ABI16_IOCTL_ARGS)
case NOUVEAU_GETPARAM_VRAM_BAR_SIZE:
getparam->value = nvkm_device->func->resource_size(nvkm_device, 1);
break;
case NOUVEAU_GETPARAM_VRAM_USED: {
struct ttm_resource_manager *vram_mgr = ttm_manager_type(&drm->ttm.bdev, TTM_PL_VRAM);
getparam->value = (u64)ttm_resource_manager_usage(vram_mgr) << PAGE_SHIFT;
break;
}
default:
NV_PRINTK(dbg, cli, "unknown parameter %lld\n", getparam->param);
return -EINVAL;
Expand Down
7 changes: 7 additions & 0 deletions include/uapi/drm/nouveau_drm.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,13 @@ extern "C" {
*/
#define NOUVEAU_GETPARAM_VRAM_BAR_SIZE 18

/*
* NOUVEAU_GETPARAM_VRAM_USED
*
* Get remaining VRAM size.
*/
#define NOUVEAU_GETPARAM_VRAM_USED 19

struct drm_nouveau_getparam {
__u64 param;
__u64 value;
Expand Down

0 comments on commit 72fa02f

Please sign in to comment.