media: allegro: fix row and column in response message
authorMichael Tretter <m.tretter@pengutronix.de>
Wed, 8 Sep 2021 13:03:49 +0000 (14:03 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 20 Oct 2021 14:57:27 +0000 (15:57 +0100)
The fields for the number of rows and columns in the encode frame
response message are switched. This causes broken PPS, if the encoder
uses tiles for encoding and the number of rows and columns differ.

Write the fields of the response message into the correct fields of the
the internal data structure when parsing the response message.

Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/allegro-dvt/allegro-mail.c

index d81fae3ed3e4a62a7e4cd53e56e5cf3ea45399af..16effad107469878d6115cd5771df0f75160e261 100644 (file)
@@ -426,8 +426,8 @@ allegro_dec_encode_frame(struct mcu_msg_encode_frame_response *msg, u32 *src)
        msg->frame_tag_size = src[i++];
        msg->stuffing = src[i++];
        msg->filler = src[i++];
-       msg->num_column = FIELD_GET(GENMASK(31, 16), src[i]);
-       msg->num_row = FIELD_GET(GENMASK(15, 0), src[i++]);
+       msg->num_row = FIELD_GET(GENMASK(31, 16), src[i]);
+       msg->num_column = FIELD_GET(GENMASK(15, 0), src[i++]);
        msg->num_ref_idx_l1 = FIELD_GET(GENMASK(31, 24), src[i]);
        msg->num_ref_idx_l0 = FIELD_GET(GENMASK(23, 16), src[i]);
        msg->qp = FIELD_GET(GENMASK(15, 0), src[i++]);