/* * Copyright (c) 2011 Intel Corporation. All Rights Reserved. * Copyright (c) Imagination Technologies Limited, UK * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sub license, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice (including the * next paragraph) shall be included in all copies or substantial portions * of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /****************************************************************************** @File dxva_cmdseq_msg.h @Title Debug driver @Platform </b>\n @Description </b>\n This file contains the VA_CMDSEQ_MSG_H Definitions. ******************************************************************************/ #if !defined (__VA_CMDSEQ_MSG_H__) #define __VA_CMDSEQ_MSG_H__ #ifdef __cplusplus extern "C" { #endif /* Deblock parameters */ typedef struct { uint32_t handle; /* struct ttm_buffer_object * of REGIO */ uint32_t buffer_size; uint32_t ctxid; uint32_t *pPicparams; void *regio_kmap; /* virtual of regio */ uint32_t pad[3]; } DEBLOCKPARAMS; /* Host BE OPP parameters */ typedef struct { uint32_t handle; /* struct ttm_buffer_object * of REGIO */ uint32_t buffer_stride; uint32_t buffer_size; uint32_t picture_width_mb; uint32_t size_mb; } FRAME_INFO_PARAMS; typedef struct { union { struct { uint32_t msg_size : 8; uint32_t msg_type : 8; uint32_t msg_fence : 16; } bits; uint32_t value; } header; union { struct { uint32_t flags : 16; uint32_t slice_type : 8; uint32_t padding : 8; } bits; uint32_t value; } flags; uint32_t operating_mode; union { struct { uint32_t context : 8; uint32_t mmu_ptd : 24; } bits; uint32_t value; } mmu_context; union { struct { uint32_t frame_height_mb : 16; uint32_t pic_width_mb : 16; } bits; uint32_t value; } pic_size; uint32_t address_a0; uint32_t address_a1; uint32_t mb_param_address; uint32_t ext_stride_a; uint32_t address_b0; uint32_t address_b1; uint32_t rotation_flags; /* additional msg outside of IMG msg */ uint32_t address_c0; uint32_t address_c1; } FW_VA_DEBLOCK_MSG; /* OOLD message */ typedef struct { uint32_t pad[5]; uint32_t SOURCE_LUMA_BUFFER_ADDRESS; uint32_t SOURCE_CHROMA_BUFFER_ADDRESS; uint32_t SOURCE_MB_PARAM_ADDRESS; uint32_t TARGET_LUMA_BUFFER_ADDRESS; uint32_t TARGET_CHROMA_BUFFER_ADDRESS; } FW_VA_OOLD_MSG; struct fw_slice_header_extract_msg { union { struct { uint32_t msg_size:8; uint32_t msg_type:8; uint32_t msg_fence:16; } bits; uint32_t value; } header; union { struct { uint32_t flags:16; uint32_t res:16; } bits; uint32_t value; } flags; uint32_t src; union { struct { uint32_t context:8; uint32_t mmu_ptd:24; } bits; uint32_t value; } mmu_context; uint32_t dst; uint32_t src_size; uint32_t dst_size; union { struct { uint32_t expected_pps_id:8; uint32_t nalu_header_unit_type:5; uint32_t nalu_header_ref_idc:2; uint32_t nalu_header_reserved:1; uint32_t continue_parse_flag:1; uint32_t frame_mbs_only_flag:1; uint32_t pic_order_present_flag:1; uint32_t delta_pic_order_always_zero_flag:1; uint32_t redundant_pic_cnt_present_flag:1; uint32_t weighted_pred_flag:1; uint32_t entropy_coding_mode_flag:1; uint32_t deblocking_filter_control_present_flag:1; uint32_t weighted_bipred_idc:2; uint32_t residual_colour_transform_flag:1; uint32_t chroma_format_idc:2; uint32_t idr_flag:1; uint32_t pic_order_cnt_type:2; } bits; uint32_t value; } flag_bitfield; union { struct { uint8_t num_slice_groups_minus1:3; uint8_t num_ref_idc_l1_active_minus1:5; uint8_t slice_group_map_type:3; uint8_t num_ref_idc_l0_active_minus1:5; uint8_t log2_slice_group_change_cycle:4; uint8_t slice_header_bit_offset:4; uint8_t log2_max_frame_num_minus4:4; uint8_t log2_max_pic_order_cnt_lsb_minus4:4; } bits; uint32_t value; } pic_param0; }; #define FW_VA_RENDER_SIZE (32) // FW_VA_RENDER MSG_SIZE #define FW_VA_RENDER_MSG_SIZE_ALIGNMENT (1) #define FW_VA_RENDER_MSG_SIZE_TYPE IMG_UINT8 #define FW_VA_RENDER_MSG_SIZE_MASK (0xFF) #define FW_VA_RENDER_MSG_SIZE_LSBMASK (0xFF) #define FW_VA_RENDER_MSG_SIZE_OFFSET (0x0000) #define FW_VA_RENDER_MSG_SIZE_SHIFT (0) // FW_VA_RENDER ID #define FW_VA_RENDER_ID_ALIGNMENT (1) #define FW_VA_RENDER_ID_TYPE IMG_UINT8 #define FW_VA_RENDER_ID_MASK (0xFF) #define FW_VA_RENDER_ID_LSBMASK (0xFF) #define FW_VA_RENDER_ID_OFFSET (0x0001) #define FW_VA_RENDER_ID_SHIFT (0) // FW_VA_RENDER BUFFER_SIZE #define FW_VA_RENDER_BUFFER_SIZE_ALIGNMENT (2) #define FW_VA_RENDER_BUFFER_SIZE_TYPE IMG_UINT16 #define FW_VA_RENDER_BUFFER_SIZE_MASK (0x0FFF) #define FW_VA_RENDER_BUFFER_SIZE_LSBMASK (0x0FFF) #define FW_VA_RENDER_BUFFER_SIZE_OFFSET (0x0002) #define FW_VA_RENDER_BUFFER_SIZE_SHIFT (0) // FW_VA_RENDER MMUPTD #define FW_VA_RENDER_MMUPTD_ALIGNMENT (4) #define FW_VA_RENDER_MMUPTD_TYPE IMG_UINT32 #define FW_VA_RENDER_MMUPTD_MASK (0xFFFFFFFF) #define FW_VA_RENDER_MMUPTD_LSBMASK (0xFFFFFFFF) #define FW_VA_RENDER_MMUPTD_OFFSET (0x0004) #define FW_VA_RENDER_MMUPTD_SHIFT (0) // FW_VA_RENDER LLDMA_ADDRESS #define FW_VA_RENDER_LLDMA_ADDRESS_ALIGNMENT (4) #define FW_VA_RENDER_LLDMA_ADDRESS_TYPE IMG_UINT32 #define FW_VA_RENDER_LLDMA_ADDRESS_MASK (0xFFFFFFFF) #define FW_VA_RENDER_LLDMA_ADDRESS_LSBMASK (0xFFFFFFFF) #define FW_VA_RENDER_LLDMA_ADDRESS_OFFSET (0x0008) #define FW_VA_RENDER_LLDMA_ADDRESS_SHIFT (0) // FW_VA_RENDER CONTEXT #define FW_VA_RENDER_CONTEXT_ALIGNMENT (4) #define FW_VA_RENDER_CONTEXT_TYPE IMG_UINT32 #define FW_VA_RENDER_CONTEXT_MASK (0xFFFFFFFF) #define FW_VA_RENDER_CONTEXT_LSBMASK (0xFFFFFFFF) #define FW_VA_RENDER_CONTEXT_OFFSET (0x000C) #define FW_VA_RENDER_CONTEXT_SHIFT (0) // FW_VA_RENDER FENCE_VALUE #define FW_VA_RENDER_FENCE_VALUE_ALIGNMENT (4) #define FW_VA_RENDER_FENCE_VALUE_TYPE IMG_UINT32 #define FW_VA_RENDER_FENCE_VALUE_MASK (0xFFFFFFFF) #define FW_VA_RENDER_FENCE_VALUE_LSBMASK (0xFFFFFFFF) #define FW_VA_RENDER_FENCE_VALUE_OFFSET (0x0010) #define FW_VA_RENDER_FENCE_VALUE_SHIFT (0) // FW_VA_RENDER OPERATING_MODE #define FW_VA_RENDER_OPERATING_MODE_ALIGNMENT (4) #define FW_VA_RENDER_OPERATING_MODE_TYPE IMG_UINT32 #define FW_VA_RENDER_OPERATING_MODE_MASK (0xFFFFFFFF) #define FW_VA_RENDER_OPERATING_MODE_LSBMASK (0xFFFFFFFF) #define FW_VA_RENDER_OPERATING_MODE_OFFSET (0x0014) #define FW_VA_RENDER_OPERATING_MODE_SHIFT (0) // FW_VA_RENDER FIRST_MB_IN_SLICE #define FW_VA_RENDER_FIRST_MB_IN_SLICE_ALIGNMENT (2) #define FW_VA_RENDER_FIRST_MB_IN_SLICE_TYPE IMG_UINT16 #define FW_VA_RENDER_FIRST_MB_IN_SLICE_MASK (0xFFFF) #define FW_VA_RENDER_FIRST_MB_IN_SLICE_LSBMASK (0xFFFF) #define FW_VA_RENDER_FIRST_MB_IN_SLICE_OFFSET (0x0018) #define FW_VA_RENDER_FIRST_MB_IN_SLICE_SHIFT (0) // FW_VA_RENDER LAST_MB_IN_FRAME #define FW_VA_RENDER_LAST_MB_IN_FRAME_ALIGNMENT (2) #define FW_VA_RENDER_LAST_MB_IN_FRAME_TYPE IMG_UINT16 #define FW_VA_RENDER_LAST_MB_IN_FRAME_MASK (0xFFFF) #define FW_VA_RENDER_LAST_MB_IN_FRAME_LSBMASK (0xFFFF) #define FW_VA_RENDER_LAST_MB_IN_FRAME_OFFSET (0x001A) #define FW_VA_RENDER_LAST_MB_IN_FRAME_SHIFT (0) // FW_VA_RENDER FLAGS #define FW_VA_RENDER_FLAGS_ALIGNMENT (4) #define FW_VA_RENDER_FLAGS_TYPE IMG_UINT32 #define FW_VA_RENDER_FLAGS_MASK (0xFFFFFFFF) #define FW_VA_RENDER_FLAGS_LSBMASK (0xFFFFFFFF) #define FW_VA_RENDER_FLAGS_OFFSET (0x001C) #define FW_VA_RENDER_FLAGS_SHIFT (0) #define FW_DEVA_DECODE_SIZE (20) // FW_DEVA_DECODE MSG_ID #define FW_DEVA_DECODE_MSG_ID_ALIGNMENT (2) #define FW_DEVA_DECODE_MSG_ID_TYPE IMG_UINT16 #define FW_DEVA_DECODE_MSG_ID_MASK (0xFFFF) #define FW_DEVA_DECODE_MSG_ID_LSBMASK (0xFFFF) #define FW_DEVA_DECODE_MSG_ID_OFFSET (0x0002) #define FW_DEVA_DECODE_MSG_ID_SHIFT (0) // FW_DEVA_DECODE ID #define FW_DEVA_DECODE_ID_ALIGNMENT (1) #define FW_DEVA_DECODE_ID_TYPE IMG_UINT8 #define FW_DEVA_DECODE_ID_MASK (0xFF) #define FW_DEVA_DECODE_ID_LSBMASK (0xFF) #define FW_DEVA_DECODE_ID_OFFSET (0x0001) #define FW_DEVA_DECODE_ID_SHIFT (0) // FW_DEVA_DECODE MSG_SIZE #define FW_DEVA_DECODE_MSG_SIZE_ALIGNMENT (1) #define FW_DEVA_DECODE_MSG_SIZE_TYPE IMG_UINT8 #define FW_DEVA_DECODE_MSG_SIZE_MASK (0xFF) #define FW_DEVA_DECODE_MSG_SIZE_LSBMASK (0xFF) #define FW_DEVA_DECODE_MSG_SIZE_OFFSET (0x0000) #define FW_DEVA_DECODE_MSG_SIZE_SHIFT (0) // FW_DEVA_DECODE FLAGS #define FW_DEVA_DECODE_FLAGS_ALIGNMENT (2) #define FW_DEVA_DECODE_FLAGS_TYPE IMG_UINT16 #define FW_DEVA_DECODE_FLAGS_MASK (0xFFFF) #define FW_DEVA_DECODE_FLAGS_LSBMASK (0xFFFF) #define FW_DEVA_DECODE_FLAGS_OFFSET (0x0004) #define FW_DEVA_DECODE_FLAGS_SHIFT (0) // FW_DEVA_DECODE BUFFER_SIZE #define FW_DEVA_DECODE_BUFFER_SIZE_ALIGNMENT (2) #define FW_DEVA_DECODE_BUFFER_SIZE_TYPE IMG_UINT16 #define FW_DEVA_DECODE_BUFFER_SIZE_MASK (0xFFFF) #define FW_DEVA_DECODE_BUFFER_SIZE_LSBMASK (0xFFFF) #define FW_DEVA_DECODE_BUFFER_SIZE_OFFSET (0x0006) #define FW_DEVA_DECODE_BUFFER_SIZE_SHIFT (0) // FW_DEVA_DECODE LLDMA_ADDRESS #define FW_DEVA_DECODE_LLDMA_ADDRESS_ALIGNMENT (4) #define FW_DEVA_DECODE_LLDMA_ADDRESS_TYPE IMG_UINT32 #define FW_DEVA_DECODE_LLDMA_ADDRESS_MASK (0xFFFFFFFF) #define FW_DEVA_DECODE_LLDMA_ADDRESS_LSBMASK (0xFFFFFFFF) #define FW_DEVA_DECODE_LLDMA_ADDRESS_OFFSET (0x0008) #define FW_DEVA_DECODE_LLDMA_ADDRESS_SHIFT (0) // FW_DEVA_DECODE MMUPTD #define FW_DEVA_DECODE_MMUPTD_ALIGNMENT (4) #define FW_DEVA_DECODE_MMUPTD_TYPE IMG_UINT32 #define FW_DEVA_DECODE_MMUPTD_MASK (0xFFFFFF00) #define FW_DEVA_DECODE_MMUPTD_LSBMASK (0x00FFFFFF) #define FW_DEVA_DECODE_MMUPTD_OFFSET (0x000C) #define FW_DEVA_DECODE_MMUPTD_SHIFT (8) // FW_DEVA_DECODE CONTEXT #define FW_DEVA_DECODE_CONTEXT_ALIGNMENT (1) #define FW_DEVA_DECODE_CONTEXT_TYPE IMG_UINT8 #define FW_DEVA_DECODE_CONTEXT_MASK (0xFF) #define FW_DEVA_DECODE_CONTEXT_LSBMASK (0xFF) #define FW_DEVA_DECODE_CONTEXT_OFFSET (0x000C) #define FW_VA_DEBLOCK_SIZE (16 + 32) /* 32 bytes for DEBLOCKPARAMS */ #define FW_DEVA_DEBLOCK_SIZE (48) #define FW_DEVA_DECODE_CONTEXT_SHIFT (0) // FW_DEVA_DECODE OPERATING_MODE #define FW_DEVA_DECODE_OPERATING_MODE_ALIGNMENT (4) #define FW_DEVA_DECODE_OPERATING_MODE_TYPE IMG_UINT32 #define FW_DEVA_DECODE_OPERATING_MODE_MASK (0xFFFFFFFF) #define FW_DEVA_DECODE_OPERATING_MODE_LSBMASK (0xFFFFFFFF) #define FW_DEVA_DECODE_OPERATING_MODE_OFFSET (0x0010) #define FW_DEVA_DECODE_OPERATING_MODE_SHIFT (0) // FW_VA_DEBLOCK MSG_SIZE #define FW_VA_DEBLOCK_MSG_SIZE_ALIGNMENT (1) #define FW_VA_DEBLOCK_MSG_SIZE_TYPE IMG_UINT8 #define FW_VA_DEBLOCK_MSG_SIZE_MASK (0xFF) #define FW_VA_DEBLOCK_MSG_SIZE_LSBMASK (0xFF) #define FW_VA_DEBLOCK_MSG_SIZE_OFFSET (0x0000) #define FW_VA_DEBLOCK_MSG_SIZE_SHIFT (0) // FW_VA_DEBLOCK ID #define FW_VA_DEBLOCK_ID_ALIGNMENT (1) #define FW_VA_DEBLOCK_ID_TYPE IMG_UINT8 #define FW_VA_DEBLOCK_ID_MASK (0xFF) #define FW_VA_DEBLOCK_ID_LSBMASK (0xFF) #define FW_VA_DEBLOCK_ID_OFFSET (0x0001) #define FW_VA_DEBLOCK_ID_SHIFT (0) // FW_VA_DEBLOCK FLAGS #define FW_VA_DEBLOCK_FLAGS_ALIGNMENT (2) #define FW_VA_DEBLOCK_FLAGS_TYPE IMG_UINT16 #define FW_VA_DEBLOCK_FLAGS_MASK (0xFFFF) #define FW_VA_DEBLOCK_FLAGS_LSBMASK (0xFFFF) #define FW_VA_DEBLOCK_FLAGS_OFFSET (0x0002) #define FW_VA_DEBLOCK_FLAGS_SHIFT (0) // FW_VA_DEBLOCK CONTEXT #define FW_VA_DEBLOCK_CONTEXT_ALIGNMENT (4) #define FW_VA_DEBLOCK_CONTEXT_TYPE IMG_UINT32 #define FW_VA_DEBLOCK_CONTEXT_MASK (0xFFFFFFFF) #define FW_VA_DEBLOCK_CONTEXT_LSBMASK (0xFFFFFFFF) #define FW_VA_DEBLOCK_CONTEXT_OFFSET (0x0004) #define FW_VA_DEBLOCK_CONTEXT_SHIFT (0) // FW_VA_DEBLOCK FENCE_VALUE #define FW_VA_DEBLOCK_FENCE_VALUE_ALIGNMENT (4) #define FW_VA_DEBLOCK_FENCE_VALUE_TYPE IMG_UINT32 #define FW_VA_DEBLOCK_FENCE_VALUE_MASK (0xFFFFFFFF) #define FW_VA_DEBLOCK_FENCE_VALUE_LSBMASK (0xFFFFFFFF) #define FW_VA_DEBLOCK_FENCE_VALUE_OFFSET (0x0008) #define FW_VA_DEBLOCK_FENCE_VALUE_SHIFT (0) // FW_VA_DEBLOCK MMUPTD #define FW_VA_DEBLOCK_MMUPTD_ALIGNMENT (4) #define FW_VA_DEBLOCK_MMUPTD_TYPE IMG_UINT32 #define FW_VA_DEBLOCK_MMUPTD_MASK (0xFFFFFFFF) #define FW_VA_DEBLOCK_MMUPTD_LSBMASK (0xFFFFFFFF) #define FW_VA_DEBLOCK_MMUPTD_OFFSET (0x000C) #define FW_VA_DEBLOCK_MMUPTD_SHIFT (0) #define FW_VA_OOLD_SIZE (40) // FW_VA_OOLD MSG_SIZE #define FW_VA_OOLD_MSG_SIZE_ALIGNMENT (1) #define FW_VA_OOLD_MSG_SIZE_TYPE IMG_UINT8 #define FW_VA_OOLD_MSG_SIZE_MASK (0xFF) #define FW_VA_OOLD_MSG_SIZE_LSBMASK (0xFF) #define FW_VA_OOLD_MSG_SIZE_OFFSET (0x0000) #define FW_VA_OOLD_MSG_SIZE_SHIFT (0) // FW_VA_OOLD ID #define FW_VA_OOLD_ID_ALIGNMENT (1) #define FW_VA_OOLD_ID_TYPE IMG_UINT8 #define FW_VA_OOLD_ID_MASK (0xFF) #define FW_VA_OOLD_ID_LSBMASK (0xFF) #define FW_VA_OOLD_ID_OFFSET (0x0001) #define FW_VA_OOLD_ID_SHIFT (0) // FW_VA_OOLD SLICE_FIELD_TYPE #define FW_VA_OOLD_SLICE_FIELD_TYPE_ALIGNMENT (1) #define FW_VA_OOLD_SLICE_FIELD_TYPE_TYPE IMG_UINT8 #define FW_VA_OOLD_SLICE_FIELD_TYPE_MASK (0x03) #define FW_VA_OOLD_SLICE_FIELD_TYPE_LSBMASK (0x03) #define FW_VA_OOLD_SLICE_FIELD_TYPE_OFFSET (0x0002) #define FW_VA_OOLD_SLICE_FIELD_TYPE_SHIFT (0) // FW_VA_OOLD MMUPTD #define FW_VA_OOLD_MMUPTD_ALIGNMENT (4) #define FW_VA_OOLD_MMUPTD_TYPE IMG_UINT32 #define FW_VA_OOLD_MMUPTD_MASK (0xFFFFFFFF) #define FW_VA_OOLD_MMUPTD_LSBMASK (0xFFFFFFFF) #define FW_VA_OOLD_MMUPTD_OFFSET (0x0004) #define FW_VA_OOLD_MMUPTD_SHIFT (0) // FW_VA_OOLD FENCE_VALUE #define FW_VA_OOLD_FENCE_VALUE_ALIGNMENT (4) #define FW_VA_OOLD_FENCE_VALUE_TYPE IMG_UINT32 #define FW_VA_OOLD_FENCE_VALUE_MASK (0xFFFFFFFF) #define FW_VA_OOLD_FENCE_VALUE_LSBMASK (0xFFFFFFFF) #define FW_VA_OOLD_FENCE_VALUE_OFFSET (0x0008) #define FW_VA_OOLD_FENCE_VALUE_SHIFT (0) // FW_VA_OOLD OPERATING_MODE #define FW_VA_OOLD_OPERATING_MODE_ALIGNMENT (4) #define FW_VA_OOLD_OPERATING_MODE_TYPE IMG_UINT32 #define FW_VA_OOLD_OPERATING_MODE_MASK (0xFFFFFFFF) #define FW_VA_OOLD_OPERATING_MODE_LSBMASK (0xFFFFFFFF) #define FW_VA_OOLD_OPERATING_MODE_OFFSET (0x000C) #define FW_VA_OOLD_OPERATING_MODE_SHIFT (0) // FW_VA_OOLD FRAME_HEIGHT_MBS #define FW_VA_OOLD_FRAME_HEIGHT_MBS_ALIGNMENT (2) #define FW_VA_OOLD_FRAME_HEIGHT_MBS_TYPE IMG_UINT16 #define FW_VA_OOLD_FRAME_HEIGHT_MBS_MASK (0xFFFF) #define FW_VA_OOLD_FRAME_HEIGHT_MBS_LSBMASK (0xFFFF) #define FW_VA_OOLD_FRAME_HEIGHT_MBS_OFFSET (0x0010) #define FW_VA_OOLD_FRAME_HEIGHT_MBS_SHIFT (0) // FW_VA_OOLD PIC_WIDTH_MBS #define FW_VA_OOLD_PIC_WIDTH_MBS_ALIGNMENT (2) #define FW_VA_OOLD_PIC_WIDTH_MBS_TYPE IMG_UINT16 #define FW_VA_OOLD_PIC_WIDTH_MBS_MASK (0xFFFF) #define FW_VA_OOLD_PIC_WIDTH_MBS_LSBMASK (0xFFFF) #define FW_VA_OOLD_PIC_WIDTH_MBS_OFFSET (0x0012) #define FW_VA_OOLD_PIC_WIDTH_MBS_SHIFT (0) // FW_VA_OOLD SOURCE_LUMA_BUFFER_ADDRESS #define FW_VA_OOLD_SOURCE_LUMA_BUFFER_ADDRESS_ALIGNMENT (4) #define FW_VA_OOLD_SOURCE_LUMA_BUFFER_ADDRESS_TYPE IMG_UINT32 #define FW_VA_OOLD_SOURCE_LUMA_BUFFER_ADDRESS_MASK (0xFFFFFFFF) #define FW_VA_OOLD_SOURCE_LUMA_BUFFER_ADDRESS_LSBMASK (0xFFFFFFFF) #define FW_VA_OOLD_SOURCE_LUMA_BUFFER_ADDRESS_OFFSET (0x0014) #define FW_VA_OOLD_SOURCE_LUMA_BUFFER_ADDRESS_SHIFT (0) // FW_VA_OOLD SOURCE_CHROMA_BUFFER_ADDRESS #define FW_VA_OOLD_SOURCE_CHROMA_BUFFER_ADDRESS_ALIGNMENT (4) #define FW_VA_OOLD_SOURCE_CHROMA_BUFFER_ADDRESS_TYPE IMG_UINT32 #define FW_VA_OOLD_SOURCE_CHROMA_BUFFER_ADDRESS_MASK (0xFFFFFFFF) #define FW_VA_OOLD_SOURCE_CHROMA_BUFFER_ADDRESS_LSBMASK (0xFFFFFFFF) #define FW_VA_OOLD_SOURCE_CHROMA_BUFFER_ADDRESS_OFFSET (0x0018) #define FW_VA_OOLD_SOURCE_CHROMA_BUFFER_ADDRESS_SHIFT (0) // FW_VA_OOLD SOURCE_MB_PARAM_ADDRESS #define FW_VA_OOLD_SOURCE_MB_PARAM_ADDRESS_ALIGNMENT (4) #define FW_VA_OOLD_SOURCE_MB_PARAM_ADDRESS_TYPE IMG_UINT32 #define FW_VA_OOLD_SOURCE_MB_PARAM_ADDRESS_MASK (0xFFFFFFFF) #define FW_VA_OOLD_SOURCE_MB_PARAM_ADDRESS_LSBMASK (0xFFFFFFFF) #define FW_VA_OOLD_SOURCE_MB_PARAM_ADDRESS_OFFSET (0x001C) #define FW_VA_OOLD_SOURCE_MB_PARAM_ADDRESS_SHIFT (0) // FW_VA_OOLD TARGET_LUMA_BUFFER_ADDRESS #define FW_VA_OOLD_TARGET_LUMA_BUFFER_ADDRESS_ALIGNMENT (4) #define FW_VA_OOLD_TARGET_LUMA_BUFFER_ADDRESS_TYPE IMG_UINT32 #define FW_VA_OOLD_TARGET_LUMA_BUFFER_ADDRESS_MASK (0xFFFFFFFF) #define FW_VA_OOLD_TARGET_LUMA_BUFFER_ADDRESS_LSBMASK (0xFFFFFFFF) #define FW_VA_OOLD_TARGET_LUMA_BUFFER_ADDRESS_OFFSET (0x0020) #define FW_VA_OOLD_TARGET_LUMA_BUFFER_ADDRESS_SHIFT (0) // FW_VA_OOLD TARGET_CHROMA_BUFFER_ADDRESS #define FW_VA_OOLD_TARGET_CHROMA_BUFFER_ADDRESS_ALIGNMENT (4) #define FW_VA_OOLD_TARGET_CHROMA_BUFFER_ADDRESS_TYPE IMG_UINT32 #define FW_VA_OOLD_TARGET_CHROMA_BUFFER_ADDRESS_MASK (0xFFFFFFFF) #define FW_VA_OOLD_TARGET_CHROMA_BUFFER_ADDRESS_LSBMASK (0xFFFFFFFF) #define FW_VA_OOLD_TARGET_CHROMA_BUFFER_ADDRESS_OFFSET (0x0024) #define FW_VA_OOLD_TARGET_CHROMA_BUFFER_ADDRESS_SHIFT (0) #define FW_VA_CMD_COMPLETED_SIZE (12) // FW_VA_CMD_COMPLETED MSG_SIZE #define FW_VA_CMD_COMPLETED_MSG_SIZE_ALIGNMENT (1) #define FW_VA_CMD_COMPLETED_MSG_SIZE_TYPE IMG_UINT8 #define FW_VA_CMD_COMPLETED_MSG_SIZE_MASK (0xFF) #define FW_VA_CMD_COMPLETED_MSG_SIZE_LSBMASK (0xFF) #define FW_VA_CMD_COMPLETED_MSG_SIZE_OFFSET (0x0000) #define FW_VA_CMD_COMPLETED_MSG_SIZE_SHIFT (0) // FW_VA_CMD_COMPLETED ID #define FW_VA_CMD_COMPLETED_ID_ALIGNMENT (1) #define FW_VA_CMD_COMPLETED_ID_TYPE IMG_UINT8 #define FW_VA_CMD_COMPLETED_ID_MASK (0xFF) #define FW_VA_CMD_COMPLETED_ID_LSBMASK (0xFF) #define FW_VA_CMD_COMPLETED_ID_OFFSET (0x0001) #define FW_VA_CMD_COMPLETED_ID_SHIFT (0) // FW_VA_CMD_COMPLETED FENCE_VALUE #define FW_VA_CMD_COMPLETED_FENCE_VALUE_ALIGNMENT (4) #define FW_VA_CMD_COMPLETED_FENCE_VALUE_TYPE IMG_UINT32 #define FW_VA_CMD_COMPLETED_FENCE_VALUE_MASK (0xFFFFFFFF) #define FW_VA_CMD_COMPLETED_FENCE_VALUE_LSBMASK (0xFFFFFFFF) #define FW_VA_CMD_COMPLETED_FENCE_VALUE_OFFSET (0x0004) #define FW_VA_CMD_COMPLETED_FENCE_VALUE_SHIFT (0) // FW_VA_CMD_COMPLETED FLAGS #define FW_VA_CMD_COMPLETED_FLAGS_ALIGNMENT (4) #define FW_VA_CMD_COMPLETED_FLAGS_TYPE IMG_UINT32 #define FW_VA_CMD_COMPLETED_FLAGS_MASK (0xFFFFFFFF) #define FW_VA_CMD_COMPLETED_FLAGS_LSBMASK (0xFFFFFFFF) #define FW_VA_CMD_COMPLETED_FLAGS_OFFSET (0x0008) #define FW_VA_CMD_COMPLETED_FLAGS_SHIFT (0) #define FW_VA_CMD_FAILED_SIZE (12) // FW_VA_CMD_FAILED MSG_SIZE #define FW_VA_CMD_FAILED_MSG_SIZE_ALIGNMENT (1) #define FW_VA_CMD_FAILED_MSG_SIZE_TYPE IMG_UINT8 #define FW_VA_CMD_FAILED_MSG_SIZE_MASK (0xFF) #define FW_VA_CMD_FAILED_MSG_SIZE_LSBMASK (0xFF) #define FW_VA_CMD_FAILED_MSG_SIZE_OFFSET (0x0000) #define FW_VA_CMD_FAILED_MSG_SIZE_SHIFT (0) // FW_VA_CMD_FAILED ID #define FW_VA_CMD_FAILED_ID_ALIGNMENT (1) #define FW_VA_CMD_FAILED_ID_TYPE IMG_UINT8 #define FW_VA_CMD_FAILED_ID_MASK (0xFF) #define FW_VA_CMD_FAILED_ID_LSBMASK (0xFF) #define FW_VA_CMD_FAILED_ID_OFFSET (0x0001) #define FW_VA_CMD_FAILED_ID_SHIFT (0) // FW_VA_CMD_FAILED FLAGS #define FW_VA_CMD_FAILED_FLAGS_ALIGNMENT (2) #define FW_VA_CMD_FAILED_FLAGS_TYPE IMG_UINT16 #define FW_VA_CMD_FAILED_FLAGS_MASK (0xFFFF) #define FW_VA_CMD_FAILED_FLAGS_LSBMASK (0xFFFF) #define FW_VA_CMD_FAILED_FLAGS_OFFSET (0x0002) #define FW_VA_CMD_FAILED_FLAGS_SHIFT (0) // FW_VA_CMD_FAILED FENCE_VALUE #define FW_VA_CMD_FAILED_FENCE_VALUE_ALIGNMENT (4) #define FW_VA_CMD_FAILED_FENCE_VALUE_TYPE IMG_UINT32 #define FW_VA_CMD_FAILED_FENCE_VALUE_MASK (0xFFFFFFFF) #define FW_VA_CMD_FAILED_FENCE_VALUE_LSBMASK (0xFFFFFFFF) #define FW_VA_CMD_FAILED_FENCE_VALUE_OFFSET (0x0004) #define FW_VA_CMD_FAILED_FENCE_VALUE_SHIFT (0) // FW_VA_CMD_FAILED IRQSTATUS #define FW_VA_CMD_FAILED_IRQSTATUS_ALIGNMENT (4) #define FW_VA_CMD_FAILED_IRQSTATUS_TYPE IMG_UINT32 #define FW_VA_CMD_FAILED_IRQSTATUS_MASK (0xFFFFFFFF) #define FW_VA_CMD_FAILED_IRQSTATUS_LSBMASK (0xFFFFFFFF) #define FW_VA_CMD_FAILED_IRQSTATUS_OFFSET (0x0008) #define FW_VA_CMD_FAILED_IRQSTATUS_SHIFT (0) #define FW_VA_DEBLOCK_REQUIRED_SIZE (8) // FW_VA_DEBLOCK_REQUIRED MSG_SIZE #define FW_VA_DEBLOCK_REQUIRED_MSG_SIZE_ALIGNMENT (1) #define FW_VA_DEBLOCK_REQUIRED_MSG_SIZE_TYPE IMG_UINT8 #define FW_VA_DEBLOCK_REQUIRED_MSG_SIZE_MASK (0xFF) #define FW_VA_DEBLOCK_REQUIRED_MSG_SIZE_LSBMASK (0xFF) #define FW_VA_DEBLOCK_REQUIRED_MSG_SIZE_OFFSET (0x0000) #define FW_VA_DEBLOCK_REQUIRED_MSG_SIZE_SHIFT (0) // FW_VA_DEBLOCK_REQUIRED ID #define FW_VA_DEBLOCK_REQUIRED_ID_ALIGNMENT (1) #define FW_VA_DEBLOCK_REQUIRED_ID_TYPE IMG_UINT8 #define FW_VA_DEBLOCK_REQUIRED_ID_MASK (0xFF) #define FW_VA_DEBLOCK_REQUIRED_ID_LSBMASK (0xFF) #define FW_VA_DEBLOCK_REQUIRED_ID_OFFSET (0x0001) #define FW_VA_DEBLOCK_REQUIRED_ID_SHIFT (0) // FW_VA_DEBLOCK_REQUIRED CONTEXT #define FW_VA_DEBLOCK_REQUIRED_CONTEXT_ALIGNMENT (4) #define FW_VA_DEBLOCK_REQUIRED_CONTEXT_TYPE IMG_UINT32 #define FW_VA_DEBLOCK_REQUIRED_CONTEXT_MASK (0xFFFFFFFF) #define FW_VA_DEBLOCK_REQUIRED_CONTEXT_LSBMASK (0xFFFFFFFF) #define FW_VA_DEBLOCK_REQUIRED_CONTEXT_OFFSET (0x0004) #define FW_VA_DEBLOCK_REQUIRED_CONTEXT_SHIFT (0) #define FW_VA_HW_PANIC_SIZE (12) // FW_VA_HW_PANIC FLAGS #define FW_VA_HW_PANIC_FLAGS_ALIGNMENT (2) #define FW_VA_HW_PANIC_FLAGS_TYPE IMG_UINT16 #define FW_VA_HW_PANIC_FLAGS_MASK (0xFFFF) #define FW_VA_HW_PANIC_FLAGS_LSBMASK (0xFFFF) #define FW_VA_HW_PANIC_FLAGS_OFFSET (0x0002) #define FW_VA_HW_PANIC_FLAGS_SHIFT (0) // FW_VA_HW_PANIC MSG_SIZE #define FW_VA_HW_PANIC_MSG_SIZE_ALIGNMENT (1) #define FW_VA_HW_PANIC_MSG_SIZE_TYPE IMG_UINT8 #define FW_VA_HW_PANIC_MSG_SIZE_MASK (0xFF) #define FW_VA_HW_PANIC_MSG_SIZE_LSBMASK (0xFF) #define FW_VA_HW_PANIC_MSG_SIZE_OFFSET (0x0000) #define FW_VA_HW_PANIC_MSG_SIZE_SHIFT (0) // FW_VA_HW_PANIC ID #define FW_VA_HW_PANIC_ID_ALIGNMENT (1) #define FW_VA_HW_PANIC_ID_TYPE IMG_UINT8 #define FW_VA_HW_PANIC_ID_MASK (0xFF) #define FW_VA_HW_PANIC_ID_LSBMASK (0xFF) #define FW_VA_HW_PANIC_ID_OFFSET (0x0001) #define FW_VA_HW_PANIC_ID_SHIFT (0) // FW_VA_HW_PANIC FENCE_VALUE #define FW_VA_HW_PANIC_FENCE_VALUE_ALIGNMENT (4) #define FW_VA_HW_PANIC_FENCE_VALUE_TYPE IMG_UINT32 #define FW_VA_HW_PANIC_FENCE_VALUE_MASK (0xFFFFFFFF) #define FW_VA_HW_PANIC_FENCE_VALUE_LSBMASK (0xFFFFFFFF) #define FW_VA_HW_PANIC_FENCE_VALUE_OFFSET (0x0004) #define FW_VA_HW_PANIC_FENCE_VALUE_SHIFT (0) // FW_VA_HW_PANIC IRQSTATUS #define FW_VA_HW_PANIC_IRQSTATUS_ALIGNMENT (4) #define FW_VA_HW_PANIC_IRQSTATUS_TYPE IMG_UINT32 #define FW_VA_HW_PANIC_IRQSTATUS_MASK (0xFFFFFFFF) #define FW_VA_HW_PANIC_IRQSTATUS_LSBMASK (0xFFFFFFFF) #define FW_VA_HW_PANIC_IRQSTATUS_OFFSET (0x0008) #define FW_VA_HW_PANIC_IRQSTATUS_SHIFT (0) #define FW_VA_HOST_BE_OPP_SIZE 48 // FW_VA_HOST_BE_OPP CONTEXT #define FW_VA_HOST_BE_OPP_CONTEXT_ALIGNMENT (1) #define FW_VA_HOST_BE_OPP_CONTEXT_TYPE IMG_UINT8 #define FW_VA_HOST_BE_OPP_CONTEXT_MASK (0xF) #define FW_VA_HOST_BE_OPP_CONTEXT_LSBMASK (0xF) #define FW_VA_HOST_BE_OPP_CONTEXT_OFFSET (0x000C) #define FW_VA_HOST_BE_OPP_CONTEXT_SHIFT (0) // FW_VA_HOST_BE_OPP FLAGS #define FW_VA_HOST_BE_OPP_FLAGS_ALIGNMENT (2) #define FW_VA_HOST_BE_OPP_FLAGS_TYPE IMG_UINT16 #define FW_VA_HOST_BE_OPP_FLAGS_MASK (0xFFFF) #define FW_VA_HOST_BE_OPP_FLAGS_LSBMASK (0xFFFF) #define FW_VA_HOST_BE_OPP_FLAGS_OFFSET (0x0004) #define FW_VA_HOST_BE_OPP_FLAGS_SHIFT (0) #define FW_VA_FRAME_INFO_SIZE 24 /* 20 bytes for FRAME_INFO_PARAMS */ #ifdef __cplusplus } #endif #endif /* __VA_CMDSEQ_MSG_H__ */