示例#1
0
static struct mdss_mdp_pipe *mdss_mdp_rotator_pipe_alloc(void)
{
	struct mdss_mdp_mixer *mixer;
	struct mdss_mdp_pipe *pipe = NULL;
	int pnum;

	mixer = mdss_mdp_wb_mixer_alloc(1);
	if (!mixer)
		return NULL;

	switch (mixer->num) {
	case MDSS_MDP_LAYERMIXER3:
		pnum = MDSS_MDP_SSPP_DMA0;
		break;
	case MDSS_MDP_LAYERMIXER4:
		pnum = MDSS_MDP_SSPP_DMA1;
		break;
	default:
		goto done;
	}

	pipe = mdss_mdp_pipe_alloc_pnum(pnum);

	if (pipe)
		pipe->mixer = mixer;
done:
	if (!pipe)
		mdss_mdp_wb_mixer_destroy(mixer);

	return pipe;
}
示例#2
0
static struct mdss_mdp_pipe *mdss_mdp_rotator_pipe_alloc(void)
{
	struct mdss_mdp_mixer *mixer;
	struct mdss_mdp_pipe *pipe = NULL;

	mixer = mdss_mdp_wb_mixer_alloc(1);
	if (!mixer)
		return NULL;

	pipe = mdss_mdp_pipe_alloc_dma(mixer);

	if (!pipe)
		mdss_mdp_wb_mixer_destroy(mixer);

	return pipe;
}
static struct mdss_mdp_pipe *mdss_mdp_rotator_pipe_alloc(void)
{
	struct mdss_mdp_mixer *mixer;
	struct mdss_mdp_pipe *pipe = NULL;

	mixer = mdss_mdp_wb_mixer_alloc(1);
	if (!mixer) {
		pr_debug("wb mixer alloc failed\n");
		return NULL;
	}

	pipe = mdss_mdp_pipe_alloc_dma(mixer);
	if (!pipe) {
		mdss_mdp_wb_mixer_destroy(mixer);
		pr_debug("dma pipe allocation failed\n");
	}

	return pipe;
}
示例#4
0
static struct mdss_mdp_pipe *mdss_mdp_rotator_pipe_alloc(void)
{
	struct mdss_mdp_mixer *mixer;
	struct mdss_mdp_pipe *pipe = NULL;

	mixer = mdss_mdp_wb_mixer_alloc(1);
	if (!mixer) {
		pr_err("wb mixer alloc failed\n");
		return NULL;
	}

	pipe = mdss_mdp_pipe_alloc_dma(mixer);
	if (!pipe) {
		mdss_mdp_wb_mixer_destroy(mixer);
		pr_err("dma pipe allocation failed\n");
		return NULL;
	}
	pipe->mixer_stage = MDSS_MDP_STAGE_UNUSED;
	return pipe;
}