Example #1
0
int mfc_start(struct mfc_dev *dev)
{
	int ret;

	/* FIXME: when MFC start, load firmware again */
	/*
	dev->fw.state = mfc_load_firmware(dev->fw.info->data, dev->fw.info->size);
	*/

	mfc_clock_on(dev);

	if (mfc_reset() == false) {
		mfc_clock_off(dev);
		return MFC_FAIL;
	}

	mfc_init_memctrl();
	mfc_clear_cmds();

	ret = mfc_cmd_fw_start(dev);
	if (ret < 0) {
		mfc_clock_off(dev);
		return ret;
	}

	ret = mfc_cmd_sys_init(dev);

	mfc_clock_off(dev);

	return ret;
}
Example #2
0
int mfc_wakeup(struct mfc_dev *dev)
{
	int ret;

	/* FIXME: add mfc_power_on()? */

	//mfc_clock_on();
	mfc_clock_on(dev);

	if (mfc_reset() == false) {
		//mfc_clock_off();
		mfc_clock_off(dev);
		return MFC_FAIL;
	}

	mfc_init_memctrl();
	mfc_clear_cmds();

	ret = mfc_cmd_sys_wakeup(dev);

	//mfc_clock_off();
	mfc_clock_off(dev);

	/* FIXME: ret = 0 */
	return ret;
}