drm/xe: Introduce GuC Doorbells Manager
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Mon, 18 Dec 2023 19:06:22 +0000 (20:06 +0100)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 21:31:29 +0000 (16:31 -0500)
commit587c73343ac79000223b05e1e58a0657a0b59f01
treeca6b7312aa240397ff0c81a3e41514b108e7056c
parente8b9b3097ca82f29d4e4e32d0ad79732ed041b7c
drm/xe: Introduce GuC Doorbells Manager

The GFX doorbell solution provides a mechanism for submission of
workload to the graphics hardware by a ring3 application without
the penalty of ring transition for each workload submission.

This feature is not currently used by the Linux drivers, but in
SR-IOV mode the doorbells are treated as shared resource and the
PF driver must be able to provision exclusive range of doorbells
IDs across all enabled VFs.

Introduce simple GuC doorbell ID manager that will be used by the
PF driver for VFs provisioning and can later be used by submission
code once we are ready to switch from H2G based notifications to
doorbells mechanism.

Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Piotr PiĆ³rkowski <piotr.piorkowski@intel.com>
Reviewed-by: Piotr PiĆ³rkowski <piotr.piorkowski@intel.com>
Link: https://lore.kernel.org/r/20231218190629.502-4-michal.wajdeczko@intel.com
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
drivers/gpu/drm/xe/Makefile
drivers/gpu/drm/xe/xe_guc_db_mgr.c [new file with mode: 0644]
drivers/gpu/drm/xe/xe_guc_db_mgr.h [new file with mode: 0644]
drivers/gpu/drm/xe/xe_guc_types.h
drivers/gpu/drm/xe/xe_uc.c