From nobody Fri Jul 24 05:21:21 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 4960835E1A1 for ; Thu, 23 Jul 2026 02:56:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784775367; cv=none; b=pSYzHxDUJquOzVNpH4vUMZw3+bSD6uUPRK1fNOHM+B39A24XnOlYGXO1Bd37Nj4+/bxIp54YNPx2DKUGKtV10YwPfvapvD6POtFIWc3w/S3viBmzmPDjZlrxDwl7RpRxpD/CFSEx0H2lUT8EyYQN3qLNVPEDF9sYumeNlJHzqYg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784775367; c=relaxed/simple; bh=67T+j2UaaqerqBmfkIf5ha2iI2hIJXUPaaxcGjCzXpo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=e3NBujvk23ypBTqrnDst0QccDn8dmmyjraZl2fBmxL9c4ac30HeU7kQ/QOi1D63yYvZsMJ76It4/gc/QpFZNmp6bCuGvcq8NbHtJCCJmWifEhwcvGawktlZJbPe7yEmtfXFPmN0/zj7u4GUmQh/t8cExP5CKTN96Fh9fM/nT+wI= 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=HT+x7s5K; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=IRxixDtT; arc=none smtp.client-ip=205.220.180.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="HT+x7s5K"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="IRxixDtT" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66N0X4Da2478155 for ; Thu, 23 Jul 2026 02:56:05 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= E/A2BPK33hk+N6cYzrrKnqQx5oEu98QF1RBTx8l3A/c=; b=HT+x7s5KOM3iBrc0 gyBonF9IRHHokzWtfZ++yrE/NAnrMytUQReG9W72MVOXoGNVAOXJv3xgA4BV/tUp DWg0DuDovZFi5nQbLKa0iffQ0ufEvh9BBGj+BmZFIC8gd00fimQE3Ukgua5y1pJB k9OzcsceFkel5SOVH3P0qFkoX6ZZceBIwaeYeRFDnmC8z9v8p/vhVjSEx9IL0qdG 5YfEixNHmWXVR8J9WKAxe7kaljkoRzkOKyYbQg36Gsd1vrtxfEBdn5Swa97sdTxE dQseIy8XIP/f/Hmpz+5hkVhzzxgRyjWn4rrYmQkG9d41yn+ayOiRUDHQLgHum0X5 nUNEaA== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fjuu7bsar-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 02:56:05 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-c9fe4c5eb39so187084a12.1 for ; Wed, 22 Jul 2026 19:56:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784775364; x=1785380164; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=E/A2BPK33hk+N6cYzrrKnqQx5oEu98QF1RBTx8l3A/c=; b=IRxixDtTuI/8oh/ixKhnH3gOPkKuBzLJTj941JKpYB8gk7v52diGze6IiwQl8+rbup bTwmHvXriL0CwesREROzO1Gq4r7cl21W9J7BTwIz+wTxuYG13jZJC0YCOvzwmwzuOX/g xmOYK84DdLxAw4Xo/WhYPfEHe6K47+nDFp/7eOR+jdVtZiCEF1w/9Alv0p0KrDtrmlge hsXB6wIAfxbTb40T6z48TbgLzASBJ3Cqhu22/OGXn7vV94ZIriGQNH3R4e/jPZxw7Afu DGitaamJ3EyyOvU6omuV30seGWU9YCXXewAZBRt03rKCATuxxCMHUtxcK6OuxwPRLm8m RG7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784775364; x=1785380164; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=E/A2BPK33hk+N6cYzrrKnqQx5oEu98QF1RBTx8l3A/c=; b=T1G7YSphYD2w4CtOzpDxLkU/3GRah4p1Xg/R/n7/HS2gmzTlMeY8dnToTczMk6kJyQ WFbjbXu/n3agR/gLQ4lj6Cop5ztQx2k+dKJshufaOiKA5+dwCFg9Nm1KRqVHg5tgODgN 351VKfRIPbN2jnpfoo4UOu1RZZvHgHqp1a/EHmsM5VvnulXUYi8jfoWXUmlqDFsyHbE8 gqwAW5SRFnDowyJ3UTBW8H/4hhNGmbtXhjC0m2avZISz5p0NAK7KO4Vicma/ioSnUjUt 81rueCeKkTXWCzMlHbwbB1l9u4HNOOLusP1obaea1JvkjwoilhAQ0DehZVGz3gnRZiJX MuBw== X-Forwarded-Encrypted: i=1; AHgh+Roh4UxuRF+i7JiXNK2YPIMR3G/1Gy0CIioZ9czEBqPIG4/F5CKGVbHYgynMk4MOmW1pqIyOukVPV6Z2zuc=@vger.kernel.org X-Gm-Message-State: AOJu0Yw04gDHWfLtXyGEb4f3339McovE2HgwPjIDbyrpcVFunPL5OLPi Y55ApI/2hgPGj12WX1sLs4GtziBzjUCVPUZb8bGoo5sDR/TXEbmn+jlt8T2j/GeKkeF22s8FBxk +0cqPJrGhCgD8l+rB4EgSYEjtx4zXxclvdyaZoeeGTEkwiZEiXuXsDq4D6nIQs6icbtA= X-Gm-Gg: AR+sD10GGp3Bb3T+nOs6qY/eqnzwTI3xfKgqmzRFB1sUubaa3OM1vjpRRDzUKEjNsyY v7GYvO1es7BB6w7V2oLBGHtmLbYKt93COrWH3WWOy9gkyG2Pco8GuJePth3ZO2T6CgB0s/nwd0r IdQarUNGAu0nT2iahEEkEQENWReaAp1xhg6gZ4+I01k+NeNxcjMPUTLwfxCKgJwJLBwxt35fsTp T0+KjWbl0loqabzhFsZgnfeErJk1lhWS7n4npg9vS0MHb7HU3WQVm4AJZW0yO5g5rlGHgUhn9qU cv27DxVoTkfKjIdFJRRMT/gLVFsuMu7SEyaQIzzxK4HOD9TlfmJof/fPelSoS0hcS4MDjuiNkyV NQIVkM+L9umMXSTn5p3lMyw4aROdbk4eeFLIHnjZ2kC7yx1qPUGC1MvzIPhDzrjxb2eFjrEow6d E= X-Received: by 2002:a05:6a00:3485:b0:82f:38df:681c with SMTP id d2e1a72fcca58-84e2b7e4035mr1636932b3a.6.1784775364177; Wed, 22 Jul 2026 19:56:04 -0700 (PDT) X-Received: by 2002:a05:6a00:3485:b0:82f:38df:681c with SMTP id d2e1a72fcca58-84e2b7e4035mr1636900b3a.6.1784775363728; Wed, 22 Jul 2026 19:56:03 -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 d2e1a72fcca58-84e17262e33sm2233312b3a.14.2026.07.22.19.56.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jul 2026 19:56:03 -0700 (PDT) From: Wangao Wang Date: Thu, 23 Jul 2026 10:55:54 +0800 Subject: [PATCH v4 1/2] media: qcom: iris: fix missing hfi_id in gen1 GOP_SIZE cap 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: <20260723-dynamic_encode-v4-1-5fd6bd549ead@oss.qualcomm.com> References: <20260723-dynamic_encode-v4-0-5fd6bd549ead@oss.qualcomm.com> In-Reply-To: <20260723-dynamic_encode-v4-0-5fd6bd549ead@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 , Vishnu Reddy X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784775356; l=3363; i=wangao.wang@oss.qualcomm.com; s=20251021; h=from:subject:message-id; bh=67T+j2UaaqerqBmfkIf5ha2iI2hIJXUPaaxcGjCzXpo=; b=W+lJtvX/IEwTKMwBbvG7yvu9DoJZt2JOo9VXsO/ljnBqXFYqD1ZJcZ9f8r9gTx/+g35QikzhE Wft6NJTl6aODTrJ4mYPtIm45m6ei4xtpjB2EjqzUXMsdjtkow4tLpHx X-Developer-Key: i=wangao.wang@oss.qualcomm.com; a=ed25519; pk=bUPgYblBUAsoPyGfssbNR7ZXUSGF8v1VF4FJzSO6/aA= X-Proofpoint-ORIG-GUID: tuT83STtudAvmopEydTxbwgaSvNHUXld X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDAyNyBTYWx0ZWRfX1Y0oohSgRWpD UJYJZvlh1hrz7nqwm2CCCU9CcVwxBlhzzB+wdLSPdQWXAD3NoQv64mIiTjdYF6tBbeKOiKrJAM8 RKyvYIEiQYvt9YcX4Z6K1ROWngyLHGY= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDAyNyBTYWx0ZWRfX6jfY2ka45UFJ O+q1RcSrzFaNnMfRqW9XqgTofXfEk1VdRpCHM4aQJacJc8D61mag+6lQLL5jzSDZ96ubaRWZeHZ J7w8A+SDdcmNXgco66QyT5jwYf1XvLb04hI1A7EPYT5/2mOCl2hYh02IMLpqP61kFZIx0pdvsNR kpNrn0hFZRboyiC4M5hznhEN8LmzYHizMbM9XrHNLPmxKXWOFTfN4Eh+c8A+EargoTirZ0w29PX w234MxBDzbVyLsZX+9D3cAUsLei0m0tel3IXZFppmCHiBBkHS04kBvEE8/h50eNx1kdnUJ3Zzmz +9Hgvc/SQL1hUPRxgPq2gJKXdD5RStaNzXtUmh1iFX+u3LzU6ZfBhlL7QoZDg6WFpNcZ+/UKZBT uCnDmEQDsa8ql39HIo2ZUiMNnJJ+4Y67BaQNBDVPI2NaA9RfktKoSr1pTkWjjmlSAZytye94l6V ujYV0PBJGRotxFanxdQ== X-Proofpoint-GUID: tuT83STtudAvmopEydTxbwgaSvNHUXld X-Authority-Analysis: v=2.4 cv=JuTBas4C c=1 sm=1 tr=0 ts=6a6182c5 cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=5DhQ7PjHRkpX_HN-Ky4A:9 a=QEXdDO2ut3YA:10 a=x9snwWr2DeNwDh03kgHS:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_01,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 suspectscore=0 spamscore=0 adultscore=0 phishscore=0 clxscore=1015 bulkscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230027 Add hfi_id to gen1 encoder GOP_SIZE cap and replace the set function, remove the redundant INTRA_PERIOD cap. Fixes: d22037f3fd33 ("media: iris: Set platform capabilities to firmware fo= r encoder video device") Reviewed-by: Vishnu Reddy Signed-off-by: Wangao Wang Reviewed-by: Vikash Garodia --- 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 Fri Jul 24 05:21:21 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 E61423603FB for ; Thu, 23 Jul 2026 02:56:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784775372; cv=none; b=WL7ppYsaZq/a5LuF9JxKJ8Rz/5DRdF/sWQVFG/gac1I88q948/TSidAmubJNQfG8+oSzrm6e2J4GV9CO6XCcTLNKA1ciBBthIGCvgX5xmvraszLa2xgQ6xO9YG4r1oGqSeKoNNNZuzp69qqubS0k/z3Zc1uteqZjeLjsQX4S6U0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784775372; c=relaxed/simple; bh=F+KjZjjv+vWvwxn2/kew75cfGij7SIQwdJE8zTVTY+A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PnzY2qQH0n9nuaZqPEiiEiwQ/VpmV5pcNyw6lx24AT3TXuGEju0AdbbWKcHfAFZ/cntPs/O2a5xsyO3TXAWw+MZpjQadYrVu3MMcdYBvTi8iGFSnP3Dqvq+VF+fGbd80WWOIQZPUn1DMM/hfDL2NIfcaUnSGPmEI3wionuqZlao= 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=Y0uPGdkn; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FCLK1+kL; arc=none smtp.client-ip=205.220.180.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="Y0uPGdkn"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FCLK1+kL" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66N0XKHQ2478939 for ; Thu, 23 Jul 2026 02:56:09 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= EDbNkN0pMOKy1BFdbFnzZEOFtaTprwX2uD+E7MXne74=; b=Y0uPGdknQKPKUTIN t3F/xVwjvrkDjhK0PIWMxe+rZni+2dZxDn9TVOtS0/IYNZPtlvG0IWuCiBPgu7zC MUVNxtAINdJ/EF7qnOoNfYHLpc2cbU85dECV8BE9EE5fZviGn7lBV05YvX/nk1gO 7ULTE1WY7CXXZsm3LxE2xFOyDyF1+9HwlxWcmevTbeWGoE4NdfO7i7yVs+Vjy/FP 67efxZFiEbLQn5rvnHhnOUJFU8ZmIzCzwX/PA096lbCE/9ny1dqV5SH/DN5YJjy8 IYfGKP4ZsroiWGzGkjO7zgnl2T7cegfuCvjxSqPljSGWwBGgB98LaxmN8rlfFjDe YsRJUQ== Received: from mail-pg1-f199.google.com (mail-pg1-f199.google.com [209.85.215.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fjuu7bsb1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 02:56:09 +0000 (GMT) Received: by mail-pg1-f199.google.com with SMTP id 41be03b00d2f7-c96b4f58ddcso202646a12.3 for ; Wed, 22 Jul 2026 19:56:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784775369; x=1785380169; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=EDbNkN0pMOKy1BFdbFnzZEOFtaTprwX2uD+E7MXne74=; b=FCLK1+kLgQutaY7zYarU9DaNcFfGXcLp7Z6QclPqW38ZNaQSIwLmGA1T0TmnjUxe33 jlo3pIevqqgYxShmwDCbUesRJSrr3+FhOfqnbtijXwQDcdM6cGVe8Bx62t36uf6Na39t e5i/QgwvH7Fh1Z9vctOfmSIcTO0hGz+JvBLUk9T/P/OgoHe6fTzs8npKVBNa4mg7C9AG xLai+B6MSRNCblQQNfLMcYTC/OEqzGHX4YCDG9KZLcfwZiYR9IRutbcBDvadoxhNEntY EBaQXr0mQJm5sT4UiVbmoVNFNq5bFYMhGm6e54bWZEIFFXrJA/aRSxtJi2IammMQW8jj S4Rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784775369; x=1785380169; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=EDbNkN0pMOKy1BFdbFnzZEOFtaTprwX2uD+E7MXne74=; b=lws5TjBCPlfbt/tr7sajKDatLlbsD7zmHul40+596zzu1r+LNu1EOeABgLPWsx8s/L dNfqxHeYGwd4A/y09E6qFd22Yh4ATm0CTRYbUWBsbt7Bzx/oZzxErBYtZe3JqhVp6Txv Vy0ta5NBAG1ZqVVkIikqUq2urEZZHr4XwxwMtTih8fZSOUR0njUlEkxJwrfqvf1Nn8v9 HR8FmjC1HP5QfncSeY/2rRupqWYWBsl9HrLSop/PiP6M8+qWIH8xXnZUfN05sAXeL2KO Q9PlPjPX2BIcpBH9Q7zn3d2GR6FpcvXg3UHlIfnuiIALBGVnLwt8rIHM41z+GflbpU2L 5PWg== X-Forwarded-Encrypted: i=1; AHgh+RoV2/cMatw0g0XHmSNm0VtMkOqAHhlEKp8sRYlthLgosdDC4wbU9Qw6H/kDkfFb1Z5XuQ8L6BgzggTSjB4=@vger.kernel.org X-Gm-Message-State: AOJu0Yxd5R+cGWfzARPZw/s2Wibwcw7QMQPD6x91LJhMgza3ZGYB6reK PonfltCNNOPJVLWvPaQ5VnVjzSCLxAKSpZxrgDBAOLKhwUnq0CyVYHZYFoxNLDgFJ6iR9xjbR8r 2oiSEeBgX2fcUUjDAim5Y/EUIlWmoLJ6hVqjzIiYzFv3vhAL2k0Sc3UMnRmh9Fytlwjs= X-Gm-Gg: AR+sD11OrCXjEKKuRnNC/pucAORu7af5uaj5dqSzv9U2zkP0qJhNX2n7jnZ5ZjWr1sz gs4nObCwETLIz+rxpso0cLpCM512TFtC2ogPclGt5/43IHlKGZRp81scPwHmx5T0dhrNVicigKc F8mIZ+AZhR0lFqIxa6s4jPjJuHEbKjI6d/pBUa5ouesvNtLh6iWPHhYiS2j2u8gRDhFy1inj/hZ P+QAs+RrS+veSUfk38kzCWrjPMt+w3aaSc4Bt02Vxr+WRvSujeUDPRtBYaFLpyHPOJl00oO6SQb 0XpXFxYCgzYEJ+bIjEoYTphsPnjait9lG+d7ZZP38ZyrJdZIuFqBGgr8hXGKWr/kHK8syI+To+M YEvtunEDEw+kEXQdi57x8RkKa8xItvM6ZGiS2GjuBasmWrUXSpbZndfMnpspOdsiPyV5A+DCBYo I= X-Received: by 2002:a05:6a00:3c8b:b0:84e:216d:7e4e with SMTP id d2e1a72fcca58-84e2b7fc212mr1525257b3a.1.1784775368614; Wed, 22 Jul 2026 19:56:08 -0700 (PDT) X-Received: by 2002:a05:6a00:3c8b:b0:84e:216d:7e4e with SMTP id d2e1a72fcca58-84e2b7fc212mr1525235b3a.1.1784775368146; Wed, 22 Jul 2026 19:56:08 -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 d2e1a72fcca58-84e17262e33sm2233312b3a.14.2026.07.22.19.56.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jul 2026 19:56:07 -0700 (PDT) From: Wangao Wang Date: Thu, 23 Jul 2026 10:55:55 +0800 Subject: [PATCH v4 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: <20260723-dynamic_encode-v4-2-5fd6bd549ead@oss.qualcomm.com> References: <20260723-dynamic_encode-v4-0-5fd6bd549ead@oss.qualcomm.com> In-Reply-To: <20260723-dynamic_encode-v4-0-5fd6bd549ead@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 , Bryan O'Donoghue , Vishnu Reddy X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784775356; l=8205; i=wangao.wang@oss.qualcomm.com; s=20251021; h=from:subject:message-id; bh=F+KjZjjv+vWvwxn2/kew75cfGij7SIQwdJE8zTVTY+A=; b=u8LXVU0tZJzkD3TDrPlSPJSiKBcDQIDmqdjt8udyc25zVm1A9SwotNFKey462guVH/qwJfivg ZIq4FMKhHEKDW2zhi1NJXdmcWfkzr8HNPyodLSABWIdVP12U/7dJjYq X-Developer-Key: i=wangao.wang@oss.qualcomm.com; a=ed25519; pk=bUPgYblBUAsoPyGfssbNR7ZXUSGF8v1VF4FJzSO6/aA= X-Proofpoint-ORIG-GUID: nYNlI9RYegVnXAcLygpaIMbUNAD4WDjD X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDAyNyBTYWx0ZWRfX1PRweJxjGpza dslosxZCIvgMPEPmCc/+VxIdd88mL6B5t6A/HxSmo7NVD+zWxT8ZAOogKVEYC5TdXBUA68Z8jEA WA3pOHi39jboPOYq1U4VUDnE7ljA9kw= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDAyNyBTYWx0ZWRfX1+UL6ksyiokZ cmLdNihhp4Yc/iAcaJ8yDO0R7t3GBriwerkqa/Uy+BIom4pSzNEE2VfKnwXvvweVuMbTVLoC9A6 3s5lYQTFjjqBzAS8d68XQiIJZbw18wk54E6cwsYgNFzMHVOBFqLrS52DOgMImU1bmIoR4SLu10D uFqzLZfCn+mnByjsMCMNMhcRfXGEb1AL30XPQ+Th0zf93YnPtTIwucf3zZwiEZATTivv8YnzPsn EBxyr1OhE5Uq+vUqxbGZOuVheP2SG8X4GsKo9o9n0vOYRJ693KlS70JpUKxxZA7u6q+43PGYNtu N7LaiobRxDSqLJl/BwqoAZQ5f9KGNXKrnGXbxbgOaNOen1IvnMrdbjacwLd+9D6ndhfX4Ut5z3h qPty6+uFTF71SJeFicEEfqLMIVgfcHccXaAm5c29j0+fGDiNRJx3sXsRSyuSchQpptHqGuxXdfH tEZ0wjxfor6Fg0CuClg== X-Proofpoint-GUID: nYNlI9RYegVnXAcLygpaIMbUNAD4WDjD X-Authority-Analysis: v=2.4 cv=JuTBas4C c=1 sm=1 tr=0 ts=6a6182c9 cx=c_pps a=Oh5Dbbf/trHjhBongsHeRQ==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=J9qvyUYpVtujyueP22MA:9 a=QEXdDO2ut3YA:10 a=_Vgx9l1VpLgwpw_dHYaR:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_01,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 suspectscore=0 spamscore=0 adultscore=0 phishscore=0 clxscore=1015 bulkscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230027 Add request key frame support for both gen1 and gen2 encoders by enabling V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME. Reviewed-by: Bryan O'Donoghue Reviewed-by: Vishnu Reddy Signed-off-by: Wangao Wang Reviewed-by: Vikash Garodia --- 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..0f7e7d6b25f41eb8a67a9a8f01d= ce20ea54dc335 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 1, + .step_or_mask =3D 1, + .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..7d6fde36f0e9036145e45b84054= b439536b25e50 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 1, + .step_or_mask =3D 1, + .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