Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/etnaviv: Add fdinfo support for memory stats

Use the new helper to export stats about memory usage.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>

authored by

Christian Gmeiner and committed by
Lucas Stach
6bef484c a807cb22

+23 -1
+11 -1
drivers/gpu/drm/etnaviv/etnaviv_drv.c
··· 488 488 ETNA_IOCTL(PM_QUERY_SIG, pm_query_sig, DRM_RENDER_ALLOW), 489 489 }; 490 490 491 - DEFINE_DRM_GEM_FOPS(fops); 491 + static void etnaviv_show_fdinfo(struct drm_printer *p, struct drm_file *file) 492 + { 493 + drm_show_memory_stats(p, file); 494 + } 495 + 496 + static const struct file_operations fops = { 497 + .owner = THIS_MODULE, 498 + DRM_GEM_FOPS, 499 + .show_fdinfo = drm_show_fdinfo, 500 + }; 492 501 493 502 static const struct drm_driver etnaviv_drm_driver = { 494 503 .driver_features = DRIVER_GEM | DRIVER_RENDER, ··· 507 498 #ifdef CONFIG_DEBUG_FS 508 499 .debugfs_init = etnaviv_debugfs_init, 509 500 #endif 501 + .show_fdinfo = etnaviv_show_fdinfo, 510 502 .ioctls = etnaviv_ioctls, 511 503 .num_ioctls = DRM_ETNAVIV_NUM_IOCTLS, 512 504 .fops = &fops,
+12
drivers/gpu/drm/etnaviv/etnaviv_gem.c
··· 540 540 mutex_unlock(&priv->gem_lock); 541 541 } 542 542 543 + static enum drm_gem_object_status etnaviv_gem_status(struct drm_gem_object *obj) 544 + { 545 + struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); 546 + enum drm_gem_object_status status = 0; 547 + 548 + if (etnaviv_obj->pages) 549 + status |= DRM_GEM_OBJECT_RESIDENT; 550 + 551 + return status; 552 + } 553 + 543 554 static const struct vm_operations_struct vm_ops = { 544 555 .fault = etnaviv_gem_fault, 545 556 .open = drm_gem_vm_open, ··· 564 553 .get_sg_table = etnaviv_gem_prime_get_sg_table, 565 554 .vmap = etnaviv_gem_prime_vmap, 566 555 .mmap = etnaviv_gem_mmap, 556 + .status = etnaviv_gem_status, 567 557 .vm_ops = &vm_ops, 568 558 }; 569 559