u32 vcd_update_decoder_perf_level(struct vcd_dev_ctxt *dev_ctxt, u32 perf_lvl)
{
	u32 rc = VCD_S_SUCCESS;

	if (res_trk_set_perf_level(perf_lvl,
		&dev_ctxt->curr_perf_lvl, dev_ctxt)) {
		dev_ctxt->set_perf_lvl_pending = false;
	} else {
		rc = VCD_ERR_FAIL;
		dev_ctxt->set_perf_lvl_pending = true;
	}

	return rc;
}
u32 vcd_set_perf_level(struct vcd_dev_ctxt *dev_ctxt, u32 perf_lvl)
{
	u32 rc = VCD_S_SUCCESS;
	if (!vcd_core_is_busy(dev_ctxt)) {
		if (res_trk_set_perf_level(perf_lvl,
			&dev_ctxt->curr_perf_lvl, dev_ctxt)) {
			dev_ctxt->set_perf_lvl_pending = false;
		} else {
			rc = VCD_ERR_FAIL;
			dev_ctxt->set_perf_lvl_pending = true;
		}

	} else {
		dev_ctxt->set_perf_lvl_pending = true;
	}

	return rc;
}
Esempio n. 3
0
u32 vcd_set_perf_level(struct vcd_dev_ctxt_type *p_dev_ctxt,
	u32 n_perf_lvl, struct vcd_clnt_ctxt_type_t *p_cctxt)
{
	u32 rc = VCD_S_SUCCESS;

	if (!vcd_core_is_busy(p_dev_ctxt)) {
		if (res_trk_set_perf_level(n_perf_lvl,
			&p_dev_ctxt->n_curr_perf_lvl, p_cctxt)) {
			p_dev_ctxt->b_set_perf_lvl_pending = FALSE;
		} else {
			rc = VCD_ERR_FAIL;
			p_dev_ctxt->b_set_perf_lvl_pending = TRUE;
		}

	} else {
		p_dev_ctxt->b_set_perf_lvl_pending = TRUE;
	}

	return rc;
}