Home | History | Annotate | Download | only in hwdefs
      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_cmdseq_msg.h
     30 
     31  @Title        Debug driver
     32 
     33  @Platform     </b>\n
     34 
     35  @Description  </b>\n This file contains the VA_CMDSEQ_MSG_H Definitions.
     36 
     37 ******************************************************************************/
     38 #if !defined (__VA_CMDSEQ_MSG_H__)
     39 #define __VA_CMDSEQ_MSG_H__
     40 
     41 #ifdef __cplusplus
     42 extern "C" {
     43 #endif
     44 
     45     /* Deblock parameters */
     46     typedef struct {
     47         uint32_t handle;        /* struct ttm_buffer_object * of REGIO */
     48         uint32_t buffer_size;
     49         uint32_t ctxid;
     50 
     51         uint32_t *pPicparams;
     52         void     *regio_kmap;   /* virtual of regio */
     53         uint32_t pad[3];
     54     } DEBLOCKPARAMS;
     55 
     56     /* Host BE OPP parameters */
     57     typedef struct {
     58         uint32_t handle;        /* struct ttm_buffer_object * of REGIO */
     59         uint32_t buffer_stride;
     60         uint32_t buffer_size;
     61         uint32_t picture_width_mb;
     62         uint32_t size_mb;
     63     } FRAME_INFO_PARAMS;
     64 
     65     typedef struct {
     66         union {
     67             struct {
     68 uint32_t msg_size       :
     69                 8;
     70 uint32_t msg_type       :
     71                 8;
     72 uint32_t msg_fence      :
     73                 16;
     74             } bits;
     75             uint32_t value;
     76         } header;
     77         union {
     78             struct {
     79 uint32_t flags          :
     80                 16;
     81 uint32_t slice_type     :
     82                 8;
     83 uint32_t padding        :
     84                 8;
     85             } bits;
     86             uint32_t value;
     87         } flags;
     88         uint32_t operating_mode;
     89         union {
     90             struct {
     91 uint32_t context        :
     92                 8;
     93 uint32_t mmu_ptd        :
     94                 24;
     95             } bits;
     96             uint32_t value;
     97         } mmu_context;
     98         union {
     99             struct {
    100 uint32_t frame_height_mb        :
    101                 16;
    102 uint32_t pic_width_mb   :
    103                 16;
    104             } bits;
    105             uint32_t value;
    106         } pic_size;
    107         uint32_t address_a0;
    108         uint32_t address_a1;
    109         uint32_t mb_param_address;
    110         uint32_t ext_stride_a;
    111         uint32_t address_b0;
    112         uint32_t address_b1;
    113         uint32_t rotation_flags;
    114         /* additional msg outside of IMG msg */
    115         uint32_t address_c0;
    116         uint32_t address_c1;
    117     } FW_VA_DEBLOCK_MSG;
    118 
    119     /* OOLD message */
    120     typedef struct {
    121         uint32_t pad[5];
    122         uint32_t SOURCE_LUMA_BUFFER_ADDRESS;
    123         uint32_t SOURCE_CHROMA_BUFFER_ADDRESS;
    124         uint32_t SOURCE_MB_PARAM_ADDRESS;
    125         uint32_t TARGET_LUMA_BUFFER_ADDRESS;
    126         uint32_t TARGET_CHROMA_BUFFER_ADDRESS;
    127     } FW_VA_OOLD_MSG;
    128 
    129 struct fw_slice_header_extract_msg {
    130        union {
    131                struct {
    132                        uint32_t msg_size:8;
    133                        uint32_t msg_type:8;
    134                        uint32_t msg_fence:16;
    135                } bits;
    136                uint32_t value;
    137        } header;
    138 
    139        union {
    140                struct {
    141                        uint32_t flags:16;
    142                        uint32_t res:16;
    143                } bits;
    144                uint32_t value;
    145        } flags;
    146 
    147        uint32_t src;
    148 
    149        union {
    150                struct {
    151                        uint32_t context:8;
    152                        uint32_t mmu_ptd:24;
    153                } bits;
    154                uint32_t value;
    155        } mmu_context;
    156 
    157        uint32_t dst;
    158        uint32_t src_size;
    159        uint32_t dst_size;
    160 
    161        union {
    162                struct {
    163                        uint32_t expected_pps_id:8;
    164                        uint32_t nalu_header_unit_type:5;
    165                        uint32_t nalu_header_ref_idc:2;
    166                        uint32_t nalu_header_reserved:1;
    167                        uint32_t continue_parse_flag:1;
    168                        uint32_t frame_mbs_only_flag:1;
    169                        uint32_t pic_order_present_flag:1;
    170                        uint32_t delta_pic_order_always_zero_flag:1;
    171                        uint32_t redundant_pic_cnt_present_flag:1;
    172                        uint32_t weighted_pred_flag:1;
    173                        uint32_t entropy_coding_mode_flag:1;
    174                        uint32_t deblocking_filter_control_present_flag:1;
    175                        uint32_t weighted_bipred_idc:2;
    176                        uint32_t residual_colour_transform_flag:1;
    177                        uint32_t chroma_format_idc:2;
    178                        uint32_t idr_flag:1;
    179                        uint32_t pic_order_cnt_type:2;
    180                } bits;
    181                uint32_t value;
    182        } flag_bitfield;
    183 
    184        union {
    185                struct {
    186                        uint8_t num_slice_groups_minus1:3;
    187                        uint8_t num_ref_idc_l1_active_minus1:5;
    188                        uint8_t slice_group_map_type:3;
    189                        uint8_t num_ref_idc_l0_active_minus1:5;
    190                        uint8_t log2_slice_group_change_cycle:4;
    191                        uint8_t slice_header_bit_offset:4;
    192                        uint8_t log2_max_frame_num_minus4:4;
    193                        uint8_t log2_max_pic_order_cnt_lsb_minus4:4;
    194                } bits;
    195                uint32_t value;
    196        } pic_param0;
    197 };
    198 
    199 #define FW_VA_RENDER_SIZE               (32)
    200 
    201 // FW_VA_RENDER     MSG_SIZE
    202 #define FW_VA_RENDER_MSG_SIZE_ALIGNMENT         (1)
    203 #define FW_VA_RENDER_MSG_SIZE_TYPE              IMG_UINT8
    204 #define FW_VA_RENDER_MSG_SIZE_MASK              (0xFF)
    205 #define FW_VA_RENDER_MSG_SIZE_LSBMASK           (0xFF)
    206 #define FW_VA_RENDER_MSG_SIZE_OFFSET            (0x0000)
    207 #define FW_VA_RENDER_MSG_SIZE_SHIFT             (0)
    208 
    209 // FW_VA_RENDER     ID
    210 #define FW_VA_RENDER_ID_ALIGNMENT               (1)
    211 #define FW_VA_RENDER_ID_TYPE            IMG_UINT8
    212 #define FW_VA_RENDER_ID_MASK            (0xFF)
    213 #define FW_VA_RENDER_ID_LSBMASK         (0xFF)
    214 #define FW_VA_RENDER_ID_OFFSET          (0x0001)
    215 #define FW_VA_RENDER_ID_SHIFT           (0)
    216 
    217 // FW_VA_RENDER     BUFFER_SIZE
    218 #define FW_VA_RENDER_BUFFER_SIZE_ALIGNMENT              (2)
    219 #define FW_VA_RENDER_BUFFER_SIZE_TYPE           IMG_UINT16
    220 #define FW_VA_RENDER_BUFFER_SIZE_MASK           (0x0FFF)
    221 #define FW_VA_RENDER_BUFFER_SIZE_LSBMASK                (0x0FFF)
    222 #define FW_VA_RENDER_BUFFER_SIZE_OFFSET         (0x0002)
    223 #define FW_VA_RENDER_BUFFER_SIZE_SHIFT          (0)
    224 
    225 // FW_VA_RENDER     MMUPTD
    226 #define FW_VA_RENDER_MMUPTD_ALIGNMENT           (4)
    227 #define FW_VA_RENDER_MMUPTD_TYPE                IMG_UINT32
    228 #define FW_VA_RENDER_MMUPTD_MASK                (0xFFFFFFFF)
    229 #define FW_VA_RENDER_MMUPTD_LSBMASK             (0xFFFFFFFF)
    230 #define FW_VA_RENDER_MMUPTD_OFFSET              (0x0004)
    231 #define FW_VA_RENDER_MMUPTD_SHIFT               (0)
    232 
    233 // FW_VA_RENDER     LLDMA_ADDRESS
    234 #define FW_VA_RENDER_LLDMA_ADDRESS_ALIGNMENT            (4)
    235 #define FW_VA_RENDER_LLDMA_ADDRESS_TYPE         IMG_UINT32
    236 #define FW_VA_RENDER_LLDMA_ADDRESS_MASK         (0xFFFFFFFF)
    237 #define FW_VA_RENDER_LLDMA_ADDRESS_LSBMASK              (0xFFFFFFFF)
    238 #define FW_VA_RENDER_LLDMA_ADDRESS_OFFSET               (0x0008)
    239 #define FW_VA_RENDER_LLDMA_ADDRESS_SHIFT                (0)
    240 
    241 // FW_VA_RENDER     CONTEXT
    242 #define FW_VA_RENDER_CONTEXT_ALIGNMENT          (4)
    243 #define FW_VA_RENDER_CONTEXT_TYPE               IMG_UINT32
    244 #define FW_VA_RENDER_CONTEXT_MASK               (0xFFFFFFFF)
    245 #define FW_VA_RENDER_CONTEXT_LSBMASK            (0xFFFFFFFF)
    246 #define FW_VA_RENDER_CONTEXT_OFFSET             (0x000C)
    247 #define FW_VA_RENDER_CONTEXT_SHIFT              (0)
    248 
    249 // FW_VA_RENDER     FENCE_VALUE
    250 #define FW_VA_RENDER_FENCE_VALUE_ALIGNMENT              (4)
    251 #define FW_VA_RENDER_FENCE_VALUE_TYPE           IMG_UINT32
    252 #define FW_VA_RENDER_FENCE_VALUE_MASK           (0xFFFFFFFF)
    253 #define FW_VA_RENDER_FENCE_VALUE_LSBMASK                (0xFFFFFFFF)
    254 #define FW_VA_RENDER_FENCE_VALUE_OFFSET         (0x0010)
    255 #define FW_VA_RENDER_FENCE_VALUE_SHIFT          (0)
    256 
    257 // FW_VA_RENDER     OPERATING_MODE
    258 #define FW_VA_RENDER_OPERATING_MODE_ALIGNMENT           (4)
    259 #define FW_VA_RENDER_OPERATING_MODE_TYPE                IMG_UINT32
    260 #define FW_VA_RENDER_OPERATING_MODE_MASK                (0xFFFFFFFF)
    261 #define FW_VA_RENDER_OPERATING_MODE_LSBMASK             (0xFFFFFFFF)
    262 #define FW_VA_RENDER_OPERATING_MODE_OFFSET              (0x0014)
    263 #define FW_VA_RENDER_OPERATING_MODE_SHIFT               (0)
    264 
    265 // FW_VA_RENDER     FIRST_MB_IN_SLICE
    266 #define FW_VA_RENDER_FIRST_MB_IN_SLICE_ALIGNMENT                (2)
    267 #define FW_VA_RENDER_FIRST_MB_IN_SLICE_TYPE             IMG_UINT16
    268 #define FW_VA_RENDER_FIRST_MB_IN_SLICE_MASK             (0xFFFF)
    269 #define FW_VA_RENDER_FIRST_MB_IN_SLICE_LSBMASK          (0xFFFF)
    270 #define FW_VA_RENDER_FIRST_MB_IN_SLICE_OFFSET           (0x0018)
    271 #define FW_VA_RENDER_FIRST_MB_IN_SLICE_SHIFT            (0)
    272 
    273 // FW_VA_RENDER     LAST_MB_IN_FRAME
    274 #define FW_VA_RENDER_LAST_MB_IN_FRAME_ALIGNMENT         (2)
    275 #define FW_VA_RENDER_LAST_MB_IN_FRAME_TYPE              IMG_UINT16
    276 #define FW_VA_RENDER_LAST_MB_IN_FRAME_MASK              (0xFFFF)
    277 #define FW_VA_RENDER_LAST_MB_IN_FRAME_LSBMASK           (0xFFFF)
    278 #define FW_VA_RENDER_LAST_MB_IN_FRAME_OFFSET            (0x001A)
    279 #define FW_VA_RENDER_LAST_MB_IN_FRAME_SHIFT             (0)
    280 
    281 // FW_VA_RENDER     FLAGS
    282 #define FW_VA_RENDER_FLAGS_ALIGNMENT            (4)
    283 #define FW_VA_RENDER_FLAGS_TYPE         IMG_UINT32
    284 #define FW_VA_RENDER_FLAGS_MASK         (0xFFFFFFFF)
    285 #define FW_VA_RENDER_FLAGS_LSBMASK              (0xFFFFFFFF)
    286 #define FW_VA_RENDER_FLAGS_OFFSET               (0x001C)
    287 #define FW_VA_RENDER_FLAGS_SHIFT                (0)
    288 
    289 #define FW_DEVA_DECODE_SIZE             (20)
    290 
    291 // FW_DEVA_DECODE     MSG_ID
    292 #define FW_DEVA_DECODE_MSG_ID_ALIGNMENT         (2)
    293 #define FW_DEVA_DECODE_MSG_ID_TYPE              IMG_UINT16
    294 #define FW_DEVA_DECODE_MSG_ID_MASK              (0xFFFF)
    295 #define FW_DEVA_DECODE_MSG_ID_LSBMASK           (0xFFFF)
    296 #define FW_DEVA_DECODE_MSG_ID_OFFSET            (0x0002)
    297 #define FW_DEVA_DECODE_MSG_ID_SHIFT             (0)
    298 
    299 // FW_DEVA_DECODE     ID
    300 #define FW_DEVA_DECODE_ID_ALIGNMENT             (1)
    301 #define FW_DEVA_DECODE_ID_TYPE          IMG_UINT8
    302 #define FW_DEVA_DECODE_ID_MASK          (0xFF)
    303 #define FW_DEVA_DECODE_ID_LSBMASK               (0xFF)
    304 #define FW_DEVA_DECODE_ID_OFFSET                (0x0001)
    305 #define FW_DEVA_DECODE_ID_SHIFT         (0)
    306 
    307 // FW_DEVA_DECODE     MSG_SIZE
    308 #define FW_DEVA_DECODE_MSG_SIZE_ALIGNMENT               (1)
    309 #define FW_DEVA_DECODE_MSG_SIZE_TYPE            IMG_UINT8
    310 #define FW_DEVA_DECODE_MSG_SIZE_MASK            (0xFF)
    311 #define FW_DEVA_DECODE_MSG_SIZE_LSBMASK         (0xFF)
    312 #define FW_DEVA_DECODE_MSG_SIZE_OFFSET          (0x0000)
    313 #define FW_DEVA_DECODE_MSG_SIZE_SHIFT           (0)
    314 
    315 // FW_DEVA_DECODE     FLAGS
    316 #define FW_DEVA_DECODE_FLAGS_ALIGNMENT          (2)
    317 #define FW_DEVA_DECODE_FLAGS_TYPE               IMG_UINT16
    318 #define FW_DEVA_DECODE_FLAGS_MASK               (0xFFFF)
    319 #define FW_DEVA_DECODE_FLAGS_LSBMASK            (0xFFFF)
    320 #define FW_DEVA_DECODE_FLAGS_OFFSET             (0x0004)
    321 #define FW_DEVA_DECODE_FLAGS_SHIFT              (0)
    322 
    323 // FW_DEVA_DECODE     BUFFER_SIZE
    324 #define FW_DEVA_DECODE_BUFFER_SIZE_ALIGNMENT            (2)
    325 #define FW_DEVA_DECODE_BUFFER_SIZE_TYPE         IMG_UINT16
    326 #define FW_DEVA_DECODE_BUFFER_SIZE_MASK         (0xFFFF)
    327 #define FW_DEVA_DECODE_BUFFER_SIZE_LSBMASK              (0xFFFF)
    328 #define FW_DEVA_DECODE_BUFFER_SIZE_OFFSET               (0x0006)
    329 #define FW_DEVA_DECODE_BUFFER_SIZE_SHIFT                (0)
    330 
    331 // FW_DEVA_DECODE     LLDMA_ADDRESS
    332 #define FW_DEVA_DECODE_LLDMA_ADDRESS_ALIGNMENT          (4)
    333 #define FW_DEVA_DECODE_LLDMA_ADDRESS_TYPE               IMG_UINT32
    334 #define FW_DEVA_DECODE_LLDMA_ADDRESS_MASK               (0xFFFFFFFF)
    335 #define FW_DEVA_DECODE_LLDMA_ADDRESS_LSBMASK            (0xFFFFFFFF)
    336 #define FW_DEVA_DECODE_LLDMA_ADDRESS_OFFSET             (0x0008)
    337 #define FW_DEVA_DECODE_LLDMA_ADDRESS_SHIFT              (0)
    338 
    339 // FW_DEVA_DECODE     MMUPTD
    340 #define FW_DEVA_DECODE_MMUPTD_ALIGNMENT         (4)
    341 #define FW_DEVA_DECODE_MMUPTD_TYPE              IMG_UINT32
    342 #define FW_DEVA_DECODE_MMUPTD_MASK              (0xFFFFFF00)
    343 #define FW_DEVA_DECODE_MMUPTD_LSBMASK           (0x00FFFFFF)
    344 #define FW_DEVA_DECODE_MMUPTD_OFFSET            (0x000C)
    345 #define FW_DEVA_DECODE_MMUPTD_SHIFT             (8)
    346 
    347 // FW_DEVA_DECODE     CONTEXT
    348 #define FW_DEVA_DECODE_CONTEXT_ALIGNMENT                (1)
    349 #define FW_DEVA_DECODE_CONTEXT_TYPE             IMG_UINT8
    350 #define FW_DEVA_DECODE_CONTEXT_MASK             (0xFF)
    351 #define FW_DEVA_DECODE_CONTEXT_LSBMASK          (0xFF)
    352 #define FW_DEVA_DECODE_CONTEXT_OFFSET           (0x000C)
    353 
    354 #define FW_VA_DEBLOCK_SIZE              (16 + 32) /* 32 bytes for DEBLOCKPARAMS */
    355 #define FW_DEVA_DEBLOCK_SIZE            (48)
    356 
    357 #define FW_DEVA_DECODE_CONTEXT_SHIFT            (0)
    358 
    359 // FW_DEVA_DECODE     OPERATING_MODE
    360 #define FW_DEVA_DECODE_OPERATING_MODE_ALIGNMENT         (4)
    361 #define FW_DEVA_DECODE_OPERATING_MODE_TYPE              IMG_UINT32
    362 #define FW_DEVA_DECODE_OPERATING_MODE_MASK              (0xFFFFFFFF)
    363 #define FW_DEVA_DECODE_OPERATING_MODE_LSBMASK           (0xFFFFFFFF)
    364 #define FW_DEVA_DECODE_OPERATING_MODE_OFFSET            (0x0010)
    365 #define FW_DEVA_DECODE_OPERATING_MODE_SHIFT             (0)
    366 
    367 // FW_VA_DEBLOCK     MSG_SIZE
    368 #define FW_VA_DEBLOCK_MSG_SIZE_ALIGNMENT                (1)
    369 #define FW_VA_DEBLOCK_MSG_SIZE_TYPE             IMG_UINT8
    370 #define FW_VA_DEBLOCK_MSG_SIZE_MASK             (0xFF)
    371 #define FW_VA_DEBLOCK_MSG_SIZE_LSBMASK          (0xFF)
    372 #define FW_VA_DEBLOCK_MSG_SIZE_OFFSET           (0x0000)
    373 #define FW_VA_DEBLOCK_MSG_SIZE_SHIFT            (0)
    374 
    375 // FW_VA_DEBLOCK     ID
    376 #define FW_VA_DEBLOCK_ID_ALIGNMENT              (1)
    377 #define FW_VA_DEBLOCK_ID_TYPE           IMG_UINT8
    378 #define FW_VA_DEBLOCK_ID_MASK           (0xFF)
    379 #define FW_VA_DEBLOCK_ID_LSBMASK                (0xFF)
    380 #define FW_VA_DEBLOCK_ID_OFFSET         (0x0001)
    381 #define FW_VA_DEBLOCK_ID_SHIFT          (0)
    382 
    383 // FW_VA_DEBLOCK     FLAGS
    384 #define FW_VA_DEBLOCK_FLAGS_ALIGNMENT           (2)
    385 #define FW_VA_DEBLOCK_FLAGS_TYPE                IMG_UINT16
    386 #define FW_VA_DEBLOCK_FLAGS_MASK                (0xFFFF)
    387 #define FW_VA_DEBLOCK_FLAGS_LSBMASK             (0xFFFF)
    388 #define FW_VA_DEBLOCK_FLAGS_OFFSET              (0x0002)
    389 #define FW_VA_DEBLOCK_FLAGS_SHIFT               (0)
    390 
    391 // FW_VA_DEBLOCK     CONTEXT
    392 #define FW_VA_DEBLOCK_CONTEXT_ALIGNMENT         (4)
    393 #define FW_VA_DEBLOCK_CONTEXT_TYPE              IMG_UINT32
    394 #define FW_VA_DEBLOCK_CONTEXT_MASK              (0xFFFFFFFF)
    395 #define FW_VA_DEBLOCK_CONTEXT_LSBMASK           (0xFFFFFFFF)
    396 #define FW_VA_DEBLOCK_CONTEXT_OFFSET            (0x0004)
    397 #define FW_VA_DEBLOCK_CONTEXT_SHIFT             (0)
    398 
    399 // FW_VA_DEBLOCK     FENCE_VALUE
    400 #define FW_VA_DEBLOCK_FENCE_VALUE_ALIGNMENT             (4)
    401 #define FW_VA_DEBLOCK_FENCE_VALUE_TYPE          IMG_UINT32
    402 #define FW_VA_DEBLOCK_FENCE_VALUE_MASK          (0xFFFFFFFF)
    403 #define FW_VA_DEBLOCK_FENCE_VALUE_LSBMASK               (0xFFFFFFFF)
    404 #define FW_VA_DEBLOCK_FENCE_VALUE_OFFSET                (0x0008)
    405 #define FW_VA_DEBLOCK_FENCE_VALUE_SHIFT         (0)
    406 
    407 // FW_VA_DEBLOCK     MMUPTD
    408 #define FW_VA_DEBLOCK_MMUPTD_ALIGNMENT          (4)
    409 #define FW_VA_DEBLOCK_MMUPTD_TYPE               IMG_UINT32
    410 #define FW_VA_DEBLOCK_MMUPTD_MASK               (0xFFFFFFFF)
    411 #define FW_VA_DEBLOCK_MMUPTD_LSBMASK            (0xFFFFFFFF)
    412 #define FW_VA_DEBLOCK_MMUPTD_OFFSET             (0x000C)
    413 #define FW_VA_DEBLOCK_MMUPTD_SHIFT              (0)
    414 
    415 #define FW_VA_OOLD_SIZE         (40)
    416 
    417 // FW_VA_OOLD     MSG_SIZE
    418 #define FW_VA_OOLD_MSG_SIZE_ALIGNMENT           (1)
    419 #define FW_VA_OOLD_MSG_SIZE_TYPE                IMG_UINT8
    420 #define FW_VA_OOLD_MSG_SIZE_MASK                (0xFF)
    421 #define FW_VA_OOLD_MSG_SIZE_LSBMASK             (0xFF)
    422 #define FW_VA_OOLD_MSG_SIZE_OFFSET              (0x0000)
    423 #define FW_VA_OOLD_MSG_SIZE_SHIFT               (0)
    424 
    425 // FW_VA_OOLD     ID
    426 #define FW_VA_OOLD_ID_ALIGNMENT         (1)
    427 #define FW_VA_OOLD_ID_TYPE              IMG_UINT8
    428 #define FW_VA_OOLD_ID_MASK              (0xFF)
    429 #define FW_VA_OOLD_ID_LSBMASK           (0xFF)
    430 #define FW_VA_OOLD_ID_OFFSET            (0x0001)
    431 #define FW_VA_OOLD_ID_SHIFT             (0)
    432 
    433 // FW_VA_OOLD     SLICE_FIELD_TYPE
    434 #define FW_VA_OOLD_SLICE_FIELD_TYPE_ALIGNMENT           (1)
    435 #define FW_VA_OOLD_SLICE_FIELD_TYPE_TYPE                IMG_UINT8
    436 #define FW_VA_OOLD_SLICE_FIELD_TYPE_MASK                (0x03)
    437 #define FW_VA_OOLD_SLICE_FIELD_TYPE_LSBMASK             (0x03)
    438 #define FW_VA_OOLD_SLICE_FIELD_TYPE_OFFSET              (0x0002)
    439 #define FW_VA_OOLD_SLICE_FIELD_TYPE_SHIFT               (0)
    440 
    441 // FW_VA_OOLD     MMUPTD
    442 #define FW_VA_OOLD_MMUPTD_ALIGNMENT             (4)
    443 #define FW_VA_OOLD_MMUPTD_TYPE          IMG_UINT32
    444 #define FW_VA_OOLD_MMUPTD_MASK          (0xFFFFFFFF)
    445 #define FW_VA_OOLD_MMUPTD_LSBMASK               (0xFFFFFFFF)
    446 #define FW_VA_OOLD_MMUPTD_OFFSET                (0x0004)
    447 #define FW_VA_OOLD_MMUPTD_SHIFT         (0)
    448 
    449 // FW_VA_OOLD     FENCE_VALUE
    450 #define FW_VA_OOLD_FENCE_VALUE_ALIGNMENT                (4)
    451 #define FW_VA_OOLD_FENCE_VALUE_TYPE             IMG_UINT32
    452 #define FW_VA_OOLD_FENCE_VALUE_MASK             (0xFFFFFFFF)
    453 #define FW_VA_OOLD_FENCE_VALUE_LSBMASK          (0xFFFFFFFF)
    454 #define FW_VA_OOLD_FENCE_VALUE_OFFSET           (0x0008)
    455 #define FW_VA_OOLD_FENCE_VALUE_SHIFT            (0)
    456 
    457 // FW_VA_OOLD     OPERATING_MODE
    458 #define FW_VA_OOLD_OPERATING_MODE_ALIGNMENT             (4)
    459 #define FW_VA_OOLD_OPERATING_MODE_TYPE          IMG_UINT32
    460 #define FW_VA_OOLD_OPERATING_MODE_MASK          (0xFFFFFFFF)
    461 #define FW_VA_OOLD_OPERATING_MODE_LSBMASK               (0xFFFFFFFF)
    462 #define FW_VA_OOLD_OPERATING_MODE_OFFSET                (0x000C)
    463 #define FW_VA_OOLD_OPERATING_MODE_SHIFT         (0)
    464 
    465 // FW_VA_OOLD     FRAME_HEIGHT_MBS
    466 #define FW_VA_OOLD_FRAME_HEIGHT_MBS_ALIGNMENT           (2)
    467 #define FW_VA_OOLD_FRAME_HEIGHT_MBS_TYPE                IMG_UINT16
    468 #define FW_VA_OOLD_FRAME_HEIGHT_MBS_MASK                (0xFFFF)
    469 #define FW_VA_OOLD_FRAME_HEIGHT_MBS_LSBMASK             (0xFFFF)
    470 #define FW_VA_OOLD_FRAME_HEIGHT_MBS_OFFSET              (0x0010)
    471 #define FW_VA_OOLD_FRAME_HEIGHT_MBS_SHIFT               (0)
    472 
    473 // FW_VA_OOLD     PIC_WIDTH_MBS
    474 #define FW_VA_OOLD_PIC_WIDTH_MBS_ALIGNMENT              (2)
    475 #define FW_VA_OOLD_PIC_WIDTH_MBS_TYPE           IMG_UINT16
    476 #define FW_VA_OOLD_PIC_WIDTH_MBS_MASK           (0xFFFF)
    477 #define FW_VA_OOLD_PIC_WIDTH_MBS_LSBMASK                (0xFFFF)
    478 #define FW_VA_OOLD_PIC_WIDTH_MBS_OFFSET         (0x0012)
    479 #define FW_VA_OOLD_PIC_WIDTH_MBS_SHIFT          (0)
    480 
    481 // FW_VA_OOLD     SOURCE_LUMA_BUFFER_ADDRESS
    482 #define FW_VA_OOLD_SOURCE_LUMA_BUFFER_ADDRESS_ALIGNMENT         (4)
    483 #define FW_VA_OOLD_SOURCE_LUMA_BUFFER_ADDRESS_TYPE              IMG_UINT32
    484 #define FW_VA_OOLD_SOURCE_LUMA_BUFFER_ADDRESS_MASK              (0xFFFFFFFF)
    485 #define FW_VA_OOLD_SOURCE_LUMA_BUFFER_ADDRESS_LSBMASK           (0xFFFFFFFF)
    486 #define FW_VA_OOLD_SOURCE_LUMA_BUFFER_ADDRESS_OFFSET            (0x0014)
    487 #define FW_VA_OOLD_SOURCE_LUMA_BUFFER_ADDRESS_SHIFT             (0)
    488 
    489 // FW_VA_OOLD     SOURCE_CHROMA_BUFFER_ADDRESS
    490 #define FW_VA_OOLD_SOURCE_CHROMA_BUFFER_ADDRESS_ALIGNMENT               (4)
    491 #define FW_VA_OOLD_SOURCE_CHROMA_BUFFER_ADDRESS_TYPE            IMG_UINT32
    492 #define FW_VA_OOLD_SOURCE_CHROMA_BUFFER_ADDRESS_MASK            (0xFFFFFFFF)
    493 #define FW_VA_OOLD_SOURCE_CHROMA_BUFFER_ADDRESS_LSBMASK         (0xFFFFFFFF)
    494 #define FW_VA_OOLD_SOURCE_CHROMA_BUFFER_ADDRESS_OFFSET          (0x0018)
    495 #define FW_VA_OOLD_SOURCE_CHROMA_BUFFER_ADDRESS_SHIFT           (0)
    496 
    497 // FW_VA_OOLD     SOURCE_MB_PARAM_ADDRESS
    498 #define FW_VA_OOLD_SOURCE_MB_PARAM_ADDRESS_ALIGNMENT            (4)
    499 #define FW_VA_OOLD_SOURCE_MB_PARAM_ADDRESS_TYPE         IMG_UINT32
    500 #define FW_VA_OOLD_SOURCE_MB_PARAM_ADDRESS_MASK         (0xFFFFFFFF)
    501 #define FW_VA_OOLD_SOURCE_MB_PARAM_ADDRESS_LSBMASK              (0xFFFFFFFF)
    502 #define FW_VA_OOLD_SOURCE_MB_PARAM_ADDRESS_OFFSET               (0x001C)
    503 #define FW_VA_OOLD_SOURCE_MB_PARAM_ADDRESS_SHIFT                (0)
    504 
    505 // FW_VA_OOLD     TARGET_LUMA_BUFFER_ADDRESS
    506 #define FW_VA_OOLD_TARGET_LUMA_BUFFER_ADDRESS_ALIGNMENT         (4)
    507 #define FW_VA_OOLD_TARGET_LUMA_BUFFER_ADDRESS_TYPE              IMG_UINT32
    508 #define FW_VA_OOLD_TARGET_LUMA_BUFFER_ADDRESS_MASK              (0xFFFFFFFF)
    509 #define FW_VA_OOLD_TARGET_LUMA_BUFFER_ADDRESS_LSBMASK           (0xFFFFFFFF)
    510 #define FW_VA_OOLD_TARGET_LUMA_BUFFER_ADDRESS_OFFSET            (0x0020)
    511 #define FW_VA_OOLD_TARGET_LUMA_BUFFER_ADDRESS_SHIFT             (0)
    512 
    513 // FW_VA_OOLD     TARGET_CHROMA_BUFFER_ADDRESS
    514 #define FW_VA_OOLD_TARGET_CHROMA_BUFFER_ADDRESS_ALIGNMENT               (4)
    515 #define FW_VA_OOLD_TARGET_CHROMA_BUFFER_ADDRESS_TYPE            IMG_UINT32
    516 #define FW_VA_OOLD_TARGET_CHROMA_BUFFER_ADDRESS_MASK            (0xFFFFFFFF)
    517 #define FW_VA_OOLD_TARGET_CHROMA_BUFFER_ADDRESS_LSBMASK         (0xFFFFFFFF)
    518 #define FW_VA_OOLD_TARGET_CHROMA_BUFFER_ADDRESS_OFFSET          (0x0024)
    519 #define FW_VA_OOLD_TARGET_CHROMA_BUFFER_ADDRESS_SHIFT           (0)
    520 
    521 #define FW_VA_CMD_COMPLETED_SIZE                (12)
    522 
    523 // FW_VA_CMD_COMPLETED     MSG_SIZE
    524 #define FW_VA_CMD_COMPLETED_MSG_SIZE_ALIGNMENT          (1)
    525 #define FW_VA_CMD_COMPLETED_MSG_SIZE_TYPE               IMG_UINT8
    526 #define FW_VA_CMD_COMPLETED_MSG_SIZE_MASK               (0xFF)
    527 #define FW_VA_CMD_COMPLETED_MSG_SIZE_LSBMASK            (0xFF)
    528 #define FW_VA_CMD_COMPLETED_MSG_SIZE_OFFSET             (0x0000)
    529 #define FW_VA_CMD_COMPLETED_MSG_SIZE_SHIFT              (0)
    530 
    531 // FW_VA_CMD_COMPLETED     ID
    532 #define FW_VA_CMD_COMPLETED_ID_ALIGNMENT                (1)
    533 #define FW_VA_CMD_COMPLETED_ID_TYPE             IMG_UINT8
    534 #define FW_VA_CMD_COMPLETED_ID_MASK             (0xFF)
    535 #define FW_VA_CMD_COMPLETED_ID_LSBMASK          (0xFF)
    536 #define FW_VA_CMD_COMPLETED_ID_OFFSET           (0x0001)
    537 #define FW_VA_CMD_COMPLETED_ID_SHIFT            (0)
    538 
    539 // FW_VA_CMD_COMPLETED     FENCE_VALUE
    540 #define FW_VA_CMD_COMPLETED_FENCE_VALUE_ALIGNMENT               (4)
    541 #define FW_VA_CMD_COMPLETED_FENCE_VALUE_TYPE            IMG_UINT32
    542 #define FW_VA_CMD_COMPLETED_FENCE_VALUE_MASK            (0xFFFFFFFF)
    543 #define FW_VA_CMD_COMPLETED_FENCE_VALUE_LSBMASK         (0xFFFFFFFF)
    544 #define FW_VA_CMD_COMPLETED_FENCE_VALUE_OFFSET          (0x0004)
    545 #define FW_VA_CMD_COMPLETED_FENCE_VALUE_SHIFT           (0)
    546 
    547 // FW_VA_CMD_COMPLETED     FLAGS
    548 #define FW_VA_CMD_COMPLETED_FLAGS_ALIGNMENT             (4)
    549 #define FW_VA_CMD_COMPLETED_FLAGS_TYPE          IMG_UINT32
    550 #define FW_VA_CMD_COMPLETED_FLAGS_MASK          (0xFFFFFFFF)
    551 #define FW_VA_CMD_COMPLETED_FLAGS_LSBMASK               (0xFFFFFFFF)
    552 #define FW_VA_CMD_COMPLETED_FLAGS_OFFSET                (0x0008)
    553 #define FW_VA_CMD_COMPLETED_FLAGS_SHIFT         (0)
    554 
    555 #define FW_VA_CMD_FAILED_SIZE           (12)
    556 
    557 // FW_VA_CMD_FAILED     MSG_SIZE
    558 #define FW_VA_CMD_FAILED_MSG_SIZE_ALIGNMENT             (1)
    559 #define FW_VA_CMD_FAILED_MSG_SIZE_TYPE          IMG_UINT8
    560 #define FW_VA_CMD_FAILED_MSG_SIZE_MASK          (0xFF)
    561 #define FW_VA_CMD_FAILED_MSG_SIZE_LSBMASK               (0xFF)
    562 #define FW_VA_CMD_FAILED_MSG_SIZE_OFFSET                (0x0000)
    563 #define FW_VA_CMD_FAILED_MSG_SIZE_SHIFT         (0)
    564 
    565 // FW_VA_CMD_FAILED     ID
    566 #define FW_VA_CMD_FAILED_ID_ALIGNMENT           (1)
    567 #define FW_VA_CMD_FAILED_ID_TYPE                IMG_UINT8
    568 #define FW_VA_CMD_FAILED_ID_MASK                (0xFF)
    569 #define FW_VA_CMD_FAILED_ID_LSBMASK             (0xFF)
    570 #define FW_VA_CMD_FAILED_ID_OFFSET              (0x0001)
    571 #define FW_VA_CMD_FAILED_ID_SHIFT               (0)
    572 
    573 // FW_VA_CMD_FAILED     FLAGS
    574 #define FW_VA_CMD_FAILED_FLAGS_ALIGNMENT                (2)
    575 #define FW_VA_CMD_FAILED_FLAGS_TYPE             IMG_UINT16
    576 #define FW_VA_CMD_FAILED_FLAGS_MASK             (0xFFFF)
    577 #define FW_VA_CMD_FAILED_FLAGS_LSBMASK          (0xFFFF)
    578 #define FW_VA_CMD_FAILED_FLAGS_OFFSET           (0x0002)
    579 #define FW_VA_CMD_FAILED_FLAGS_SHIFT            (0)
    580 
    581 // FW_VA_CMD_FAILED     FENCE_VALUE
    582 #define FW_VA_CMD_FAILED_FENCE_VALUE_ALIGNMENT          (4)
    583 #define FW_VA_CMD_FAILED_FENCE_VALUE_TYPE               IMG_UINT32
    584 #define FW_VA_CMD_FAILED_FENCE_VALUE_MASK               (0xFFFFFFFF)
    585 #define FW_VA_CMD_FAILED_FENCE_VALUE_LSBMASK            (0xFFFFFFFF)
    586 #define FW_VA_CMD_FAILED_FENCE_VALUE_OFFSET             (0x0004)
    587 #define FW_VA_CMD_FAILED_FENCE_VALUE_SHIFT              (0)
    588 
    589 // FW_VA_CMD_FAILED     IRQSTATUS
    590 #define FW_VA_CMD_FAILED_IRQSTATUS_ALIGNMENT            (4)
    591 #define FW_VA_CMD_FAILED_IRQSTATUS_TYPE         IMG_UINT32
    592 #define FW_VA_CMD_FAILED_IRQSTATUS_MASK         (0xFFFFFFFF)
    593 #define FW_VA_CMD_FAILED_IRQSTATUS_LSBMASK              (0xFFFFFFFF)
    594 #define FW_VA_CMD_FAILED_IRQSTATUS_OFFSET               (0x0008)
    595 #define FW_VA_CMD_FAILED_IRQSTATUS_SHIFT                (0)
    596 
    597 #define FW_VA_DEBLOCK_REQUIRED_SIZE             (8)
    598 
    599 // FW_VA_DEBLOCK_REQUIRED     MSG_SIZE
    600 #define FW_VA_DEBLOCK_REQUIRED_MSG_SIZE_ALIGNMENT               (1)
    601 #define FW_VA_DEBLOCK_REQUIRED_MSG_SIZE_TYPE            IMG_UINT8
    602 #define FW_VA_DEBLOCK_REQUIRED_MSG_SIZE_MASK            (0xFF)
    603 #define FW_VA_DEBLOCK_REQUIRED_MSG_SIZE_LSBMASK         (0xFF)
    604 #define FW_VA_DEBLOCK_REQUIRED_MSG_SIZE_OFFSET          (0x0000)
    605 #define FW_VA_DEBLOCK_REQUIRED_MSG_SIZE_SHIFT           (0)
    606 
    607 // FW_VA_DEBLOCK_REQUIRED     ID
    608 #define FW_VA_DEBLOCK_REQUIRED_ID_ALIGNMENT             (1)
    609 #define FW_VA_DEBLOCK_REQUIRED_ID_TYPE          IMG_UINT8
    610 #define FW_VA_DEBLOCK_REQUIRED_ID_MASK          (0xFF)
    611 #define FW_VA_DEBLOCK_REQUIRED_ID_LSBMASK               (0xFF)
    612 #define FW_VA_DEBLOCK_REQUIRED_ID_OFFSET                (0x0001)
    613 #define FW_VA_DEBLOCK_REQUIRED_ID_SHIFT         (0)
    614 
    615 // FW_VA_DEBLOCK_REQUIRED     CONTEXT
    616 #define FW_VA_DEBLOCK_REQUIRED_CONTEXT_ALIGNMENT                (4)
    617 #define FW_VA_DEBLOCK_REQUIRED_CONTEXT_TYPE             IMG_UINT32
    618 #define FW_VA_DEBLOCK_REQUIRED_CONTEXT_MASK             (0xFFFFFFFF)
    619 #define FW_VA_DEBLOCK_REQUIRED_CONTEXT_LSBMASK          (0xFFFFFFFF)
    620 #define FW_VA_DEBLOCK_REQUIRED_CONTEXT_OFFSET           (0x0004)
    621 #define FW_VA_DEBLOCK_REQUIRED_CONTEXT_SHIFT            (0)
    622 
    623 #define FW_VA_HW_PANIC_SIZE             (12)
    624 
    625 // FW_VA_HW_PANIC     FLAGS
    626 #define FW_VA_HW_PANIC_FLAGS_ALIGNMENT          (2)
    627 #define FW_VA_HW_PANIC_FLAGS_TYPE               IMG_UINT16
    628 #define FW_VA_HW_PANIC_FLAGS_MASK               (0xFFFF)
    629 #define FW_VA_HW_PANIC_FLAGS_LSBMASK            (0xFFFF)
    630 #define FW_VA_HW_PANIC_FLAGS_OFFSET             (0x0002)
    631 #define FW_VA_HW_PANIC_FLAGS_SHIFT              (0)
    632 
    633 // FW_VA_HW_PANIC     MSG_SIZE
    634 #define FW_VA_HW_PANIC_MSG_SIZE_ALIGNMENT               (1)
    635 #define FW_VA_HW_PANIC_MSG_SIZE_TYPE            IMG_UINT8
    636 #define FW_VA_HW_PANIC_MSG_SIZE_MASK            (0xFF)
    637 #define FW_VA_HW_PANIC_MSG_SIZE_LSBMASK         (0xFF)
    638 #define FW_VA_HW_PANIC_MSG_SIZE_OFFSET          (0x0000)
    639 #define FW_VA_HW_PANIC_MSG_SIZE_SHIFT           (0)
    640 
    641 // FW_VA_HW_PANIC     ID
    642 #define FW_VA_HW_PANIC_ID_ALIGNMENT             (1)
    643 #define FW_VA_HW_PANIC_ID_TYPE          IMG_UINT8
    644 #define FW_VA_HW_PANIC_ID_MASK          (0xFF)
    645 #define FW_VA_HW_PANIC_ID_LSBMASK               (0xFF)
    646 #define FW_VA_HW_PANIC_ID_OFFSET                (0x0001)
    647 #define FW_VA_HW_PANIC_ID_SHIFT         (0)
    648 
    649 // FW_VA_HW_PANIC     FENCE_VALUE
    650 #define FW_VA_HW_PANIC_FENCE_VALUE_ALIGNMENT            (4)
    651 #define FW_VA_HW_PANIC_FENCE_VALUE_TYPE         IMG_UINT32
    652 #define FW_VA_HW_PANIC_FENCE_VALUE_MASK         (0xFFFFFFFF)
    653 #define FW_VA_HW_PANIC_FENCE_VALUE_LSBMASK              (0xFFFFFFFF)
    654 #define FW_VA_HW_PANIC_FENCE_VALUE_OFFSET               (0x0004)
    655 #define FW_VA_HW_PANIC_FENCE_VALUE_SHIFT                (0)
    656 
    657 // FW_VA_HW_PANIC     IRQSTATUS
    658 #define FW_VA_HW_PANIC_IRQSTATUS_ALIGNMENT              (4)
    659 #define FW_VA_HW_PANIC_IRQSTATUS_TYPE           IMG_UINT32
    660 #define FW_VA_HW_PANIC_IRQSTATUS_MASK           (0xFFFFFFFF)
    661 #define FW_VA_HW_PANIC_IRQSTATUS_LSBMASK                (0xFFFFFFFF)
    662 #define FW_VA_HW_PANIC_IRQSTATUS_OFFSET         (0x0008)
    663 #define FW_VA_HW_PANIC_IRQSTATUS_SHIFT          (0)
    664 
    665 #define FW_VA_HOST_BE_OPP_SIZE 48
    666 // FW_VA_HOST_BE_OPP     CONTEXT
    667 #define FW_VA_HOST_BE_OPP_CONTEXT_ALIGNMENT             (1)
    668 #define FW_VA_HOST_BE_OPP_CONTEXT_TYPE          IMG_UINT8
    669 #define FW_VA_HOST_BE_OPP_CONTEXT_MASK          (0xF)
    670 #define FW_VA_HOST_BE_OPP_CONTEXT_LSBMASK       (0xF)
    671 #define FW_VA_HOST_BE_OPP_CONTEXT_OFFSET        (0x000C)
    672 #define FW_VA_HOST_BE_OPP_CONTEXT_SHIFT         (0)
    673 
    674 // FW_VA_HOST_BE_OPP    FLAGS
    675 #define FW_VA_HOST_BE_OPP_FLAGS_ALIGNMENT               (2)
    676 #define FW_VA_HOST_BE_OPP_FLAGS_TYPE            IMG_UINT16
    677 #define FW_VA_HOST_BE_OPP_FLAGS_MASK            (0xFFFF)
    678 #define FW_VA_HOST_BE_OPP_FLAGS_LSBMASK         (0xFFFF)
    679 #define FW_VA_HOST_BE_OPP_FLAGS_OFFSET          (0x0004)
    680 #define FW_VA_HOST_BE_OPP_FLAGS_SHIFT           (0)
    681 
    682 #define FW_VA_FRAME_INFO_SIZE 24 /* 20 bytes for FRAME_INFO_PARAMS */
    683 
    684 #ifdef __cplusplus
    685 }
    686 #endif
    687 
    688 #endif /* __VA_CMDSEQ_MSG_H__ */
    689