Loading drivers/video/msm/mdss/mdss_mdp_pipe.c +20 −12 Original line number Diff line number Diff line Loading @@ -166,7 +166,7 @@ int mdss_mdp_smp_reserve(struct mdss_mdp_pipe *pipe) struct mdss_mdp_plane_sizes ps; int i; int rc = 0, rot_mode = 0; u32 nlines; u32 nlines, format; u16 width; width = pipe->src.w >> pipe->horz_deci; Loading @@ -179,8 +179,25 @@ int mdss_mdp_smp_reserve(struct mdss_mdp_pipe *pipe) pr_debug("BWC SMP strides ystride0=%x ystride1=%x\n", ps.ystride[0], ps.ystride[1]); } else { rc = mdss_mdp_get_plane_sizes(pipe->src_fmt->format, width, pipe->src.h, &ps, 0); format = pipe->src_fmt->format; /* * when decimation block is present, all chroma planes * are fetched on a single SMP plane for chroma pixels */ if (mdata->has_decimation) { switch (pipe->src_fmt->chroma_sample) { case MDSS_MDP_CHROMA_H2V1: format = MDP_Y_CRCB_H2V1; break; case MDSS_MDP_CHROMA_420: format = MDP_Y_CBCR_H2V2; break; default: break; } } rc = mdss_mdp_get_plane_sizes(format, width, pipe->src.h, &ps, 0); if (rc) return rc; Loading @@ -190,15 +207,6 @@ int mdss_mdp_smp_reserve(struct mdss_mdp_pipe *pipe) ps.ystride[0] = MAX_BPP * max(pipe->mixer->width, width); } else if (mdata->has_decimation) { /* * when decimation block is used, all chroma planes * are fetched on a single SMP plane for chroma pixels */ if (ps.num_planes == 3) { ps.num_planes = 2; ps.ystride[1] += ps.ystride[2]; } /* * To avoid quailty loss, MDP does one less decimation * on chroma components if they are subsampled. Loading Loading
drivers/video/msm/mdss/mdss_mdp_pipe.c +20 −12 Original line number Diff line number Diff line Loading @@ -166,7 +166,7 @@ int mdss_mdp_smp_reserve(struct mdss_mdp_pipe *pipe) struct mdss_mdp_plane_sizes ps; int i; int rc = 0, rot_mode = 0; u32 nlines; u32 nlines, format; u16 width; width = pipe->src.w >> pipe->horz_deci; Loading @@ -179,8 +179,25 @@ int mdss_mdp_smp_reserve(struct mdss_mdp_pipe *pipe) pr_debug("BWC SMP strides ystride0=%x ystride1=%x\n", ps.ystride[0], ps.ystride[1]); } else { rc = mdss_mdp_get_plane_sizes(pipe->src_fmt->format, width, pipe->src.h, &ps, 0); format = pipe->src_fmt->format; /* * when decimation block is present, all chroma planes * are fetched on a single SMP plane for chroma pixels */ if (mdata->has_decimation) { switch (pipe->src_fmt->chroma_sample) { case MDSS_MDP_CHROMA_H2V1: format = MDP_Y_CRCB_H2V1; break; case MDSS_MDP_CHROMA_420: format = MDP_Y_CBCR_H2V2; break; default: break; } } rc = mdss_mdp_get_plane_sizes(format, width, pipe->src.h, &ps, 0); if (rc) return rc; Loading @@ -190,15 +207,6 @@ int mdss_mdp_smp_reserve(struct mdss_mdp_pipe *pipe) ps.ystride[0] = MAX_BPP * max(pipe->mixer->width, width); } else if (mdata->has_decimation) { /* * when decimation block is used, all chroma planes * are fetched on a single SMP plane for chroma pixels */ if (ps.num_planes == 3) { ps.num_planes = 2; ps.ystride[1] += ps.ystride[2]; } /* * To avoid quailty loss, MDP does one less decimation * on chroma components if they are subsampled. Loading