Commit | Line | Data |
---|---|---|
811fe9f5 MW |
1 | /* SPDX-License-Identifier: MIT */ |
2 | /* | |
3 | * Copyright © 2023 Intel Corporation | |
4 | */ | |
5 | ||
6 | #ifndef _XE_GUC_RELAY_TYPES_H_ | |
7 | #define _XE_GUC_RELAY_TYPES_H_ | |
8 | ||
9 | #include <linux/mempool.h> | |
10 | #include <linux/spinlock.h> | |
11 | #include <linux/workqueue.h> | |
12 | ||
13 | /** | |
14 | * struct xe_guc_relay - Data used by the VF-PF Relay Communication over GuC. | |
15 | */ | |
16 | struct xe_guc_relay { | |
17 | /**@lock: protects all internal data. */ | |
18 | spinlock_t lock; | |
19 | ||
20 | /** @worker: dispatches incoming action messages. */ | |
21 | struct work_struct worker; | |
22 | ||
23 | /** @pending_relays: list of sent requests that await a response. */ | |
24 | struct list_head pending_relays; | |
25 | ||
26 | /** @incoming_actions: list of incoming relay action messages to process. */ | |
27 | struct list_head incoming_actions; | |
28 | ||
29 | /** @pool: pool of the relay message buffers. */ | |
30 | mempool_t pool; | |
31 | ||
32 | /** @last_rid: last Relay-ID used while sending a message. */ | |
33 | u32 last_rid; | |
34 | }; | |
35 | ||
36 | #endif |