diff options
author | Xianzhong <xianzhong.li@nxp.com> | 2020-11-19 11:40:25 +0800 |
---|---|---|
committer | Xianzhong <xianzhong.li@nxp.com> | 2020-11-19 11:54:17 +0800 |
commit | c561632ebd323c400f9e116e4dd277d7d3d3801e (patch) | |
tree | aef8b7c9d1794ca6a03bcd30e17e96f5a5300350 /drivers/mxc | |
parent | 082c76fc345fc1e5a862df56a688c614d3072166 (diff) |
MGS-6060 gpu-viv: sync 20201116 patch release
include critical bug-fixings for 6.4.3.p1 driver
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
Diffstat (limited to 'drivers/mxc')
8 files changed, 137 insertions, 69 deletions
diff --git a/drivers/mxc/gpu-viv/Kbuild b/drivers/mxc/gpu-viv/Kbuild index 65813c1cc89a..9d0cf640a679 100644 --- a/drivers/mxc/gpu-viv/Kbuild +++ b/drivers/mxc/gpu-viv/Kbuild @@ -94,6 +94,7 @@ OBJS := $(OS_KERNEL_DIR)/gc_hal_kernel_device.o \ $(OS_KERNEL_DIR)/gc_hal_kernel_linux.o \ $(OS_KERNEL_DIR)/gc_hal_kernel_math.o \ $(OS_KERNEL_DIR)/gc_hal_kernel_os.o \ + $(OS_KERNEL_DIR)/gc_hal_kernel_debug.o \ $(OS_KERNEL_DIR)/gc_hal_kernel_debugfs.o \ $(OS_KERNEL_DIR)/gc_hal_kernel_allocator.o \ $(OS_KERNEL_DIR)/allocator/default/gc_hal_kernel_allocator_user_memory.o \ @@ -120,7 +121,6 @@ endif OBJS += $(HAL_KERNEL_DIR)/gc_hal_kernel.o \ $(HAL_KERNEL_DIR)/gc_hal_kernel_command.o \ $(HAL_KERNEL_DIR)/gc_hal_kernel_db.o \ - $(HAL_KERNEL_DIR)/gc_hal_kernel_debug.o \ $(HAL_KERNEL_DIR)/gc_hal_kernel_event.o \ $(HAL_KERNEL_DIR)/gc_hal_kernel_heap.o \ $(HAL_KERNEL_DIR)/gc_hal_kernel_mmu.o \ diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_feature_database.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_feature_database.h index 266927b88701..befe6e68a1e1 100644 --- a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_feature_database.h +++ b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_feature_database.h @@ -53,7 +53,7 @@ *****************************************************************************/ -/*Auto created on 2020-10-27 16:59*/ +/*Auto created on 2020-11-13 13:24*/ #ifndef _gc_feature_database_h_ #define _gc_feature_database_h_ @@ -531,6 +531,7 @@ typedef struct gctUINT32 ENDIAN_CONTROL:1; gctUINT32 G2D_RGB_PLANAR:1; gctUINT32 G2D_DEC400EX:1; + gctUINT32 G2D_NO_YUV420_SOURCE:1; gctUINT32 G2D_YUV420_101010:1; gctUINT32 SH_VX2_FLOATING_MAD_FIX:1; gctUINT32 TS_FC_VULKAN_SUPPORT:1; @@ -547,6 +548,8 @@ typedef struct gctUINT32 DUAL16_14BIT_PC_SUPPORT:1; gctUINT32 LDST_CONV_4ROUNDING_MODES:1; gctUINT32 FULL_PACK_MODE_SUPPORT:1; + gctUINT32 DEPTH_FLOAT32_SUPPORT:1; + gctUINT32 FP32_TO_FP16_CONV_FIX:1; gctUINT32 VG_TS_CULLING:1; gctUINT32 VG_FP25:1; gctUINT32 VG_AYUV_INPUT_OUTPUT:1; @@ -666,7 +669,6 @@ typedef struct gctUINT32 TILE_ACCESS_CAPABILITY:1; gctUINT32 FAST_DP3_PREPROCESSOR:1; gctUINT32 DEPTHWISE_SUPPORT_16BIT_FORMAT:1; - gctUINT32 SH_SUPPORT_VEC2:1; gctUINT32 NN_SUPPORT_ALU_LUT:1; gctUINT32 NN_ENHANCED_MAX_POOLING:1; gctUINT32 NN_TRANSPOSE_PHASE2:1; @@ -1233,6 +1235,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -1249,6 +1252,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -1368,7 +1373,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -1933,6 +1937,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -1949,6 +1954,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -2068,7 +2075,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -2633,6 +2639,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -2649,6 +2656,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -2768,7 +2777,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -3333,6 +3341,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -3349,6 +3358,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -3468,7 +3479,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -4033,6 +4043,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -4049,6 +4060,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -4168,7 +4181,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -4733,6 +4745,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -4749,6 +4762,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -4868,7 +4883,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -5433,6 +5447,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -5449,6 +5464,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -5568,7 +5585,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -6133,6 +6149,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -6149,6 +6166,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -6268,7 +6287,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -6833,6 +6851,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -6849,6 +6868,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -6968,7 +6989,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -7533,6 +7553,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -7549,6 +7570,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -7668,7 +7691,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -8233,6 +8255,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -8249,6 +8272,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -8368,7 +8393,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -8933,6 +8957,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -8949,6 +8974,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -9068,7 +9095,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -9633,6 +9659,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -9649,6 +9676,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -9768,7 +9797,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -10333,6 +10361,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -10349,6 +10378,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -10468,7 +10499,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -11033,6 +11063,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -11049,6 +11080,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -11168,7 +11201,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -11733,6 +11765,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -11749,6 +11782,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -11868,7 +11903,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -12433,6 +12467,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -12449,6 +12484,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -12568,7 +12605,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -12663,7 +12699,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { /* gc7000UL_6200 */ { 0x7000, /* ChipID */ - 0x6200, /* ChipRevision */ + 0x6202, /* ChipRevision */ 0x70003, /* ProductID */ 0x0, /* EcoID */ 0x0, /* CustomerID */ @@ -13133,6 +13169,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -13149,6 +13186,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -13268,7 +13307,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -13833,6 +13871,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -13849,6 +13888,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -13968,7 +14009,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -14533,6 +14573,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -14549,6 +14590,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -14668,7 +14711,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -15233,6 +15275,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -15249,6 +15292,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -15368,7 +15413,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -15933,6 +15977,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -15949,6 +15994,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -16068,7 +16115,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -16633,6 +16679,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -16649,6 +16696,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -16768,7 +16817,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -17333,6 +17381,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -17349,6 +17398,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -17468,7 +17519,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -18033,6 +18083,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -18049,6 +18100,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -18168,7 +18221,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -18733,6 +18785,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x1, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -18749,6 +18802,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -18868,7 +18923,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -19433,6 +19487,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x1, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x1, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -19449,6 +19504,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x1, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x1, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x1, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x1, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x1, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -19568,7 +19625,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -20133,6 +20189,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -20149,6 +20206,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -20268,7 +20327,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ @@ -20833,6 +20891,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ 0x0, /* gcFEATURE_BIT_G2D_RGB_PLANAR */ 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ + 0x0, /* gcFEATURE_BIT_G2D_NO_YUV420_SOURCE */ 0x0, /* gcFEATURE_BIT_G2D_YUV420_101010 */ 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ @@ -20849,6 +20908,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_DUAL16_14BIT_PC_SUPPORT */ 0x0, /* gcFEATURE_BIT_LDST_CONV_4ROUNDING_MODES */ 0x0, /* gcFEATURE_BIT_FULL_PACK_MODE_SUPPORT */ + 0x0, /* gcFEATURE_BIT_DEPTH_FLOAT32_SUPPORT */ + 0x0, /* gcFEATURE_BIT_FP32_TO_FP16_CONV_FIX */ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ 0x0, /* gcFEATURE_BIT_VG_FP25 */ 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ @@ -20968,7 +21029,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = { 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ - 0x0, /* gcFEATURE_BIT_SH_SUPPORT_VEC2 */ 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h index 9f819ae9a769..ca334c5beb48 100644 --- a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h +++ b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h @@ -1730,20 +1730,29 @@ typedef enum _gceBUFOBJ_TYPE typedef enum _gceBUFOBJ_USAGE { - gcvBUFOBJ_USAGE_STREAM_DRAW = 1, - gcvBUFOBJ_USAGE_STREAM_READ, - gcvBUFOBJ_USAGE_STREAM_COPY, - gcvBUFOBJ_USAGE_STATIC_DRAW, - gcvBUFOBJ_USAGE_STATIC_READ, - gcvBUFOBJ_USAGE_STATIC_COPY, - gcvBUFOBJ_USAGE_DYNAMIC_DRAW, - gcvBUFOBJ_USAGE_DYNAMIC_READ, - gcvBUFOBJ_USAGE_DYNAMIC_COPY, - + gcvBUFOBJ_USAGE_NONE = 0x0, + gcvBUFOBJ_USAGE_STREAM_DRAW = 0x1, + gcvBUFOBJ_USAGE_STREAM_READ = 0x2, + gcvBUFOBJ_USAGE_STREAM_COPY = 0x3, + gcvBUFOBJ_USAGE_STATIC_DRAW = 0x4, + gcvBUFOBJ_USAGE_STATIC_READ = 0x5, + gcvBUFOBJ_USAGE_STATIC_COPY = 0x6, + gcvBUFOBJ_USAGE_DYNAMIC_DRAW = 0x7, + gcvBUFOBJ_USAGE_DYNAMIC_READ = 0x8, + gcvBUFOBJ_USAGE_DYNAMIC_COPY = 0x9, + + /* Use 8bits to save the usage. */ + gcvBUFOBJ_USAGE_MASK = 0xFF, + + /* Some special flags. */ /* special patch for optimaize performance, ** no fence and duplicate stream to ensure data correct */ - gcvBUFOBJ_USAGE_DISABLE_FENCE_DYNAMIC_STREAM = 256 + gcvBUFOBJ_USAGE_FLAG_DISABLE_FENCE_DYNAMIC_STREAM = 0x100, + + /* This buffer object is used by driver, so we need to copy the data to the logical memory. */ + gcvBUFOBJ_USAGE_FLAG_DATA_USED_BY_DRIVER = 0x200, + } gceBUFOBJ_USAGE; /** diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_reserved_mem.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_reserved_mem.c index e188b0ebc731..336b1f69cedd 100644 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_reserved_mem.c +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_reserved_mem.c @@ -400,17 +400,15 @@ reserved_mem_map_kernel( return gcvSTATUS_INVALID_ARGUMENT; } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0) #if gcdENABLE_BUFFERABLE_VIDEO_MEMORY - vaddr = memremap(res->start + Offset, Bytes, MEMREMAP_WC); + vaddr = ioremap_wc(res->start + Offset, Bytes); #else - vaddr = memremap(res->start + Offset, Bytes, MEMREMAP_WT); -#endif -#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0) - vaddr = memremap(res->start + Offset, Bytes, MEMREMAP_WT); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) + vaddr = ioremap(res->start + Offset, Bytes); #else vaddr = ioremap_nocache(res->start + Offset, Bytes); #endif +#endif if (!vaddr) { @@ -428,11 +426,8 @@ reserved_mem_unmap_kernel( IN gctPOINTER Logical ) { -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0) - memunmap((void *)Logical); -#else iounmap((void *)Logical); -#endif + return gcvSTATUS_OK; } diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_user_memory.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_user_memory.c index c98da15cfb0d..a21884dfb754 100644 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_user_memory.c +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_user_memory.c @@ -364,7 +364,7 @@ _Import( gceSTATUS status = gcvSTATUS_OK; unsigned long vm_flags = 0; struct vm_area_struct *vma = NULL; - unsigned long start, end, memory; + gctSIZE_T start, end, memory; int result = 0; gctSIZE_T extraPage; @@ -377,7 +377,11 @@ _Import( gcmkVERIFY_ARGUMENT(Memory != gcvNULL || Physical != ~0ULL); gcmkVERIFY_ARGUMENT(Size > 0); - memory = (unsigned long)Memory; + memory = (Physical != gcvINVALID_PHYSICAL_ADDRESS) ? Physical : (gctSIZE_T)Memory; + +#if LINUX_VERSION_CODE >= KERNEL_VERSION (5,4,0) + memory = untagged_addr(memory); +#endif /* Get the number of required pages. */ end = (memory + Size + PAGE_SIZE - 1) >> PAGE_SHIFT; @@ -405,9 +409,11 @@ _Import( return gcvSTATUS_INVALID_ARGUMENT; } + memory = (gctSIZE_T)Memory; + if (memory) { - unsigned long vaddr = memory; + gctSIZE_T vaddr = memory; for (i = 0; i < pageCount; i++) { diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c index 0f845c439f5c..a6aba6eed406 100644 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c @@ -2107,10 +2107,8 @@ gckGALDEVICE_Construct( gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES); } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) device->registerBases[i] = (gctPOINTER)ioremap(physical, device->requestedRegisterMemSizes[i]); -#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0) - device->registerBases[i] = (gctPOINTER)memremap(physical, device->requestedRegisterMemSizes[i], MEMREMAP_WT); #else device->registerBases[i] = (gctPOINTER)ioremap_nocache(physical, device->requestedRegisterMemSizes[i]); #endif @@ -2588,11 +2586,8 @@ gckGALDEVICE_Destroy( /* Unmap register memory. */ if (Device->requestedRegisterMemBases[i] != 0) { -#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0) && LINUX_VERSION_CODE < KERNEL_VERSION(5,9,0) - memunmap(Device->registerBases[i]); -#else iounmap(Device->registerBases[i]); -#endif + release_mem_region(Device->requestedRegisterMemBases[i], Device->requestedRegisterMemSizes[i]); } diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c index 3a0897981b6e..2883ef8c2be7 100644 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c @@ -68,8 +68,9 @@ MODULE_DESCRIPTION("Vivante Graphics Driver"); MODULE_LICENSE("Dual MIT/GPL"); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0) MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); - +#endif static struct class* gpuClass = NULL; diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c index 6efb2f23f4d7..c0b7b71b130a 100644 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c @@ -74,6 +74,10 @@ #include <linux/anon_inodes.h> #endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0) +#include <linux/io.h> +#endif + #if gcdLINUX_SYNC_FILE # include <linux/file.h> # include "gc_hal_kernel_sync.h" @@ -2318,10 +2322,8 @@ gckOS_MapPhysical( { /* Map memory as cached memory. */ request_mem_region(physical, Bytes, "MapRegion"); -#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0) - logical = ioremap(physical, Bytes); -#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0) - logical = (gctPOINTER) memremap(physical, Bytes, MEMREMAP_WT); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) + logical = (gctPOINTER) ioremap(physical, Bytes); #else logical = (gctPOINTER) ioremap_nocache(physical, Bytes); #endif |