Re: [PATCH v2] [media] mtk-mdp: Fix g_/s_selection capture/compose logic

From: Hans Verkuil
Date: Thu Jun 15 2017 - 04:45:31 EST


On 06/15/17 08:29, Minghsiu Tsai wrote:
> Hi, Hans,
>
> Would you have time to review this patch v2?
> The patch v1 violates v4l2 spec. I have fixed it in v2.

I plan to review it Friday or Monday.

Regards,

Hans

>
>
> Sincerely,
> Ming Hsiu
>
> On Fri, 2017-05-12 at 10:42 +0800, Minghsiu Tsai wrote:
>> From: Daniel Kurtz <djkurtz@xxxxxxxxxxxx>
>>
>> Experiments show that the:
>> (1) mtk-mdp uses the _MPLANE form of CAPTURE/OUTPUT
>> (2) CAPTURE types use CROP targets, and OUTPUT types use COMPOSE targets
>>
>> Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx>
>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai@xxxxxxxxxxxx>
>> Signed-off-by: Houlong Wei <houlong.wei@xxxxxxxxxxxx>
>>
>> ---
>> Changes in v2:
>> . Can not use *_MPLANE type in g_/s_selection
>> ---
>> drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c | 10 +++++-----
>> 1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c b/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c
>> index 13afe48..e18ac626 100644
>> --- a/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c
>> +++ b/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c
>> @@ -838,10 +838,10 @@ static int mtk_mdp_m2m_g_selection(struct file *file, void *fh,
>> bool valid = false;
>>
>> if (s->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) {
>> - if (mtk_mdp_is_target_compose(s->target))
>> + if (mtk_mdp_is_target_crop(s->target))
>> valid = true;
>> } else if (s->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) {
>> - if (mtk_mdp_is_target_crop(s->target))
>> + if (mtk_mdp_is_target_compose(s->target))
>> valid = true;
>> }
>> if (!valid) {
>> @@ -908,10 +908,10 @@ static int mtk_mdp_m2m_s_selection(struct file *file, void *fh,
>> bool valid = false;
>>
>> if (s->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) {
>> - if (s->target == V4L2_SEL_TGT_COMPOSE)
>> + if (s->target == V4L2_SEL_TGT_CROP)
>> valid = true;
>> } else if (s->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) {
>> - if (s->target == V4L2_SEL_TGT_CROP)
>> + if (s->target == V4L2_SEL_TGT_COMPOSE)
>> valid = true;
>> }
>> if (!valid) {
>> @@ -925,7 +925,7 @@ static int mtk_mdp_m2m_s_selection(struct file *file, void *fh,
>> if (ret)
>> return ret;
>>
>> - if (mtk_mdp_is_target_crop(s->target))
>> + if (mtk_mdp_is_target_compose(s->target))
>> frame = &ctx->s_frame;
>> else
>> frame = &ctx->d_frame;
>
>