media: venus: hfi_cmds: Fix conceal color property
authorStanimir Varbanov <stanimir.varbanov@linaro.org>
Wed, 28 Apr 2021 21:50:20 +0000 (23:50 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 2 Jun 2021 10:23:59 +0000 (12:23 +0200)
The conceal color property used for Venus v4 and v6 has the same
payload structure. But currently v4 follow down to payload
structure for v1. Correct this by moving set_property to v4.

Fixes: 4ef6039fad8f ("media: venus: vdec: Add support for conceal control")
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/qcom/venus/hfi_cmds.c

index 11a8347e5f5c81124445de01af3bf632175fd962..4b9dea7f6940e0829eadce04f7265f590148595f 100644 (file)
@@ -1226,6 +1226,17 @@ pkt_session_set_property_4xx(struct hfi_session_set_property_pkt *pkt,
                pkt->shdr.hdr.size += sizeof(u32) + sizeof(*hdr10);
                break;
        }
+       case HFI_PROPERTY_PARAM_VDEC_CONCEAL_COLOR: {
+               struct hfi_conceal_color_v4 *color = prop_data;
+               u32 *in = pdata;
+
+               color->conceal_color_8bit = *in & 0xff;
+               color->conceal_color_8bit |= ((*in >> 10) & 0xff) << 8;
+               color->conceal_color_8bit |= ((*in >> 20) & 0xff) << 16;
+               color->conceal_color_10bit = *in;
+               pkt->shdr.hdr.size += sizeof(u32) + sizeof(*color);
+               break;
+       }
 
        case HFI_PROPERTY_CONFIG_VENC_MAX_BITRATE:
        case HFI_PROPERTY_CONFIG_VDEC_POST_LOOP_DEBLOCKER:
@@ -1279,17 +1290,6 @@ pkt_session_set_property_6xx(struct hfi_session_set_property_pkt *pkt,
                pkt->shdr.hdr.size += sizeof(u32) + sizeof(*cq);
                break;
        }
-       case HFI_PROPERTY_PARAM_VDEC_CONCEAL_COLOR: {
-               struct hfi_conceal_color_v4 *color = prop_data;
-               u32 *in = pdata;
-
-               color->conceal_color_8bit = *in & 0xff;
-               color->conceal_color_8bit |= ((*in >> 10) & 0xff) << 8;
-               color->conceal_color_8bit |= ((*in >> 20) & 0xff) << 16;
-               color->conceal_color_10bit = *in;
-               pkt->shdr.hdr.size += sizeof(u32) + sizeof(*color);
-               break;
-       }
        default:
                return pkt_session_set_property_4xx(pkt, cookie, ptype, pdata);
        }