mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-09-01 20:03:40 +00:00

The key termination is done with a specific submission to the VCS engine. This flow will be triggered in response to a termination interrupt, whose handling is coming in a follow-up patch in the series. v2: clean up defines and command emission code. (John) Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: John Harrison <John.C.Harrison@Intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250129174140.948829-4-daniele.ceraolospurio@intel.com
29 lines
798 B
C
29 lines
798 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2024 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _XE_MFX_COMMANDS_H_
|
|
#define _XE_MFX_COMMANDS_H_
|
|
|
|
#include "instructions/xe_instr_defs.h"
|
|
|
|
#define MFX_CMD_SUBTYPE REG_GENMASK(28, 27) /* A.K.A cmd pipe */
|
|
#define MFX_CMD_OPCODE REG_GENMASK(26, 24)
|
|
#define MFX_CMD_SUB_OPCODE REG_GENMASK(23, 16)
|
|
#define MFX_FLAGS_AND_LEN REG_GENMASK(15, 0)
|
|
|
|
#define XE_MFX_INSTR(subtype, op, sub_op) \
|
|
(XE_INSTR_VIDEOPIPE | \
|
|
REG_FIELD_PREP(MFX_CMD_SUBTYPE, subtype) | \
|
|
REG_FIELD_PREP(MFX_CMD_OPCODE, op) | \
|
|
REG_FIELD_PREP(MFX_CMD_SUB_OPCODE, sub_op))
|
|
|
|
#define MFX_WAIT XE_MFX_INSTR(1, 0, 0)
|
|
#define MFX_WAIT_DW0_PXP_SYNC_CONTROL_FLAG REG_BIT(9)
|
|
#define MFX_WAIT_DW0_MFX_SYNC_CONTROL_FLAG REG_BIT(8)
|
|
|
|
#define CRYPTO_KEY_EXCHANGE XE_MFX_INSTR(2, 6, 9)
|
|
|
|
#endif
|