1
0
Fork 0

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>
zero-colors
Xianzhong 2020-11-19 11:40:25 +08:00
parent 082c76fc34
commit c561632ebd
8 changed files with 136 additions and 68 deletions

View File

@ -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 \

View File

@ -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 */

View File

@ -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;
/**

View File

@ -400,16 +400,14 @@ 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;
}

View File

@ -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++)
{

View File

@ -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]);
}

View File

@ -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;

View File

@ -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