Merge tag 'pinctrl-v6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
[linux-block.git] / drivers / gpu / drm / xe / xe_guc_relay_types.h
CommitLineData
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 */
16struct 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