FILE
iris_hfi_gen2_defines.h
File preview with syntax highlighting.
linux-6.19.14/drivers/media/platform/qcom/iris/iris_hfi_gen2_defines.h
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved. 4 */ 5 6#ifndef __IRIS_HFI_GEN2_DEFINES_H__ 7#define __IRIS_HFI_GEN2_DEFINES_H__ 8 9#include <linux/types.h> 10 11#define HFI_VIDEO_ARCH_LX 0x1 12 13#define HFI_CMD_BEGIN 0x01000000 14#define HFI_CMD_INIT 0x01000001 15#define HFI_CMD_POWER_COLLAPSE 0x01000002 16#define HFI_CMD_OPEN 0x01000003 17#define HFI_CMD_CLOSE 0x01000004 18#define HFI_CMD_START 0x01000005 19#define HFI_CMD_STOP 0x01000006 20#define HFI_CMD_DRAIN 0x01000007 21#define HFI_CMD_RESUME 0x01000008 22#define HFI_CMD_BUFFER 0x01000009 23#define HFI_CMD_SUBSCRIBE_MODE 0x0100000B 24#define HFI_CMD_SETTINGS_CHANGE 0x0100000C 25#define HFI_CMD_PAUSE 0x01000011 26#define HFI_CMD_END 0x01FFFFFF 27 28#define HFI_BITMASK_BITSTREAM_WIDTH 0xffff0000 29#define HFI_BITMASK_BITSTREAM_HEIGHT 0x0000ffff 30#define HFI_BITMASK_FRAME_MBS_ONLY_FLAG 0x00000001 31 32#define HFI_PROP_BEGIN 0x03000000 33#define HFI_PROP_IMAGE_VERSION 0x03000001 34#define HFI_PROP_INTRA_FRAME_POWER_COLLAPSE 0x03000002 35#define HFI_PROP_UBWC_MAX_CHANNELS 0x03000003 36#define HFI_PROP_UBWC_MAL_LENGTH 0x03000004 37#define HFI_PROP_UBWC_HBB 0x03000005 38#define HFI_PROP_UBWC_BANK_SWZL_LEVEL1 0x03000006 39#define HFI_PROP_UBWC_BANK_SWZL_LEVEL2 0x03000007 40#define HFI_PROP_UBWC_BANK_SWZL_LEVEL3 0x03000008 41#define HFI_PROP_UBWC_BANK_SPREADING 0x03000009 42#define HFI_PROP_CODEC 0x03000100 43#define HFI_PROP_COLOR_FORMAT 0x03000101 44#define HFI_PROP_BITSTREAM_RESOLUTION 0x03000103 45#define HFI_PROP_LINEAR_STRIDE_SCANLINE 0x03000104 46#define HFI_PROP_CROP_OFFSETS 0x03000105 47#define HFI_PROP_PROFILE 0x03000107 48#define HFI_PROP_LEVEL 0x03000108 49#define HFI_PROP_TIER 0x03000109 50#define HFI_PROP_STAGE 0x0300010a 51#define HFI_PROP_PIPE 0x0300010b 52#define HFI_PROP_FRAME_RATE 0x0300010c 53#define HFI_PROP_LUMA_CHROMA_BIT_DEPTH 0x0300010f 54#define HFI_PROP_CODED_FRAMES 0x03000120 55#define HFI_PROP_CABAC_SESSION 0x03000121 56#define HFI_PROP_BUFFER_HOST_MAX_COUNT 0x03000123 57#define HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT 0x03000124 58#define HFI_PROP_PIC_ORDER_CNT_TYPE 0x03000128 59 60enum hfi_rate_control { 61 HFI_RC_VBR_CFR = 0x00000000, 62 HFI_RC_CBR_CFR = 0x00000001, 63 HFI_RC_CQ = 0x00000002, 64 HFI_RC_OFF = 0x00000003, 65 HFI_RC_CBR_VFR = 0x00000004, 66 HFI_RC_LOSSLESS = 0x00000005, 67}; 68 69#define HFI_PROP_RATE_CONTROL 0x0300012a 70#define HFI_PROP_QP_PACKED 0x0300012e 71#define HFI_PROP_MIN_QP_PACKED 0x0300012f 72#define HFI_PROP_MAX_QP_PACKED 0x03000130 73#define HFI_PROP_TOTAL_BITRATE 0x0300013b 74#define HFI_PROP_MAX_GOP_FRAMES 0x03000146 75#define HFI_PROP_MAX_B_FRAMES 0x03000147 76#define HFI_PROP_QUALITY_MODE 0x03000148 77 78enum hfi_seq_header_mode { 79 HFI_SEQ_HEADER_SEPERATE_FRAME = 0x00000001, 80 HFI_SEQ_HEADER_JOINED_WITH_1ST_FRAME = 0x00000002, 81 HFI_SEQ_HEADER_PREFIX_WITH_SYNC_FRAME = 0x00000004, 82 HFI_SEQ_HEADER_METADATA = 0x00000008, 83}; 84 85#define HFI_PROP_SEQ_HEADER_MODE 0x03000149 86#define HFI_PROP_SIGNAL_COLOR_INFO 0x03000155 87#define HFI_PROP_PICTURE_TYPE 0x03000162 88#define HFI_PROP_DEC_DEFAULT_HEADER 0x03000168 89#define HFI_PROP_DEC_START_FROM_RAP_FRAME 0x03000169 90#define HFI_PROP_NO_OUTPUT 0x0300016a 91#define HFI_PROP_BUFFER_MARK 0x0300016c 92#define HFI_PROP_RAW_RESOLUTION 0x03000178 93#define HFI_PROP_TOTAL_PEAK_BITRATE 0x0300017C 94#define HFI_PROP_OPB_ENABLE 0x03000184 95#define HFI_PROP_COMV_BUFFER_COUNT 0x03000193 96#define HFI_PROP_END 0x03FFFFFF 97 98#define HFI_SESSION_ERROR_BEGIN 0x04000000 99#define HFI_ERROR_UNKNOWN_SESSION 0x04000001 100#define HFI_ERROR_MAX_SESSIONS 0x04000002 101#define HFI_ERROR_FATAL 0x04000003 102#define HFI_ERROR_INVALID_STATE 0x04000004 103#define HFI_ERROR_INSUFFICIENT_RESOURCES 0x04000005 104#define HFI_ERROR_BUFFER_NOT_SET 0x04000006 105#define HFI_ERROR_STREAM_UNSUPPORTED 0x04000008 106#define HFI_SESSION_ERROR_END 0x04FFFFFF 107 108#define HFI_SYSTEM_ERROR_BEGIN 0x05000000 109#define HFI_SYS_ERROR_WD_TIMEOUT 0x05000001 110#define HFI_SYSTEM_ERROR_END 0x05FFFFFF 111 112#define HFI_INFORMATION_BEGIN 0x06000000 113#define HFI_INFO_UNSUPPORTED 0x06000001 114#define HFI_INFO_DATA_CORRUPT 0x06000002 115#define HFI_INFO_BUFFER_OVERFLOW 0x06000004 116#define HFI_INFO_HFI_FLAG_DRAIN_LAST 0x06000006 117#define HFI_INFO_HFI_FLAG_PSC_LAST 0x06000007 118#define HFI_INFORMATION_END 0x06FFFFFF 119 120enum hfi_property_mode_type { 121 HFI_MODE_PORT_SETTINGS_CHANGE = 0x00000001, 122 HFI_MODE_PROPERTY = 0x00000002, 123}; 124 125enum hfi_color_format { 126 HFI_COLOR_FMT_OPAQUE = 0, 127 HFI_COLOR_FMT_NV12 = 1, 128 HFI_COLOR_FMT_NV12_UBWC = 2, 129 HFI_COLOR_FMT_P010 = 3, 130 HFI_COLOR_FMT_TP10_UBWC = 4, 131 HFI_COLOR_FMT_RGBA8888 = 5, 132 HFI_COLOR_FMT_RGBA8888_UBWC = 6, 133 HFI_COLOR_FMT_NV21 = 7, 134}; 135 136enum hfi_codec_type { 137 HFI_CODEC_DECODE_AVC = 1, 138 HFI_CODEC_ENCODE_AVC = 2, 139 HFI_CODEC_DECODE_HEVC = 3, 140 HFI_CODEC_ENCODE_HEVC = 4, 141 HFI_CODEC_DECODE_VP9 = 5, 142}; 143 144enum hfi_picture_type { 145 HFI_GEN2_PICTURE_IDR = 0x00000001, 146 HFI_GEN2_PICTURE_P = 0x00000002, 147 HFI_GEN2_PICTURE_B = 0x00000004, 148 HFI_GEN2_PICTURE_I = 0x00000008, 149 HFI_GEN2_PICTURE_CRA = 0x00000010, 150 HFI_GEN2_PICTURE_BLA = 0x00000020, 151 HFI_GEN2_PICTURE_NOSHOW = 0x00000040, 152}; 153 154enum hfi_buffer_type { 155 HFI_BUFFER_BITSTREAM = 0x00000001, 156 HFI_BUFFER_RAW = 0x00000002, 157 HFI_BUFFER_METADATA = 0x00000003, 158 HFI_BUFFER_SUBCACHE = 0x00000004, 159 HFI_BUFFER_PARTIAL_DATA = 0x00000005, 160 HFI_BUFFER_DPB = 0x00000006, 161 HFI_BUFFER_BIN = 0x00000007, 162 HFI_BUFFER_LINE = 0x00000008, 163 HFI_BUFFER_ARP = 0x00000009, 164 HFI_BUFFER_COMV = 0x0000000A, 165 HFI_BUFFER_NON_COMV = 0x0000000B, 166 HFI_BUFFER_PERSIST = 0x0000000C, 167 HFI_BUFFER_VPSS = 0x0000000D, 168}; 169 170enum hfi_buffer_host_flags { 171 HFI_BUF_HOST_FLAG_RELEASE = 0x00000001, 172 HFI_BUF_HOST_FLAG_READONLY = 0x00000010, 173 HFI_BUF_HOST_FLAG_CODEC_CONFIG = 0x00000100, 174 HFI_BUF_HOST_FLAGS_CB_NON_SECURE = 0x00000200, 175}; 176 177enum hfi_buffer_firmware_flags { 178 HFI_BUF_FW_FLAG_RELEASE_DONE = 0x00000001, 179 HFI_BUF_FW_FLAG_READONLY = 0x00000010, 180 HFI_BUF_FW_FLAG_LAST = 0x10000000, 181 HFI_BUF_FW_FLAG_PSC_LAST = 0x20000000, 182}; 183 184enum hfi_packet_firmware_flags { 185 HFI_FW_FLAGS_SUCCESS = 0x00000001, 186 HFI_FW_FLAGS_INFORMATION = 0x00000002, 187 HFI_FW_FLAGS_SESSION_ERROR = 0x00000004, 188 HFI_FW_FLAGS_SYSTEM_ERROR = 0x00000008, 189}; 190 191struct hfi_debug_header { 192 u32 size; 193 u32 debug_level; 194 u32 reserved[2]; 195}; 196 197#endif
~/
Read-only file preview.