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

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
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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;
+7 −0
Original line number Diff line number Diff line
@@ -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;