Commit 6e2202ca authored by Stanimir Varbanov's avatar Stanimir Varbanov Committed by Mauro Carvalho Chehab
Browse files

media: venus: hfi_cmds: Fix conceal color property



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: 4ef6039f ("media: venus: vdec: Add support for conceal control")
Signed-off-by: default avatarStanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 8f6a0eab
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -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);
	}