Exemple #1
0
static int vfe_7x_init(struct msm_vfe_resp *presp,
	struct platform_device *dev)
{
	int rc = 0;

	init_waitqueue_head(&stopevent.wait);
	stopevent.timeout = 200;
	stopevent.state = 0;

	if (presp && presp->vfe_resp)
		resp = presp;
	else{
		CDBG_ERR("vfe_7k_init:fail here presp :0x%p  presp->vfe_resp:0x%p\n",
			presp,
			presp->vfe_resp);
		return -EFAULT;
	}
	/* Bring up all the required GPIOs and Clocks */
	rc = msm_camio_enable(dev);
	if (rc < 0){
		CDBG_ERR("vfe_7k_init:msm_camio_enable fail\n");
		return rc;
	}
	msm_camio_camif_pad_reg_reset();

	extlen = sizeof(struct vfe_frame_extra);

	extdata = kmalloc(extlen, GFP_ATOMIC);
	if (!extdata) {
		rc = -ENOMEM;
		goto init_fail;
	}
	rc = msm_adsp_get("QCAMTASK", &qcam_mod, &vfe_7x_sync, NULL);
	if (rc) {
		rc = -EBUSY;
		CDBG_ERR("vfe_7k_init:faile here %d\n",__LINE__);
		goto get_qcam_fail;
	}
	rc = msm_adsp_get("VFETASK", &vfe_mod, &vfe_7x_sync, NULL);
	if (rc) {
		rc = -EBUSY;
		CDBG_ERR("vfe_7k_init:faile here %d\n",__LINE__);
		goto get_vfe_fail;
	}

	return 0;

get_vfe_fail:
	msm_adsp_put(qcam_mod);
get_qcam_fail:
	kfree(extdata);
init_fail:
	extlen = 0;
	return rc;
}
Exemple #2
0
static int vfe_init(struct msm_vfe_callback *presp,
	struct platform_device *dev)
{
	int rc = 0;

	rc = vfe_cmd_init(presp, dev, vfe_syncdata);
	if (rc < 0)
		return rc;

	/* Bring up all the required GPIOs and Clocks */
	return msm_camio_enable(dev);
}
Exemple #3
0
static int vfe_init(struct msm_vfe_callback *presp,
	struct platform_device *dev)
{
	int rc = 0;

	rc = vfe_cmd_init(presp, dev, vfe_syncdata);
	if (rc < 0)
		return rc;

	
	return msm_camio_enable(dev);
}
Exemple #4
0
static int vfe_init(struct msm_vfe_callback *presp,
	struct platform_device *dev)
{
	int rc = 0;

	rc = vfe_cmd_init(presp, dev, vfe_syncdata);
	if (rc < 0)
		return rc;

	/* Bring up all the required GPIOs and Clocks */
	rc = msm_camio_enable(dev);
	if (rc < 0) {
		return rc;
	} else {
		rc = request_axi_qos();
		if (rc < 0)
			CDBG("request of axi qos failed\n");
	}
	return rc;
}
static int vfe_init(struct msm_vfe_callback *presp, struct platform_device *dev)
{
	int rc = 0;

	ebi1_clk = clk_get(NULL, clk_name);
	if (!ebi1_clk) {
		pr_err("%s: could not get %s\n", __func__, clk_name);
		return -EIO;
	}

	rc = clk_set_rate(ebi1_clk, 128000000);
	if (rc < 0) {
		pr_err("%s: clk_set_rate(%s) failed: %d\n", __func__,
			clk_name, rc);
		return rc;
	}

	rc = vfe_cmd_init(presp, dev, vfe_syncdata);
	if (rc < 0)
		return rc;

	/* Bring up all the required GPIOs and Clocks */
	return msm_camio_enable(dev);
}