int disp_helper_set_option(DISP_HELPER_OPTION option, int value) { if (option < DISP_HELPER_OPTION_NUM) { DISPCHECK("Set Option %d(%s) from (%d) to (%d)\n", option, disp_helper_option_spy(option), disp_helper_get_option(option), value); _disp_helper_option_value[option] = value; DISPCHECK("After set (%s) is (%d)\n", disp_helper_option_spy(option), disp_helper_get_option(option)); } else { DISPERR("Wrong option: %d\n", option); } }
int disp_helper_get_option_list(char *stringbuf, int buf_len) { int len = 0; int i = 0; for (i = 0; i < DISP_HELPER_OPTION_NUM; i++) { DISPMSG("Option: [%s] Value: [%d]\n", disp_helper_option_spy(i), disp_helper_get_option(i)); len += scnprintf(stringbuf + len, buf_len - len, "Option: [%d][%s] Value: [%d]\n", i, disp_helper_option_spy(i), disp_helper_get_option(i)); } return len; }
int rdma_build_cmdq(DISP_MODULE_ENUM module,void *cmdq_trigger_handle, CMDQ_STATE state) { int ret = 0; unsigned int idx = rdma_index(module); if(cmdq_trigger_handle == NULL) { DDPERR("cmdq_trigger_handle is NULL\n"); return -1; } if(disp_helper_get_option(DISP_HELPER_OPTION_DYNAMIC_SWITCH_UNDERFLOW_EN)) { if(state == CMDQ_AFTER_STREAM_EOF) { DISP_REG_SET_FIELD(cmdq_trigger_handle,FIFO_CON_FLD_FIFO_UNDERFLOW_EN, idx*DISP_RDMA_INDEX_OFFSET+ DISP_REG_RDMA_FIFO_CON, 0); } else if(state == CMDQ_AFTER_STREAM_SOF) { DISP_REG_SET_FIELD(cmdq_trigger_handle,FIFO_CON_FLD_FIFO_UNDERFLOW_EN, idx*DISP_RDMA_INDEX_OFFSET+ DISP_REG_RDMA_FIFO_CON, 1); } } return 0; }