1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2024 Intel Corporation
4  */
5 
6 #ifndef _XE_MFX_COMMANDS_H_
7 #define _XE_MFX_COMMANDS_H_
8 
9 #include "instructions/xe_instr_defs.h"
10 
11 #define MFX_CMD_SUBTYPE		REG_GENMASK(28, 27) /* A.K.A cmd pipe */
12 #define MFX_CMD_OPCODE		REG_GENMASK(26, 24)
13 #define MFX_CMD_SUB_OPCODE	REG_GENMASK(23, 16)
14 #define MFX_FLAGS_AND_LEN	REG_GENMASK(15, 0)
15 
16 #define XE_MFX_INSTR(subtype, op, sub_op) \
17 	(XE_INSTR_VIDEOPIPE | \
18 	 REG_FIELD_PREP(MFX_CMD_SUBTYPE, subtype) | \
19 	 REG_FIELD_PREP(MFX_CMD_OPCODE, op) | \
20 	 REG_FIELD_PREP(MFX_CMD_SUB_OPCODE, sub_op))
21 
22 #define MFX_WAIT				XE_MFX_INSTR(1, 0, 0)
23 #define MFX_WAIT_DW0_PXP_SYNC_CONTROL_FLAG	REG_BIT(9)
24 #define MFX_WAIT_DW0_MFX_SYNC_CONTROL_FLAG	REG_BIT(8)
25 
26 #define CRYPTO_KEY_EXCHANGE			XE_MFX_INSTR(2, 6, 9)
27 
28 #endif
29