drm/xe: Account ring buffer and context state storage
authorTejas Upadhyay <tejas.upadhyay@intel.com>
Tue, 29 Aug 2023 05:22:23 +0000 (10:52 +0530)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:41:15 +0000 (11:41 -0500)
Account ring buffers and logical context space against the owning client
memory usage stats.

Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Signed-off-by: Tejas Upadhyay <tejas.upadhyay@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_lrc.c

index 1410dcab3d90e02dfae4ea9cc01b822dfa67672f..35ae6e531d8a59460df04cd587d9e59cb5c644b9 100644 (file)
@@ -12,6 +12,7 @@
 #include "regs/xe_regs.h"
 #include "xe_bo.h"
 #include "xe_device.h"
+#include "xe_drm_client.h"
 #include "xe_exec_queue_types.h"
 #include "xe_gt.h"
 #include "xe_hw_fence.h"
@@ -739,9 +740,13 @@ int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
                kfree(init_data);
        }
 
-       if (vm)
+       if (vm) {
                xe_lrc_set_ppgtt(lrc, vm);
 
+               if (vm->xef)
+                       xe_drm_client_add_bo(vm->xef->client, lrc->bo);
+       }
+
        xe_lrc_write_ctx_reg(lrc, CTX_RING_START, __xe_lrc_ring_ggtt_addr(lrc));
        xe_lrc_write_ctx_reg(lrc, CTX_RING_HEAD, 0);
        xe_lrc_write_ctx_reg(lrc, CTX_RING_TAIL, lrc->ring.tail);