drm/xe: hold mem_access.ref for CT fast-path
authorMatthew Auld <matthew.auld@intel.com>
Mon, 10 Jul 2023 09:40:41 +0000 (10:40 +0100)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:35:22 +0000 (11:35 -0500)
commitc4bbc32e09ab9f74c725a8719df2b509c8ad8780
treeab85f5e21a8849e6c88b29d5c23538f0b62410f7
parent86ed09250e068faa840dadcd175d3cd8d174f998
drm/xe: hold mem_access.ref for CT fast-path

Just checking xe_device_mem_access_ongoing() is not enough, we also need
to hold the reference otherwise the ref can transition from 1 -> 0 as we
enter g2h_read(), leading to warnings. While we can't do a full rpm sync
in the IRQ, we can keep the device awake if the ref is non-zero.
Introduce a new helper for this and set it to work in for the CT
fast-path.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_device.c
drivers/gpu/drm/xe/xe_device.h
drivers/gpu/drm/xe/xe_guc_ct.c