From nobody Tue Jun 16 20:36:35 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 464993BFE4A for ; Wed, 29 Apr 2026 09:17:01 +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=1777454222; cv=none; b=IVa6cFHNs/lTK/9n9r6E7hzxZHsLW5ie1Pjh/w0DUysmmPsDeUoXbGQkwGG8gAxCeKrGyEZojpPgTdkSsJBAa6Zb6TwmduD/8QlMVTV2hSkJilIW1CpGb8X3YmjD1nKgAKtOGTMiTkGFRDRANl0TJBrMPzA6f00ldNH7lIS7Ego= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777454222; c=relaxed/simple; bh=1SuR6UH2DsN7PTT/NUCgzSGsYpfp8unFOGhnizEc+WA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jJIup6iodkcwfOwEZK/FaaPfB8HKBWhfSxxJsg0Cz12CpOchWCb3NxTu0ZY0n1HXjmf4qZhA9DyvbkFKG+oXoKChjN4kyZKmc1X950/d8Vs0MrfoJ1LxQZNDZIRDZMRlsKq98RiHiJPeyARFpVxM+34akbckMHkR5R01BbVjNCM= 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=n9C3ic/B; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BdfpNIxF; 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="n9C3ic/B"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BdfpNIxF" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63T8pxAx963224 for ; Wed, 29 Apr 2026 09:17:00 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= aHuTkaAZtY5ZkKn7XTvSxnz29uYRoxbW0NTxEIzBxS4=; b=n9C3ic/Bv5HcPC3Y tMICNSpH66R+6cuMAxdyoddld3fN3zFgfydWns2/OeLFpktmyXisxWb0FM9dtY1A pd1cUOTE8ukuXEcweUvaWlVobHganl70swB1PDly7ewCzTA6uyA6XKa5GUPxotAB fpPfiwK4NRSp2SQbj82VlpIaycDtFoS3X8IBHO2jBUzJYO240k2ySzElNUt7vbac VqNhN10oZIttmL2leHeFWwKwB1M5iiJ2Kr0T6y1GRzm5Ks5bO+Qdz5X2kioG/rP3 B+SNNmPi7zvcVg04gPgiZWy9jG47XFn3UYDxGGtCJzSiJtDIwdlU0Ez7BorjRHZ0 2rfLJw== 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 4du2m4tnyq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 29 Apr 2026 09:17:00 +0000 (GMT) Received: by mail-pg1-f199.google.com with SMTP id 41be03b00d2f7-c76cb2dce57so7677532a12.1 for ; Wed, 29 Apr 2026 02:17:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777454219; x=1778059019; 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=aHuTkaAZtY5ZkKn7XTvSxnz29uYRoxbW0NTxEIzBxS4=; b=BdfpNIxF3Sz/FKm3jJINYqiKkOPH18cCRkIHXmgRfjsrs5/+0SlI2yOKE0Nyh//Oxo 9diMtnahjDsj6VSA7wQwJcPP+MzbmGgmg0ecYXZ9rVm1NaDEs7TI94Ye0s0O2NIU3r2+ QfoRD2b8fZ/xEMSwrUrZaywvUHuxMfP5VK175Ke2d1NxVOk74v7gs4XiLw4JjrqeOkPD /WzzcRG2rgVfxU7Y0YGaH8yu4JVG1lAElMCOFORbtUpMPxHfJzT9dTzWTkw7faXp4+KT fO8B+W9QvgfWoNBs68GiZ9eOU368hZrb+K8rMEmSJ6duEehi81X3GmRojCQOiUICMAyJ 8EyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777454219; x=1778059019; 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=aHuTkaAZtY5ZkKn7XTvSxnz29uYRoxbW0NTxEIzBxS4=; b=EiRIVscwXBZWMFqYivY1zqHQ5XVAbcaCJvrO38XSHqdSnmlT4XFDSHIcM0UuOpe0r0 tzdqnTzIavniP4iOS7CxzTp7qUuUuWViCg2d5WOfBvrRCfGH+nL77+pX8hJJhcXqvB8+ nZNyr+2q7gE+JBCZ6cVeJq4XtvC+xmmmH/KLUvBqX33D0DD353TeMphRBaovRFFsmBMd 7qBTUJg5lVwmlWqebglfYyOnXDnv/g0eyd+qyuMyLEWGdv/wXc+AvyWhjk+80lRORqZ3 3TuEoUPLhH1qLqNTw6ZfmfsYaCH2BlQJdFMi/ftIlULYyZK2e7AaKVqtqF2aVmXLlSHC nisw== X-Forwarded-Encrypted: i=1; AFNElJ/8an88iUyiNwh27cQAsexmfM5Bjg/AL9QR9Rp8jg5dYLG06BxABPh0Ojeh/wJ/RqVCnGppNoiv+soWuxo=@vger.kernel.org X-Gm-Message-State: AOJu0YypuVxFq4VJ+8s8t4CvexqlhmoFk5C9bT4d9vTt3mbSoPPHQ78A I9npx8As12B2iNxcwNrhInw6kcFSqwPlYZcflMQ9Q6jO9UoM53oKHb6/1GVPRvK8HgO9QKnE5xJ rE+qsxN43RhtfPOoUNuvKNuMNgX6xEGCpqlukvL29jHLSt24ZYxz9A/mct4xvDcF+3Hk= X-Gm-Gg: AeBDiet1CE7u4c9QTmcpgde5bVsOWEsOZ4ZI1OJtDzzv4w5PQJnMahmsWYPwkSU5eJx IKdkZsQqgDZlmsSnbtQ4bEr5JJeswLB348JyO9LlOuqR28XLFNsWJNmVzL5MfbcRTS6Db31usQQ Egw1b7WORqsqAd68VR3B608Q42zkjl32NI5HRA0YiVhX32yROUWW/rqSkpvDmESwJ4I7D03KkK0 faxBjJL8A1CK++713Fo+gerrsFElqtGd/6H0I38VGg1kApOlH3/39I2y6cLSMGttoxFBz9sApj/ 6HWpLYr1MFByw+I+JktvmM4qNrvVHAz/LF1QMx+o0EN/8DGDlqogfC3uSWYdZwQH9T08UxzN4uR QtiWfyYas553katdY/ItoU9kLQN1ZdpzyZADwO4ikeZnO/SvUmALEXd8tJ+0p+xB5Fh9xlR7k8T 9ab9HnfBPZwYKoBU+cWFIuvvp0NNfPRMk= X-Received: by 2002:a05:6a00:cc7:b0:82f:8b84:50c0 with SMTP id d2e1a72fcca58-834ddc8af4emr6280196b3a.45.1777454219211; Wed, 29 Apr 2026 02:16:59 -0700 (PDT) X-Received: by 2002:a05:6a00:cc7:b0:82f:8b84:50c0 with SMTP id d2e1a72fcca58-834ddc8af4emr6280164b3a.45.1777454218693; Wed, 29 Apr 2026 02:16:58 -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-834ed80dfa6sm1496340b3a.57.2026.04.29.02.16.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 02:16:58 -0700 (PDT) From: Wangao Wang Date: Wed, 29 Apr 2026 17:16:48 +0800 Subject: [PATCH 1/2] media: qcom: iris: improve 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: <20260429-dynamic_encode-v1-1-c9fb691d8b3a@oss.qualcomm.com> References: <20260429-dynamic_encode-v1-0-c9fb691d8b3a@oss.qualcomm.com> In-Reply-To: <20260429-dynamic_encode-v1-0-c9fb691d8b3a@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=1777454211; l=3022; i=wangao.wang@oss.qualcomm.com; s=20251021; h=from:subject:message-id; bh=1SuR6UH2DsN7PTT/NUCgzSGsYpfp8unFOGhnizEc+WA=; b=bDgr0ClfssHc7JudQ1BZLoZxKlcJPCvhZddeJP8cso7nLCPANcctGSJMXGhfYDM41uSI9PaDm RpyEtTLP7zvCL7rBESoF6X4apgi5QoLxTWgr3eBbvomwJEXEy4Rk3Ps X-Developer-Key: i=wangao.wang@oss.qualcomm.com; a=ed25519; pk=bUPgYblBUAsoPyGfssbNR7ZXUSGF8v1VF4FJzSO6/aA= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI5MDA5MiBTYWx0ZWRfX2ZHd+wSggluA yY1/hZuJxQ/0rRNy6JBDjGx9CS/82IpybhFa20BdZpe1shvKTkK3NjZi1KlTL2b1TtObEA9RXAc k14vKNFqI4vDp9F4jFYKxNCr6Ull463jlxsCU62UX4leylpFW5tg/Gqx7DUhMzCH1q1Pl18wgGd iyl6CYba+md0cOcrFHsiUDcOEJcmbXzrP/jmG9eoHTIq4IKHbUL6b8sIXXBlBkOOer+juzJVguc nuTxYzi3fOqF8yTJ0nsu7o77XYEWKtlAxORxtr0yVrxVdekNviP0X7CZ6ncRWLW+oO8a3Ny4B7h L3dsoYvlBVfp2+/I3aNgiWpsvuD+q2G9AMa7S/xEOeuCog+S6TeHNo2eH72R1xjKxxAVqbK+fBr O41aPuS0cg0EApgbpI41JFw+A4t0pSMMlxsRegMoAmv9K6EUuHdKR7U05H640unR/sIgS2JhgA6 BSUJV5DI9GgMDHPSPIA== X-Proofpoint-GUID: YF_6rb5HGRN5i3_GGFQ5cZ-0o__HMBw6 X-Authority-Analysis: v=2.4 cv=MuFiLWae c=1 sm=1 tr=0 ts=69f1cc8c cx=c_pps a=Oh5Dbbf/trHjhBongsHeRQ==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=J-oyWT7ATPDHrUoQIokA:9 a=QEXdDO2ut3YA:10 a=_Vgx9l1VpLgwpw_dHYaR:22 X-Proofpoint-ORIG-GUID: YF_6rb5HGRN5i3_GGFQ5cZ-0o__HMBw6 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_05,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 phishscore=0 impostorscore=0 adultscore=0 priorityscore=1501 malwarescore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604290092 The GOP_SIZE cap was missing an hfi_id, so it would not interact with the firmware but could still save the parameter passed by the client. INTRA_PERIOD was acting as GOP_SIZE here. The code was redundant, so the two caps have been merged. Signed-off-by: Wangao Wang --- drivers/media/platform/qcom/iris/iris_ctrls.c | 2 +- drivers/media/platform/qcom/iris/iris_platform_common.h | 1 - drivers/media/platform/qcom/iris/iris_platform_gen1.c | 14 +++----------- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/drivers/media/platform/qcom/iris/iris_ctrls.c b/drivers/media/= platform/qcom/iris/iris_ctrls.c index 2ae0d1aa11f8a529b8916ae0ac96e3298e250355..51eb644f2f1aba95b72a6cc8706= beb3d2d67451a 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_command_ops *hfi_ops =3D inst->core->hfi_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_platform_common.h b/driv= ers/media/platform/qcom/iris/iris_platform_common.h index 3efe3121459c610af55ad2f930b21c376f0a085b..e1e8cff01f5be2554ce4704f74b= cd76d2477a413 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_common.h +++ b/drivers/media/platform/qcom/iris/iris_platform_common.h @@ -172,7 +172,6 @@ enum platform_inst_fw_cap_type { USE_LTR, MARK_LTR, B_FRAME, - INTRA_PERIOD, LAYER_ENABLE, LAYER_TYPE_H264, LAYER_TYPE_HEVC, diff --git a/drivers/media/platform/qcom/iris/iris_platform_gen1.c b/driver= s/media/platform/qcom/iris/iris_platform_gen1.c index 65156584326a1a83588e8055f1318ba1b62e6510..a1988f22f8aac72eb64f944f0d3= 41a49e8b8ee5c 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_gen1.c +++ b/drivers/media/platform/qcom/iris/iris_platform_gen1.c @@ -193,7 +193,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, @@ -303,16 +305,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, --=20 2.43.0 From nobody Tue Jun 16 20:36:35 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 8B84E3C3BE8 for ; Wed, 29 Apr 2026 09:17:05 +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=1777454227; cv=none; b=JK/DCTaK9d3lQqNAQbQvQZJpL0AS44RO/0OnVF4xz/wRGYYHiump34ChcuC8SebsMGwG2Y3Tp1QG+WqiHZfqqrafmvZhBrSdggLlaJiBf0+oC8W9Txha1K8LGYO7yn1eJpDUAtPSxj2uc9bNmMAYALuYs+uMn8gM6UnT+QBaAuA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777454227; c=relaxed/simple; bh=jrRFuWoxlVioqpDAeJWOWFjbmkL6denLp6VOgJXrMto=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uFj7lWvFub7c2diyr5kWiizXBIP8Jorm+JBUEk0t/2Tb7S8JJ0VjJ/DziOM64flRBHOobyTyD65ah/64oxe8X6Zvk7EkUZaLjBemkT6nYH/a84HylI+WM9c8ZEsPdQhgIFlv29yy3iuDj2W4sk3vVpTfMEDzbEY7wMYnSOBqTG0= 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=ltprExDm; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Yi+m7BTU; 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="ltprExDm"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Yi+m7BTU" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63T8q0gO963254 for ; Wed, 29 Apr 2026 09:17:04 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= SgKjKjKvqbUKmC0sveVddbfRIm0tA2cFa4F+N92yWLw=; b=ltprExDmECCikxep rDPBqept/PRuNoi0mwn6qX7KfTO2oJa6KbSznvm39MEikHTVpNIHGY8Me4wUdXqL 2gO9UIKVjlIGsGZyfXwj4RZhmE0k0RjNasKUAc7pcJR4nWn8m1+mWV366ziSU6pe 3CQNFKHGEhfwHkF7apwdfmPT4WRpL3Q/P1xs3FL9J2h3phXQzXn70YzKnu9RAwqM 348NSFy4k84UGBBI+Fc6MIdfJOJyUgVikStamVB0FZm/HksE5JCG/p0/IbbIDSD/ kZhgFG/YbuYGRg3riLRBXcqHVJWQzkuPYRnMfwvHUcx8nyDYJnyHUkZcu9N8oMqf S7RbQw== Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4du2m4tp00-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 29 Apr 2026 09:17:04 +0000 (GMT) Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-82f8bbb4045so7195341b3a.2 for ; Wed, 29 Apr 2026 02:17:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777454223; x=1778059023; 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=SgKjKjKvqbUKmC0sveVddbfRIm0tA2cFa4F+N92yWLw=; b=Yi+m7BTUfHWxxDPFO+yiqXCh7VYjbDyxKWfWtuFj1PTi5f17DJrJmZrBcuA2TZw2y1 0EXQe61EGGlH7xM3CrCa0U7dcK2qYxKvgiakyOp6d1Ky1RwBi8rNsc+asSrAuG7RRuu6 6BNZ/TSRbNvGnyVcbINcM7KXGcn1G0uDC+/OXf1AstQAGaFM34JhMrPbhwV/eiPq78G0 TlcKnK7BV3rpCdajbRUHVQ9mGwIrcMnEf2mYLW0RnwbN5NEPMc2dP47CICaohr+mtacb H8LLDMI/mV5VjBHCR2i2cKBWS7IGHzDdUDa2TCC/H0ojHBlVfnzDL/SwT2hrkBvLa+gn Fvig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777454223; x=1778059023; 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=SgKjKjKvqbUKmC0sveVddbfRIm0tA2cFa4F+N92yWLw=; b=rIsfEOIqusVQrEWXosOxNjVjATL8fpl7WsKA9va2j2Hx2FRwV5g7q9YHPLKbfKGAEK ZwK19Yh5NI2I+4A5vTYhR1pM0fHiMx6kfB7wdMfx6p4shS90uWSctuRGXcNojWhYFoqY app6k9exROT/VR2xQ+PFrmTq1aK2yjU1WxKb4vti3OSYjIniwTEcJKuutHhLdeCYFYI4 O2SQ54yBVS8OMY5NZc9qTMz9g8BZ/B2bX50JS5n9KDPoRjpt0JWciqoI1nvsbcRvks6F 89EtADUuIrKSBfCE86iTrlpv8IpYZjA1G4ZrAcDKUYQ/Qdzv//3rd26mzFVgoadQ+MrX MLQg== X-Forwarded-Encrypted: i=1; AFNElJ8Qhrz3fC4gV98ulQ+N8Js5qtB/BWDNyWrTqNG0qMHqqm/glJV02gG4mQBQ/1NEY5nPS4EEUXb1XRBudAQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yw9vE5q5JWNHENGhEVpYyhSt2KcWr0HVQodUnIaK6Y/xyhpsqP/ sXrLSCsNtxu9CQQdcwqrFbeOcgHoNK5UnHjgK93bVaf1v3m6tlfYugtuJoBEmSgIpoIxBIdjofo zd01lKjFoEkjnzJLEpWZZxyV1jbIBBtaWMGWVXZXCwyxUXs4DpkIMqyZGFVe7PIG4X64= X-Gm-Gg: AeBDietTUkoWAIkS0wYBiuqmclihc6MAGKw/FUfao0zS7JtJVPMpwPpM7dGdHKeve2l VfVQbAhPR4Tmf1epHdZV58zEeABxD4nOuUcCqEx3L/PEBb+6p+/WFdikH/KLGUf1fAahj2jOYl5 ksxJNlUW7w5lApRapa89g5unUAqxUR0Y8pqdwfTwzRYSx94GyUjvHCWL97uwM2ZscqD439MvmXO 4q+yUCa9SchiMFegM67/f5l3Pu2ofaLXH89ohksI5deyagGZHYVuX8E3/KpvYA5wUgpTJ7yrvgM 5HXBkbGX+a+Y2JYKPHZNQ1tP6QKmtXmyvMBuqUCnfL8CEsG5Wvq1D55X87b3NdVrBr6thdMDOBK r0siX6OrqF/NsEFnJWMrAYaZ5irZthW9WAuCVeyFBCpr7PZ5MTtIObtcUAv3ntYxQ+3GRq82VSC K02klHJkJEcsdh6Hm2Pc/MFnlhlF3RY+k= X-Received: by 2002:a05:6a00:418e:b0:82f:6b3a:8281 with SMTP id d2e1a72fcca58-834ddae11damr6731539b3a.7.1777454223405; Wed, 29 Apr 2026 02:17:03 -0700 (PDT) X-Received: by 2002:a05:6a00:418e:b0:82f:6b3a:8281 with SMTP id d2e1a72fcca58-834ddae11damr6731489b3a.7.1777454222833; Wed, 29 Apr 2026 02:17:02 -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-834ed80dfa6sm1496340b3a.57.2026.04.29.02.16.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 02:17:01 -0700 (PDT) From: Wangao Wang Date: Wed, 29 Apr 2026 17:16:49 +0800 Subject: [PATCH 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: <20260429-dynamic_encode-v1-2-c9fb691d8b3a@oss.qualcomm.com> References: <20260429-dynamic_encode-v1-0-c9fb691d8b3a@oss.qualcomm.com> In-Reply-To: <20260429-dynamic_encode-v1-0-c9fb691d8b3a@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=1777454211; l=8120; i=wangao.wang@oss.qualcomm.com; s=20251021; h=from:subject:message-id; bh=jrRFuWoxlVioqpDAeJWOWFjbmkL6denLp6VOgJXrMto=; b=1TXNPHKYLonNThWCmXghV5quvSJQEZm6CbDgVJLJA4GeY1vsGYNz2/mqmA402aYh3zAlt9rfu 4UFYqX4f6D3AZ7TlK6yboEz+DJWctmFJMhWFqBRDoeFQ8Xhd5HOLh3Y X-Developer-Key: i=wangao.wang@oss.qualcomm.com; a=ed25519; pk=bUPgYblBUAsoPyGfssbNR7ZXUSGF8v1VF4FJzSO6/aA= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI5MDA5MiBTYWx0ZWRfXzQleUfM3+pbY SrHWtJDZRwd7YpD37SFFSmy1z9ghFMBv2ewtrn7TeoER38T3Acml6ki0bAejX+FZ7LJqnBtXTW8 jfugi99dp4sEzyN24bTBh0e3612CDswhrMoh3he+iOhV8WDTNFt9S78p8Et4tbMTfhuSrWMHJFp PNfhHts76muIsXYOdwe6JZxl8bnSWJwlbYNZO7R+x7QuQ1DOAID86ociwV60IcCBkaiAdHPdFxZ IT0K25t0DvXVVemoK03pBIjHTNfoO8NzFOhCr4xyWYFoSJ9t30I+clGjuOWvToMmYlvPR/Lfi+Z bBRwyre0Ztou57KvG3xppFvTuj+B3svqLkIca4NR0LELiRrdNk5X66/ddAR1v7g3W7v/wzgSTpS FD/O0xIWo0NoEGquGc1eZ3evIz0L3jZjvHX7JnY9QJnOb57FPSYfAHj01V8i+gJLg/4lNfn0BvE 2ziaxDsB1HjPnjNt5Zw== X-Proofpoint-GUID: srAuC08_geLkCM0H_HdWOJpd8UZ2HgtD X-Authority-Analysis: v=2.4 cv=MuFiLWae c=1 sm=1 tr=0 ts=69f1cc90 cx=c_pps a=rEQLjTOiSrHUhVqRoksmgQ==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=VWFmKy9SzxuNEvGSCf4A:9 a=QEXdDO2ut3YA:10 a=2VI0MkxyNR6bbpdq8BZq:22 X-Proofpoint-ORIG-GUID: srAuC08_geLkCM0H_HdWOJpd8UZ2HgtD X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_05,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 phishscore=0 impostorscore=0 adultscore=0 priorityscore=1501 malwarescore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604290092 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 + .../platform/qcom/iris/iris_hfi_gen1_command.c | 3 +++ .../platform/qcom/iris/iris_hfi_gen1_defines.h | 1 + .../platform/qcom/iris/iris_hfi_gen2_defines.h | 7 +++++++ .../platform/qcom/iris/iris_platform_common.h | 1 + .../media/platform/qcom/iris/iris_platform_gen1.c | 10 ++++++++++ .../media/platform/qcom/iris/iris_platform_gen2.c | 12 +++++++++++- 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 51eb644f2f1aba95b72a6cc8706beb3d2d67451a..b83445b6e596466c48884669e1b= 11b6f581e9461 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_command_ops *hfi_ops =3D inst->core->hfi_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_command_ops *hfi_ops =3D inst->core->hfi_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_command.c b/dri= vers/media/platform/qcom/iris/iris_hfi_gen1_command.c index 3779fe5040badf1e264f5ab56938d7334ec7ab8b..c567b464aede77dd58bd3dc2596= 350fa068da2d8 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_defines.h b/dri= vers/media/platform/qcom/iris/iris_hfi_gen2_defines.h index d09096a9d5f934acf072b05c2cf80f3007c3aa7e..66d37130bde3cdce7387b980c50= 58b74335b6633 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 e1e8cff01f5be2554ce4704f74bcd76d2477a413..d906ea4fe4e0197ff60382b3d60= 1c76ab4638a31 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_common.h +++ b/drivers/media/platform/qcom/iris/iris_platform_common.h @@ -189,6 +189,7 @@ enum platform_inst_fw_cap_type { LAYER3_BITRATE_HEVC, LAYER4_BITRATE_HEVC, LAYER5_BITRATE_HEVC, + REQUEST_SYNC_FRAME, INST_FW_CAP_MAX, }; =20 diff --git a/drivers/media/platform/qcom/iris/iris_platform_gen1.c b/driver= s/media/platform/qcom/iris/iris_platform_gen1.c index a1988f22f8aac72eb64f944f0d341a49e8b8ee5c..194e192dc035d2b72e97cba493c= 38bed04639955 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_gen1.c +++ b/drivers/media/platform/qcom/iris/iris_platform_gen1.c @@ -397,6 +397,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 struct platform_inst_caps platform_inst_cap_sm8250 =3D { diff --git a/drivers/media/platform/qcom/iris/iris_platform_gen2.c b/driver= s/media/platform/qcom/iris/iris_platform_gen2.c index f87c713e1153388d5724a5a2add48022367d8737..807a4bb1213d5cc984e611cb155= a02611997409b 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_gen2.c +++ b/drivers/media/platform/qcom/iris/iris_platform_gen2.c @@ -961,7 +961,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 struct platform_inst_caps platform_inst_cap_sm8550 =3D { --=20 2.43.0