int32_t cmdqRecCreate(CMDQ_SCENARIO_ENUM scenario, cmdqRecHandle *pHandle) { cmdqRecHandle handle = NULL; if (scenario < 0 || scenario >= CMDQ_MAX_SCENARIO_COUNT) { CMDQ_ERR("Unknown scenario type %d\n", scenario); return -EINVAL; } handle = kzalloc(sizeof(uint8_t *) * sizeof(cmdqRecStruct), GFP_KERNEL); if (NULL == handle) { return -ENOMEM; } handle->scenario = scenario; handle->pBuffer = NULL; handle->bufferSize = 0; handle->blockSize = 0; handle->engineFlag = cmdq_rec_flag_from_scenario(scenario); handle->priority = CMDQ_THR_PRIO_NORMAL; handle->prefetchCount = 0; handle->finalized = false; handle->pRunningTask = NULL; if (0 != cmdq_rec_realloc_cmd_buffer(handle, CMDQ_INITIAL_CMD_BLOCK_SIZE)) { kfree(handle); return -ENOMEM; } *pHandle = handle; return 0; }
int32_t cmdqRecCreate(CMDQ_SCENARIO_ENUM scenario, cmdqRecHandle *pHandle) { cmdqRecHandle handle = NULL; if (scenario < 0 || scenario >= CMDQ_MAX_SCENARIO_COUNT) { CMDQ_ERR("Unknown scenario type %d\n", scenario); return -EINVAL; } handle = kzalloc(sizeof(uint8_t *) * sizeof(cmdqRecStruct), GFP_KERNEL); if (NULL == handle) { return -ENOMEM; } handle->scenario = scenario; handle->pBuffer = NULL; handle->bufferSize = 0; handle->blockSize = 0; handle->engineFlag = cmdq_rec_flag_from_scenario(scenario); handle->priority = CMDQ_THR_PRIO_NORMAL; handle->prefetchCount = 0; handle->finalized = false; handle->pRunningTask = NULL; /* secure path*/ handle->secData.isSecure = false; handle->secData.enginesNeedDAPC = 0LL; handle->secData.enginesNeedPortSecurity = 0LL; handle->secData.addrMetadatas = (cmdqU32Ptr_t)(unsigned long)NULL; handle->secData.addrMetadataMaxCount = 0; handle->secData.addrMetadataCount = 0; /* profile marker */ cmdq_rec_reset_profile_maker_data(handle); /* CMD */ if (0 != cmdq_rec_realloc_cmd_buffer(handle, CMDQ_INITIAL_CMD_BLOCK_SIZE)) { kfree(handle); return -ENOMEM; } *pHandle = handle; return 0; }