1 /*
2  * Copyright (c) 2011 Intel Corporation. All Rights Reserved.
3  * Copyright (c) Imagination Technologies Limited, UK
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the
7  * "Software"), to deal in the Software without restriction, including
8  * without limitation the rights to use, copy, modify, merge, publish,
9  * distribute, sub license, and/or sell copies of the Software, and to
10  * permit persons to whom the Software is furnished to do so, subject to
11  * the following conditions:
12  *
13  * The above copyright notice and this permission notice (including the
14  * next paragraph) shall be included in all copies or substantial portions
15  * of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
20  * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
21  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24  */
25 
26 
27 /******************************************************************************
28 
29 @File         dxva_msg.h
30 
31 @Title        va Firmware Message Flags
32 
33 @Platform     Independent
34 
35 @Description  </b>\n This file contains the header file information for the VA
36               specific MTX/Host messages
37 
38 ******************************************************************************/
39 #if !defined (__VA_MSG_H__)
40 #define __VA_MSG_H__
41 
42 #if (__cplusplus)
43 extern "C" {
44 #endif
45 
46     /* These come from fwrk_api.h */
47     /* #include <fwrk_api.h>  */
48 #define FWRK_MSGID_START_PSR_HOSTMTX_MSG        (0x80)  //!< Start of parser specific Host->MTX messages.
49 #define FWRK_MSGID_START_PSR_MTXHOST_MSG        (0xC0)  //!< Start of parser specific MTX->Host messages.
50 #define FWRK_MSGID_START_USER_DEFINED_MSG       (0xF0)  //!< Start of parser user defined messages.
51 #define FWRK_MSGID_PADDING                                      ( 0 )
52 
53 #define FWRK_MSGID_HOST_EMULATED                (0x40)
54 
55 
56     /*!
57     ******************************************************************************
58      This type defines the framework specified message ids
59 
60      The messages are packed memory based structures accessed using the mem_io.h
61      macros.  The control values for these are generated from a file called
62      dxva_cmdseq_msg.def using the "regdef" tool.
63 
64     ******************************************************************************/
65     enum {
66         /*! Sent by the VA driver on the host to the mtx firmware.
67          */
68         VA_MSGID_INIT                           = FWRK_MSGID_START_PSR_HOSTMTX_MSG,
69         VA_MSGID_RENDER,
70         VA_MSGID_DEBLOCK,
71         VA_MSGID_OOLD,
72 
73         /* Test Messages */
74         VA_MSGID_TEST1,
75         DAVA_MSGID_HOST_BE_OPP,
76 #ifdef SLICE_HEADER_PARSING
77         VA_MSGID_SLICE_HEADER_EXTRACT = 0x87,
78         VA_MSGID_MODULAR_SLICE_HEADER_EXTRACT = 0x88,
79 #endif
80         /*! Sent by the mtx firmware to itself.
81          */
82         VA_MSGID_RENDER_MC_INTERRUPT,
83 
84         VA_MSGID_DEBLOCK_MFLD = FWRK_MSGID_HOST_EMULATED,
85         VA_MSGID_OOLD_MFLD,
86         VA_MSGID_TEST1_MFLD,
87         VA_MSGID_HOST_BE_OPP_MFLD,
88 
89         /*! Sent by the VA firmware on the MTX to the host.
90          */
91         VA_MSGID_CMD_COMPLETED = FWRK_MSGID_START_PSR_MTXHOST_MSG,
92         VA_MSGID_CMD_COMPLETED_BATCH,
93         VA_MSGID_DEBLOCK_REQUIRED,
94         VA_MSGID_TEST_RESPONCE,
95         VA_MSGID_ACK,
96 
97         VA_MSGID_CMD_FAILED,
98         VA_MSGID_CMD_UNSUPPORTED,
99         VA_MSGID_CMD_HW_PANIC,
100         VA_MSGID_FRAME_INFO = FWRK_MSGID_START_USER_DEFINED_MSG,
101     };
102 
103 #if (__cplusplus)
104 }
105 #endif
106 
107 #endif
108