Commit 72fa02fd authored by Dave Airlie's avatar Dave Airlie

nouveau: add an ioctl to report vram usage

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: default avatarFaith Ekstrand <faith.ekstrand@collabora.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 3f4d8aac
...@@ -267,6 +267,11 @@ nouveau_abi16_ioctl_getparam(ABI16_IOCTL_ARGS) ...@@ -267,6 +267,11 @@ nouveau_abi16_ioctl_getparam(ABI16_IOCTL_ARGS)
case NOUVEAU_GETPARAM_VRAM_BAR_SIZE: case NOUVEAU_GETPARAM_VRAM_BAR_SIZE:
getparam->value = nvkm_device->func->resource_size(nvkm_device, 1); getparam->value = nvkm_device->func->resource_size(nvkm_device, 1);
break; 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: default:
NV_PRINTK(dbg, cli, "unknown parameter %lld\n", getparam->param); NV_PRINTK(dbg, cli, "unknown parameter %lld\n", getparam->param);
return -EINVAL; return -EINVAL;
......
...@@ -61,6 +61,13 @@ extern "C" { ...@@ -61,6 +61,13 @@ extern "C" {
*/ */
#define NOUVEAU_GETPARAM_VRAM_BAR_SIZE 18 #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 { struct drm_nouveau_getparam {
__u64 param; __u64 param;
__u64 value; __u64 value;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment