From nobody Mon Jun 8 09:48:27 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6B8F5371041 for ; Thu, 4 Jun 2026 08:00:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780560053; cv=none; b=GGlo+Nojdz5ylg7ISl/dWBT4pflewHA6jNS29DjwcvPoEGHfNyDjKdUXHG8+cesiUsZiKPS4Ml6pGb8AG6BT2fHcXhzVrQeVNu1Pe4Cxu73bbzn0MpPSJtZ76kSFoHjUgJPfTFPs8QG9J28yRdb/evkB1cvisyWqB+dyUGRSr5Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780560053; c=relaxed/simple; bh=SzeLABb6avPmxnwdiZxjcIQRHpyuZ3zU/em6a5dKzkY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=T2ApUBQs7zRLGBeJBC0y1SG6I6bBdy+fYhxNOrJ9sp5IX8GhUNzyqYnvwxSAFmVMjhwX9Dy3xr3CHEwp4U5sLvbEvsWoDwuIZYEtwgFlL8Zrqp3lSm8Fn2J7YTvbLNwE9mM72AC4llexkXZVlqc8BBl63BfCSMLuLesykUZCqAo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=gn/DOa6l; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PAjTKh5x; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="gn/DOa6l"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PAjTKh5x" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65455VRc1039270 for ; Thu, 4 Jun 2026 08:00:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= +Xh6Cs1cbSS5zgpf/oVDf69c5gWGNxYKQYvaWj0LNpE=; b=gn/DOa6ltO/0E2Er 8QPItmJprmlL7iwKzhkZxvTbxpQVLduGK6YCb20OMAoUGolKnqg4t6reuTUSbaij MeIetPTdCrghA1IWFAL06YkVE689J+criCEc6j9YyrJB9QHbGkFMbg1kkDJfU90V Ou7N07qMnRiJvvjuoZudOTk1jCQWKtg4baypm0Je3u2vqQVMdhUlic6HcATr+WPi t7eNip+lT55jlmgSpPLbQhjj19xciRe7IxFX2ypK0qMU9L9MP131JuCDkOBHgcLI EzLaU8MMWFn/tdrKCUNnb6H38gC5ZIY6t2PJs7vAfYhezjH0Za3qe+J3KKgwy1y1 w/8fJg== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ejtj8j9x5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 04 Jun 2026 08:00:49 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2c0c20f7581so6585355ad.0 for ; Thu, 04 Jun 2026 01:00:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780560049; x=1781164849; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+Xh6Cs1cbSS5zgpf/oVDf69c5gWGNxYKQYvaWj0LNpE=; b=PAjTKh5xBGeZ6RyeaYcKdg/FfpVjeBn/5k7POR18H/6M0pGQFcY1kf3r4rZlh6db9+ gXIKhBk/RRBNwJnXzO3qxtTZLfYwJCmeAezzKUrelRg8Q299QWoE5KGiIE64lZrGze8P 5hZCf+7krriOowIB0aBmEnLWGQWk7Hkzn7wtMhGXCBUwAfLf0ov/47hUHLv0P236jk7Y fCPPa2wWyhP6oC9EpPNaeC85M0BnG/sB3fkyP63rEQm0ezQ7uAs8pRL5OY9lzljxFORi iPAqZEp//B4iszmjxK7HQ2Ou0GORiOu/Pa1uKbzcRrcDzbnIMSJzmQmbL9aZWiIG1zNR XAgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780560049; x=1781164849; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=+Xh6Cs1cbSS5zgpf/oVDf69c5gWGNxYKQYvaWj0LNpE=; b=YnvVTWCMLkAefqtqWhIRgXW5lyYx5Ph0fsHb8uzAIvxedYZBfZlpS8PjwHycISOudq VcsCw20PsISdxYKJjPghCzQxawAlmbcoxwwMGYlemaMns6RN/r1SfJiaOPfzcfCy9LEl sOAbv4DvO37F8zLBTuitRXTUiLYFLc0ad3Xeigrphw+e9oUCu7k3+x1Ze5fWlRtIxuDh tgMAcTmm+m4dQ5fFhxg58xuZTX8P5snIw/ktft4NnsPWGlsCDvF9cqsNsl732tiy6eYS kl0R0iPS048tF65Ug9LYzgtXYMr5salkWqnshexloEuskyXAPoRM1sdsuNbZNcxlEp7r zCRQ== X-Forwarded-Encrypted: i=1; AFNElJ8I9ieINjZ9Pr8okL+WIFlbK1MQ0g1dI8PM9NEb0vxdLpGj3U7BGAnJUjJZ/3dXUXr9gt7/lSTO9G1ApLE=@vger.kernel.org X-Gm-Message-State: AOJu0Yw6DglF9K/iqzvd5gPnAfJzgDsVlvgYYX/YyPAnTMo6ZY2C1frv 8o6jNzFQp+WfaO4cNukIkDsMhUURUpz6nsaX2d8Wa6Kk/8op0viq7la7M987lM9f2LTqKKzuaz/ /WeoM1VtC8sJDIrtqq5iK1n+WpM9fTofAANH6HduyHD4d8Pl7T4cdgo5SUo3uEqYK44c= X-Gm-Gg: Acq92OE4dAb8/u8ZLD/sooYMCs6rs8Q8HrQrCxdKuXNbzcRHhXWMmqaakQnL0/k3tr3 53MP2VNnkwiJ9ed2zpqlia3kPMMtlfFIPKntOAIuXefXMCzF4ZMN37bfw6KgvHe0fzRr/0cUR4P vcw0MwC9/VV2SuyPsYS4Kl5NrnM6pDkP8ifKkOCFgthI4UkHVsEfJT56LmmT3ePKJ4Laz3H0Xfx mb1ie/NtXV6ar7TcKoZthYJObSOk57CeAmeJFjkXdmE8FOWuDUkkV2jjDryIp57ys7kaUnTRdJo ccTbHq93n7cn3FsdsChRMhxqQ81eJxoafw9uWpbMiPYUvJwH6pCebBrkfh81rve5dG7KQttUuw8 utZLDzc/MfaYsYIgoyGD4EI4nvwXIDnBSkcvPCjYER1ofHESluTKMZeGYANonZvj04D52e5VmUl h/hBTjIXx2zDW4cr86GSavMAmm+jFt8p0= X-Received: by 2002:a17:903:2350:b0:2c0:cd80:47c5 with SMTP id d9443c01a7336-2c1644cd26amr73082785ad.27.1780560048980; Thu, 04 Jun 2026 01:00:48 -0700 (PDT) X-Received: by 2002:a17:903:2350:b0:2c0:cd80:47c5 with SMTP id d9443c01a7336-2c1644cd26amr73082245ad.27.1780560048423; Thu, 04 Jun 2026 01:00:48 -0700 (PDT) Received: from WANGAOW-LAB01.ap.qualcomm.com (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c164f6d211sm49374565ad.3.2026.06.04.01.00.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jun 2026 01:00:47 -0700 (PDT) From: Wangao Wang Date: Thu, 04 Jun 2026 16:00:38 +0800 Subject: [PATCH v2 1/2] media: qcom: iris: Add gop size support for gen1 encoder Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260604-dynamic_encode-v2-1-6e97df032482@oss.qualcomm.com> References: <20260604-dynamic_encode-v2-0-6e97df032482@oss.qualcomm.com> In-Reply-To: <20260604-dynamic_encode-v2-0-6e97df032482@oss.qualcomm.com> To: Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab Cc: quic_qiweil@quicinc.com, Renjiang Han , linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Wangao Wang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780560041; l=3190; i=wangao.wang@oss.qualcomm.com; s=20251021; h=from:subject:message-id; bh=SzeLABb6avPmxnwdiZxjcIQRHpyuZ3zU/em6a5dKzkY=; b=6IgiRku9dwXBEvsplda5wv++/ZeONbbq3jzp+GbUTFS80OI80vuTGPQnB1NP6dAYabQXD4f2q CDQBDFpERR2DJ5FYxJpcMgJpxNWmbSgtIIUHhv6oG0n0z/8yHF1fek5 X-Developer-Key: i=wangao.wang@oss.qualcomm.com; a=ed25519; pk=bUPgYblBUAsoPyGfssbNR7ZXUSGF8v1VF4FJzSO6/aA= X-Proofpoint-ORIG-GUID: QjXln8vk73jSBS9hiOr4g_chQ3-gIk3L X-Proofpoint-GUID: QjXln8vk73jSBS9hiOr4g_chQ3-gIk3L X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDA3NiBTYWx0ZWRfX4c4kmDqETjDb ygrcQu7lyPJAQjwAQraqJ2+2LvoMmCP/EVQG+GvsIm55LFaw6vQiTiTSTF9Daep12tCc7z+cjE7 f5+84HiEiVa4XnjXfecrErj/5MQwG25VBZ3FyJKwyAN6AVrjlkcQXKp5zufduL30qBfU6JxMZhz 0JwDoJc4bEzEzy1G0vLSs5L1Uqs39vMW2jvuHFFG1yFScokGD2mzepK4pJgRFz8p37+WXXNfVPm dImJhvuh5JMGbMYOYr61xziRE6o6We3CfRoPRKZk/nPigGeCMtzMEpZ8AahmRfJRzim3Mq1idyz G3TvlBedWe9oeXNZ6ESEfm1Hrgnu2LDi1YJh5q+ZiOFLa9KOVwUc0JShNxEusrZtsUyc329oPb8 JTDfJoSjnWM1pzZWLaqJELsaDIV+QgQkJzrwZkmPx0FDCX0otsRQaGuvptXKfcQAYzhXYKqUZiF JWtrzMjUIJzNgVTibgQ== X-Authority-Analysis: v=2.4 cv=f4p4wuyM c=1 sm=1 tr=0 ts=6a2130b1 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=pGpWkYCgaWylbXxf8R4A:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-04_02,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 phishscore=0 bulkscore=0 clxscore=1015 adultscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606040076 Add support for gop size configuration on gen1 encoder by enabling V4L2_CID_MPEG_VIDEO_GOP_SIZE. Signed-off-by: Wangao Wang --- drivers/media/platform/qcom/iris/iris_ctrls.c | 2 +- drivers/media/platform/qcom/iris/iris_hfi_gen1.c | 16 ++++---------= --- drivers/media/platform/qcom/iris/iris_platform_common.h | 1 - 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/drivers/media/platform/qcom/iris/iris_ctrls.c b/drivers/media/= platform/qcom/iris/iris_ctrls.c index 10e33b8a73f60759c4f1cb17b5c95897f0e1468f..391e1fc5f6e2ec8e9cf5ba4e0f7= 6b2d1da3e2a35 100644 --- a/drivers/media/platform/qcom/iris/iris_ctrls.c +++ b/drivers/media/platform/qcom/iris/iris_ctrls.c @@ -1293,7 +1293,7 @@ int iris_set_use_and_mark_ltr(struct iris_inst *inst,= enum platform_inst_fw_cap_ int iris_set_intra_period(struct iris_inst *inst, enum platform_inst_fw_ca= p_type cap_id) { const struct iris_hfi_session_ops *hfi_ops =3D inst->hfi_session_ops; - u32 gop_size =3D inst->fw_caps[GOP_SIZE].value; + u32 gop_size =3D inst->fw_caps[cap_id].value; u32 b_frame =3D inst->fw_caps[B_FRAME].value; u32 hfi_id =3D inst->fw_caps[cap_id].hfi_id; struct hfi_intra_period intra_period; diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen1.c b/drivers/med= ia/platform/qcom/iris/iris_hfi_gen1.c index ca1545d28b5310d8c45a905287dcb69f6184d9cc..eff9216bb50143c0d752051a640= 0605bbaf3803e 100644 --- a/drivers/media/platform/qcom/iris/iris_hfi_gen1.c +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen1.c @@ -171,7 +171,9 @@ static const struct platform_inst_fw_cap inst_fw_cap_sm= 8250_enc[] =3D { .max =3D (1 << 16) - 1, .step_or_mask =3D 1, .value =3D 30, - .set =3D iris_set_u32 + .hfi_id =3D HFI_PROPERTY_CONFIG_VENC_INTRA_PERIOD, + .flags =3D CAP_FLAG_OUTPUT_PORT, + .set =3D iris_set_intra_period, }, { .cap_id =3D ENTROPY_MODE, @@ -240,7 +242,7 @@ static const struct platform_inst_fw_cap inst_fw_cap_sm= 8250_enc[] =3D { .step_or_mask =3D 1, .value =3D 0, .hfi_id =3D HFI_PROPERTY_PARAM_VENC_INTRA_REFRESH, - .flags =3D CAP_FLAG_OUTPUT_PORT, + .flags =3D CAP_FLAG_OUTPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED, .set =3D iris_set_ir_period_gen1, }, { @@ -281,16 +283,6 @@ static const struct platform_inst_fw_cap inst_fw_cap_s= m8250_enc[] =3D { .value =3D 0, .flags =3D CAP_FLAG_OUTPUT_PORT, }, - { - .cap_id =3D INTRA_PERIOD, - .min =3D 0, - .max =3D 1, - .step_or_mask =3D 1, - .value =3D 0, - .hfi_id =3D HFI_PROPERTY_CONFIG_VENC_INTRA_PERIOD, - .flags =3D CAP_FLAG_OUTPUT_PORT, - .set =3D iris_set_intra_period, - }, { .cap_id =3D LAYER_ENABLE, .min =3D 0, diff --git a/drivers/media/platform/qcom/iris/iris_platform_common.h b/driv= ers/media/platform/qcom/iris/iris_platform_common.h index c9256f2323dc4521f9eacaeffb0fc08a180de3ff..ff48333ad089894c3393e8ad459= 03c2603288eb9 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_common.h +++ b/drivers/media/platform/qcom/iris/iris_platform_common.h @@ -165,7 +165,6 @@ enum platform_inst_fw_cap_type { USE_LTR, MARK_LTR, B_FRAME, - INTRA_PERIOD, LAYER_ENABLE, LAYER_TYPE_H264, LAYER_TYPE_HEVC, --=20 2.43.0 From nobody Mon Jun 8 09:48:27 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 75BD43C9429 for ; Thu, 4 Jun 2026 08:00:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780560056; cv=none; b=Alb/Uwxbqirh9bc/XULKEhqBImdh5w38UuSZxQdHfCEsic6exGr0tBIha0hQm8gvTwRbAqYBnEoNBSMhbzGea+yQ3xsWSPoAAZq5WjKyDrLDXMhvv/QSN2y/xQjzgOdjoPAItYjmWcm8sTxKd7RT4s+4nk7vBRNCfqPtjiv6yzw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780560056; c=relaxed/simple; bh=EiE+VHHefro8OiBitmnzA5TNiZ3gaXbD8UoLrYr6BAA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Jiokcb8N0vGwDv8Io2Mw7AnwK5HhndsV5A0vFV9PLupB+k59yj+sY6en8POXg2hYhPqbthWLOR9vFxSUuEqj3yHQykUtHhHDaDORsD3WXrPKdkVMfGFu8rpEvvkKOMIFjaCdoaolgNgTsNFxZqHZMGyTUK63YQBUTuKTgVuR0BY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=SCT9Mfkb; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=c+Ap7kjn; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="SCT9Mfkb"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="c+Ap7kjn" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6545QAQ0995280 for ; Thu, 4 Jun 2026 08:00:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= iAimtXJVctZnie/d4g9aAMYxEUy1h1YFWYvsr9dpqmk=; b=SCT9Mfkb7VuQzVvg wa8mWvQC/pXNJaLBeIafSRD68+pMQrJwnRv/mFk+ucAsMXipYM5zHCmhYU0vmLFE 4Y5M3t739uiR+TnNOkPT5HgkEsnGB/lJZtyN5C5tkohSoLZthQvI3j22uOxiiENx XQ1mCKCDbIYr9MuQaT22JMq5U5Yj40bVz0KUm5a/F+V0dMXFhrmUuwvaLb5DuPPo bGEasebWW9mhlqmV18VcF+g2tZsiEI3ccRrRI4ldrB5/IKDIT7MASazpYz8YBMGQ Am6BD6MztE4/iawqcqqdN7blpz3KwGCUNyquZipKQvib4GF35JzQfjro8P3hsWyh VuK4sw== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ek374rgt7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 04 Jun 2026 08:00:53 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2c0c272e532so5978635ad.1 for ; Thu, 04 Jun 2026 01:00:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780560053; x=1781164853; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=iAimtXJVctZnie/d4g9aAMYxEUy1h1YFWYvsr9dpqmk=; b=c+Ap7kjnlOs18xGttJUnzlSpQJJzCdDcNQY7Zfx+0XlfZtE4swtFxldP1wk0p/zX5u 8+zdr1S9L4f68fptquqF4E2COlZnBj5LcwFKp5dz01jjDcbR6E3/z4kzRItzSQpI8A0N d5x3d1HR344F/Ip1ZBckWqVWfoCVfM04n63mpCDyZYmEhwASOr3/EEXuvEydt0KOUoqb 4T8Xr708SaY4iCSbGJeFFkkVJMB/JYj6NhPJzCkW81fS0GPFzMYocF9CmutoVA32VDe/ +RAI2n3vrOoKBcQQALO2G7c9TsMJVjgwGQVAV+MPHRipW579SomliqMByLoBv1b+P35j YTiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780560053; x=1781164853; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=iAimtXJVctZnie/d4g9aAMYxEUy1h1YFWYvsr9dpqmk=; b=cG3JdPjxQUs83mduQMPohHyTnWV7VFUweB253lrYaAzso8hDV54eo8pQn99i4jQdbo H1P6UuewmB4zYcmnDiUqDVxQ42MF+zs7NUeQ9cr0MfSFVPx9n1AVc9PckFP1+UqjQD2X Ws4GvLBAExl+YeGp2NsZJ6C7FK0qb0IB9PEZzYyoDfG35YRv3jyiuzxjxzux4m1W9hIw s6GUoo31C63XOx8gue0Eb1VBw2sYafFbEGxPt1hmpXP/qYQIAvP9X3uXWBeiu8tFzDp/ sMLQD3RX0avfzxiD3+BkWgljiUZUS9eq6AgJ8IfXElQR70EmIoQlX0b8//klbFkgQ4a6 E9NQ== X-Forwarded-Encrypted: i=1; AFNElJ97c3OU5/6rSVP+w2nBKL8POEJ6TEHvMRaq+wG18mqJLPMIMhjTRLzTIalYquzLbZPHrRcSMydZ15N4m/0=@vger.kernel.org X-Gm-Message-State: AOJu0YwkTYyfx9eorE0Dqs2SQ03Fliec48TqzP3VCkGbrH9oCfyIgPTy SsFcp4nIaiEfQlQX/HrtrkA/JEiEWM6PFUYE4CLmwLrpw4adoFOa6zsfCoGPf/Smcv6uCq8p6ym ksIHh1zmbI1G3UhHetvTKf/QA4blBwFnQW06bGXvDQq2bjOo8DBE0SYbl0/ZekULESTM= X-Gm-Gg: Acq92OF0Rylg42ycpSaKHaQSRM29Vy2wxZzWmQhdeBANuhXAzLGTjn7BwkC94F+yips wXJhY5hIXoG/6V+1+UiChZe3mVcb22A23BetzgtJ9EgLi0UNt58KkFi4wER85/1+vo8UQ4k9sXr zUZtkHJslQtLoArEIcIKDClPzTow4RJcxNBtJwfkgqaH46MmPlaa/N51sAQFtHspzsjoZvM1eyB stXP7J8MicbyTkp5jwh/l0filJaHAHlqKXFHKTJ9wbPuG4XK/teGESG1BnY83wZV0YjKCDjF6Dr uz63qBRkW6+UgbgpW4RqNq9ZYaHhGkMqBqnrwCMmTUQbU8pbG02J5QGzkJ3cPoBO2gQneZC7xip 3KjtFCUxy0FK+UcYGTCEYNmBHPknt4sU/+iGX7kQQ8ftqHb3gTreOJ56Ow9nukv7mg20oIxAscA 5PQ10IJdkBoDyWBE+bZ3rvrMWSeGBd+5M= X-Received: by 2002:a17:903:4b46:b0:2c0:c262:b925 with SMTP id d9443c01a7336-2c163d8c0f7mr75655605ad.25.1780560052781; Thu, 04 Jun 2026 01:00:52 -0700 (PDT) X-Received: by 2002:a17:903:4b46:b0:2c0:c262:b925 with SMTP id d9443c01a7336-2c163d8c0f7mr75654895ad.25.1780560052064; Thu, 04 Jun 2026 01:00:52 -0700 (PDT) Received: from WANGAOW-LAB01.ap.qualcomm.com (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c164f6d211sm49374565ad.3.2026.06.04.01.00.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jun 2026 01:00:51 -0700 (PDT) From: Wangao Wang Date: Thu, 04 Jun 2026 16:00:39 +0800 Subject: [PATCH v2 2/2] media: qcom: iris: Add request key frame support for encoder Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260604-dynamic_encode-v2-2-6e97df032482@oss.qualcomm.com> References: <20260604-dynamic_encode-v2-0-6e97df032482@oss.qualcomm.com> In-Reply-To: <20260604-dynamic_encode-v2-0-6e97df032482@oss.qualcomm.com> To: Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab Cc: quic_qiweil@quicinc.com, Renjiang Han , linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Wangao Wang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780560041; l=8085; i=wangao.wang@oss.qualcomm.com; s=20251021; h=from:subject:message-id; bh=EiE+VHHefro8OiBitmnzA5TNiZ3gaXbD8UoLrYr6BAA=; b=o9BR39Ke88CvVtM0eF5M+OOnW1cpSe9rnrDpIQQ8WwSFgXNwIW/5cvGvdTbC1WzMCli2VYoFE 0b0qmL3HZ+jCn7ZGJcqPABL5JWzRV8QfiN65E362C47hyp45a+njJ7x X-Developer-Key: i=wangao.wang@oss.qualcomm.com; a=ed25519; pk=bUPgYblBUAsoPyGfssbNR7ZXUSGF8v1VF4FJzSO6/aA= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA0MDA3NiBTYWx0ZWRfX4WXBfhY5CldL FqzqIg89qKFBz5Fe6d1BBW8NMMQsMvpM5XwtkCci0ia02PmbwJT8Vscar8r/qPO8znSA6kr6ZfD TFLKqS0fu0NOVbOdZ9iNyIw0SdQB/UK8xjPT/6iq1DZoBKeLuBJ6NxxZNbg5dkGKhuwcRlHAV72 8hJ0MMPxiaKBDq5x9oZs6JpwUFTMfDBjBV6qLvBbI568zqOFBTWiSBZh9m9MQbBWpaACCi8VxBI 3wDw6saTWCXs1WpRyxUP0g9fRVre6BH59/MG0z2d+KQP3+DoJflYg2UygcgeEU5le1KO0pxfxPn rarM0qOj7qoNLrjYkNakwaIpEYQVn8EjYdQwbSmrFUL9hsFhLcl4lM4Rpqfo8xw2qjQMC2bN/Vh 2I8qvauKwEWiGvMua9niqhqhXAfcu1ftqmkclHPbgKogY6kzGNTBZ7NaAWAajFV+R1EyWORJ4to Wn6I3CEDCd8UOiegTMA== X-Proofpoint-GUID: oflr10lPslr_hzP759mt-hJPDeb45853 X-Proofpoint-ORIG-GUID: oflr10lPslr_hzP759mt-hJPDeb45853 X-Authority-Analysis: v=2.4 cv=eJsjSnp1 c=1 sm=1 tr=0 ts=6a2130b5 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=MFY719BeqwQqaFbi1xsA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-04_02,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 phishscore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 priorityscore=1501 clxscore=1015 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606040076 Add request key frame support for both gen1 and gen2 encoders by enabling V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME. Signed-off-by: Wangao Wang --- drivers/media/platform/qcom/iris/iris_ctrls.c | 22 ++++++++++++++++++= ++++ drivers/media/platform/qcom/iris/iris_ctrls.h | 1 + drivers/media/platform/qcom/iris/iris_hfi_gen1.c | 10 ++++++++++ .../platform/qcom/iris/iris_hfi_gen1_command.c | 3 +++ .../platform/qcom/iris/iris_hfi_gen1_defines.h | 1 + drivers/media/platform/qcom/iris/iris_hfi_gen2.c | 12 +++++++++++- .../platform/qcom/iris/iris_hfi_gen2_defines.h | 7 +++++++ .../platform/qcom/iris/iris_platform_common.h | 1 + 8 files changed, 56 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/qcom/iris/iris_ctrls.c b/drivers/media/= platform/qcom/iris/iris_ctrls.c index 391e1fc5f6e2ec8e9cf5ba4e0f76b2d1da3e2a35..2918a7df0b403a886648e90ec00= 968f51c4660a0 100644 --- a/drivers/media/platform/qcom/iris/iris_ctrls.c +++ b/drivers/media/platform/qcom/iris/iris_ctrls.c @@ -154,6 +154,8 @@ static enum platform_inst_fw_cap_type iris_get_cap_id(u= 32 id) return LAYER4_BITRATE_HEVC; case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR: return LAYER5_BITRATE_HEVC; + case V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME: + return REQUEST_SYNC_FRAME; default: return INST_FW_CAP_MAX; } @@ -297,6 +299,8 @@ static u32 iris_get_v4l2_id(enum platform_inst_fw_cap_t= ype cap_id) return V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR; case LAYER5_BITRATE_HEVC: return V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR; + case REQUEST_SYNC_FRAME: + return V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME; default: return 0; } @@ -1477,6 +1481,24 @@ int iris_set_layer_bitrate(struct iris_inst *inst, e= num platform_inst_fw_cap_typ &bitrate, sizeof(u32)); } =20 +int iris_set_req_sync_frame(struct iris_inst *inst, enum platform_inst_fw_= cap_type cap_id) +{ + const struct iris_hfi_session_ops *hfi_ops =3D inst->hfi_session_ops; + u32 hfi_id =3D inst->fw_caps[cap_id].hfi_id; + u32 hfi_val =3D 0; + + if (inst->fw_caps[PREPEND_SPSPPS_TO_IDR].value) + hfi_val =3D HFI_SYNC_FRAME_REQUEST_WITH_PREFIX_SEQ_HDR; + else + hfi_val =3D HFI_SYNC_FRAME_REQUEST_WITHOUT_SEQ_HDR; + + return hfi_ops->session_set_property(inst, hfi_id, + HFI_HOST_FLAGS_NONE, + iris_get_port_info(inst, cap_id), + HFI_PAYLOAD_U32_ENUM, + &hfi_val, sizeof(u32)); +} + int iris_set_properties(struct iris_inst *inst, u32 plane) { const struct iris_hfi_session_ops *hfi_ops =3D inst->hfi_session_ops; diff --git a/drivers/media/platform/qcom/iris/iris_ctrls.h b/drivers/media/= platform/qcom/iris/iris_ctrls.h index 3c462ec9190be8935176b290588f224fe4f144a4..8d8bbef960076c08e5af0f65920= dde187f24a313 100644 --- a/drivers/media/platform/qcom/iris/iris_ctrls.h +++ b/drivers/media/platform/qcom/iris/iris_ctrls.h @@ -47,6 +47,7 @@ int iris_set_layer_type(struct iris_inst *inst, enum plat= form_inst_fw_cap_type c int iris_set_layer_count_gen1(struct iris_inst *inst, enum platform_inst_f= w_cap_type cap_id); int iris_set_layer_count_gen2(struct iris_inst *inst, enum platform_inst_f= w_cap_type cap_id); int iris_set_layer_bitrate(struct iris_inst *inst, enum platform_inst_fw_c= ap_type cap_id); +int iris_set_req_sync_frame(struct iris_inst *inst, enum platform_inst_fw_= cap_type cap_id); int iris_set_properties(struct iris_inst *inst, u32 plane); =20 #endif diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen1.c b/drivers/med= ia/platform/qcom/iris/iris_hfi_gen1.c index eff9216bb50143c0d752051a6400605bbaf3803e..04c78417dbae33dff1cc7099e6f= 105caa606048e 100644 --- a/drivers/media/platform/qcom/iris/iris_hfi_gen1.c +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen1.c @@ -375,6 +375,16 @@ static const struct platform_inst_fw_cap inst_fw_cap_s= m8250_enc[] =3D { CAP_FLAG_DYNAMIC_ALLOWED, .set =3D iris_set_bitrate_gen1, }, + { + .cap_id =3D REQUEST_SYNC_FRAME, + .min =3D 0, + .max =3D 0, + .step_or_mask =3D 0, + .value =3D 0, + .hfi_id =3D HFI_PROPERTY_CONFIG_VENC_REQUEST_SYNC_FRAME, + .flags =3D CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED, + .set =3D iris_set_req_sync_frame, + }, }; =20 static const u32 sm8250_vdec_input_config_param_default[] =3D { diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c b/dri= vers/media/platform/qcom/iris/iris_hfi_gen1_command.c index 7674b47ad6c49adfaf16b444c8ec7295b230a529..d7fd867cf6c98523123e9205fcf= e4b469708da72 100644 --- a/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c @@ -741,6 +741,9 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_se= ssion_set_property_pkt *p packet->shdr.hdr.size +=3D sizeof(u32); break; } + case HFI_PROPERTY_CONFIG_VENC_REQUEST_SYNC_FRAME: { + break; + } default: return -EINVAL; } diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen1_defines.h b/dri= vers/media/platform/qcom/iris/iris_hfi_gen1_defines.h index 0e4dee19238464a9671a94eaab8eeda2d7f7ca9f..275f3fea3d2aabe26a2a0498c78= c09ec28765b24 100644 --- a/drivers/media/platform/qcom/iris/iris_hfi_gen1_defines.h +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen1_defines.h @@ -157,6 +157,7 @@ #define HFI_PROPERTY_PARAM_VENC_HIER_P_MAX_NUM_ENH_LAYER 0x2005026 #define HFI_PROPERTY_CONFIG_VENC_TARGET_BITRATE 0x2006001 #define HFI_PROPERTY_CONFIG_VENC_INTRA_PERIOD 0x2006003 +#define HFI_PROPERTY_CONFIG_VENC_REQUEST_SYNC_FRAME 0x2006004 #define HFI_PROPERTY_CONFIG_VENC_MARKLTRFRAME 0x2006009 #define HFI_PROPERTY_CONFIG_VENC_USELTRFRAME 0x200600a #define HFI_PROPERTY_CONFIG_VENC_SYNC_FRAME_SEQUENCE_HEADER 0x2006008 diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen2.c b/drivers/med= ia/platform/qcom/iris/iris_hfi_gen2.c index acc0ed8adda1ae726c94ab6346b0b4b2b3db1d7b..df8e70b133a12e513aab04427ea= 96fca22055fcf 100644 --- a/drivers/media/platform/qcom/iris/iris_hfi_gen2.c +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen2.c @@ -937,7 +937,17 @@ static const struct platform_inst_fw_cap inst_fw_cap_s= m8550_enc[] =3D { .flags =3D CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED, .set =3D iris_set_layer_bitrate, - } + }, + { + .cap_id =3D REQUEST_SYNC_FRAME, + .min =3D 0, + .max =3D 0, + .step_or_mask =3D 0, + .value =3D 0, + .hfi_id =3D HFI_PROP_REQUEST_SYNC_FRAME, + .flags =3D CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED, + .set =3D iris_set_req_sync_frame, + }, }; =20 static const u32 sm8550_vdec_input_config_params_default[] =3D { diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen2_defines.h b/dri= vers/media/platform/qcom/iris/iris_hfi_gen2_defines.h index 776b21cd11b2cd5555cbced8e438cb32e87a539c..a8b47e4ceba0fc868125f841a56= 35476571aab85 100644 --- a/drivers/media/platform/qcom/iris/iris_hfi_gen2_defines.h +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen2_defines.h @@ -90,6 +90,13 @@ enum hfi_layer_encoding_type { #define HFI_PROP_BITRATE_LAYER4 0x0300013f #define HFI_PROP_BITRATE_LAYER5 0x03000140 #define HFI_PROP_BITRATE_LAYER6 0x03000141 + +enum hfi_syncframe_request_mode { + HFI_SYNC_FRAME_REQUEST_WITHOUT_SEQ_HDR =3D 0x00000001, + HFI_SYNC_FRAME_REQUEST_WITH_PREFIX_SEQ_HDR =3D 0x00000002, +}; + +#define HFI_PROP_REQUEST_SYNC_FRAME 0x03000145 #define HFI_PROP_MAX_GOP_FRAMES 0x03000146 #define HFI_PROP_MAX_B_FRAMES 0x03000147 #define HFI_PROP_QUALITY_MODE 0x03000148 diff --git a/drivers/media/platform/qcom/iris/iris_platform_common.h b/driv= ers/media/platform/qcom/iris/iris_platform_common.h index ff48333ad089894c3393e8ad45903c2603288eb9..23b6e7676d05bd01725f8e2cfca= 47b06ef112c27 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_common.h +++ b/drivers/media/platform/qcom/iris/iris_platform_common.h @@ -182,6 +182,7 @@ enum platform_inst_fw_cap_type { LAYER3_BITRATE_HEVC, LAYER4_BITRATE_HEVC, LAYER5_BITRATE_HEVC, + REQUEST_SYNC_FRAME, INST_FW_CAP_MAX, }; =20 --=20 2.43.0