diff options
author | Michal Wajdeczko <michal.wajdeczko@intel.com> | 2024-01-05 01:20:28 +0300 |
---|---|---|
committer | Michal Wajdeczko <michal.wajdeczko@intel.com> | 2024-01-05 18:25:53 +0300 |
commit | 811fe9f556fcb281ea2db1b0fff3bab20f0a4d42 (patch) | |
tree | 1d1d4c6e53bd0da1c5d515813b88b9f62db4abaa /drivers/gpu/drm/xe/xe_guc_types.h | |
parent | fa6c12e036c9450c43782d52648bf0fb915a7bbb (diff) | |
download | linux-811fe9f556fcb281ea2db1b0fff3bab20f0a4d42.tar.xz |
drm/xe/guc: Introduce Relay Communication for SR-IOV
There are scenarios where SR-IOV Virtual Function (VF) driver will
need to get additional data that is not available over VF MMIO BAR
nor could be queried from the GuC firmware and must be obtained
from the Physical Function (PF) driver.
To allow such communication between VF and PF drivers, GuC supports
set of H2G and G2H actions which allows relaying embedded messages,
that are otherwise opaque for the GuC.
To allow use of this communication mechanism, provide functions for
sending requests and handling replies and placeholder where we will
put handlers for incoming requests.
Reviewed-by: Piotr PiĆ³rkowski <piotr.piorkowski@intel.com>
Link: https://lore.kernel.org/r/20240104222031.277-8-michal.wajdeczko@intel.com
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Diffstat (limited to 'drivers/gpu/drm/xe/xe_guc_types.h')
-rw-r--r-- | drivers/gpu/drm/xe/xe_guc_types.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_guc_types.h b/drivers/gpu/drm/xe/xe_guc_types.h index 16de203c62a7..dc6059de669c 100644 --- a/drivers/gpu/drm/xe/xe_guc_types.h +++ b/drivers/gpu/drm/xe/xe_guc_types.h @@ -15,6 +15,7 @@ #include "xe_guc_fwif.h" #include "xe_guc_log_types.h" #include "xe_guc_pc_types.h" +#include "xe_guc_relay_types.h" #include "xe_uc_fw_types.h" /** @@ -85,6 +86,9 @@ struct xe_guc { u32 size; } hwconfig; + /** @relay: GuC Relay Communication used in SR-IOV */ + struct xe_guc_relay relay; + /** * @notify_reg: Register which is written to notify GuC of H2G messages */ |