From nobody Mon Feb 9 17:37:44 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 2717A2E266C for ; Fri, 19 Dec 2025 07:43:07 +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=1766130190; cv=none; b=hsF5NCLvnq/RIIWW1yVYnTOU51udPhFpS7faWbLLRAPdI1Rg0TAYTYB6TKjp/ImVd7+i62X98k1DmPGaRAWELDftDwNZRTklwtg0PIPbtPW/e6ECOC9M8MsThgPeq/e83vIiln+LIT2yh1u4BHlM+FfNwfj5AT+Q8WB3nkIrzXs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766130190; c=relaxed/simple; bh=Nrv04AtTzkKXaY2s8Htipm9Jw+ep4zOvvkaTyFf+gHs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OchW81DjfoeMbOSNf32JOtz0ibnl3QFIGA+e9Yv28jzZvM53qh8RyQxptg6UGs4ZgrF2f4IOHRr6GRMph0zEsia/SNfrhhS9sHATycdPckjbYlJ12GqDhX51nx3mT5hjFdcvnFBeD98lc1+9NYWxxZqT7x5QCfmOkFplhqYysP8= 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=pANJgTn5; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=SBRej+Ls; 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="pANJgTn5"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="SBRej+Ls" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BJ4c6US4145419 for ; Fri, 19 Dec 2025 07:43:06 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= FYLirUfiEXnjgPJucKUtZpWdxDHnZDigMmZ/CKd32ek=; b=pANJgTn52bKn2ZZ9 vvuSwHM6YWeJK0m0vqt6Y6XCoYVM/qAg0ZShfpynJocNfawRL16yzJAD+Gk+sO5D K7L2FZ0egc3gZEx1t28ZGdnTDT1ih4NI6FWPZvjN0m34yPL+KzCFszmlap/cywCf mtopi6e0klKt2NKicEZQNVwxa9cRRuwmE+TqZzXTFfLgGnQ8St/1Ghd2vYC90f6g r57b5U4C0Nlmrwmn0Gf81VrPHEO5H+CZIQYW3bE/qy97KViyY+8xAs/demYy0XvZ QTMn7GRdFKmwHugfJrm01QlI0jDAgzaq2zH9QpEEIQvQtjcozpMMxVp33wm/jDXK M1sHVw== 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 4b4r2dsrx1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 19 Dec 2025 07:43:06 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-29f29ae883bso21979105ad.3 for ; Thu, 18 Dec 2025 23:43:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766130185; x=1766734985; 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=FYLirUfiEXnjgPJucKUtZpWdxDHnZDigMmZ/CKd32ek=; b=SBRej+Lshi3jpr3xPJX3cNnNcyxDWbYH/j/JVdwhjieCsKe1WbjgRRPeCNBrv3Pj3l 2MZUnf4TjN6P3qVgV8ljx4giDBHrpWRDSpGc4//yL3/EfdpvmPxCXpdV3+QXb1T0+x4O W0FW9nzKk4FgXwDcOzdyHMCjmfwLa4CdKthAp6OYe6MiVB1pzLOgX6nKf7JEnQVhQiqQ zmx5eQj/oAaJQupFjU/4IZcG/wBnBEvuEJy8aLK7cYkMuO5ell9col2+pLw/xufa0lfn NCoPw8rWXdpW/2FwGaOivf29f5+q7zZeG4+P9Le+7QyHlzRk9xP1qtYLE54LLCzOcOvV rHjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766130185; x=1766734985; 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=FYLirUfiEXnjgPJucKUtZpWdxDHnZDigMmZ/CKd32ek=; b=kgEtpE+QhJ9LOcUl6eGFEFPb692NRWESX/Hc1q+1XP1rlzy1VWTj+Dtqlb4hf9ZA5m YlhU1XbdiiLTNAcWRDltjG5kwd/qzfTk6oL2xfES7IRzsdfnU0y2UCdepZab0hKoYndC I2K105shXKOpPllxDnLc0Sas4c2ViGOEUSSYHQOcd1mH50lUpVdIQywpN2vBOieqUBUp RAiyq5tbt5eIjwBgA6dVXyDuQmQZFy1cwj/iAYKycmaYE/uUtZkddCpb7PjWeBhlkiN4 ETjmtnRnTNOmiO68SqqsvmADlV+hWvHjq8XtOPgXHDRgmvtZQhtL+JcUY+gvuHysRXYw 7mgw== X-Forwarded-Encrypted: i=1; AJvYcCVxGCvHQkEEHtQf97ASM186bMxzCK3rltug2I3sNab0iOIqaJLwE9De1g5t6ou8N+rVfG1pmT1iEzAVo2s=@vger.kernel.org X-Gm-Message-State: AOJu0Yws0L+2BKsS+dCxmwatjwzCUK9UBHK+wHiFGOQBPNabwyFz/rY1 DfnUOc33elrbfqo/ChiiOYUuueqgKXXctgk0albkxc2aVwetk2YWf/oVtokSdj+dmPDJIefNyAO Fzm/foscy5aogj8mjXMdI1U4CjyI8bRwP68SFQ6KwZG7Yweao05kaRosZAy8f5RQAYjqRbbe6yt g= X-Gm-Gg: AY/fxX4Mrs7FHfDGDk0a1Ua1POPJE/9VZOkYxhvWvI683iXA0k3uRL8KMHhPyegePxW T/KteClIwXl8JQAJL7AuKU58jKoWUihI/Wl0m0He5tHPInq2MzpreW3108OlAszXSwlPwZHP9ZV RrA4ck9bP/PnclqkfU6HN008Z4KHZf9iVuDk5ZzKNBZ6LpMpxr9UU+ZbBW+C0p9SpGvsq4JI9yg P/9IWy9xKx7hq8FI2t5e7zPXH3+TVj+xq0Pdp2LgweombMtCNDY6D7N62eJjyJbwO08cKWOWOPh 2NWUlaticnpfRXVh3xcd56HxsujXlcGxxd9RbokoZHAE2iRFzG4kryAUc5R65j8m7/a/0+ISleE UbX9mAreB1kj44ZeFftNbQe2kGzFt1sAY9FAdafiu X-Received: by 2002:a17:902:c403:b0:297:f527:a38f with SMTP id d9443c01a7336-2a2f2231764mr20232255ad.18.1766130185160; Thu, 18 Dec 2025 23:43:05 -0800 (PST) X-Google-Smtp-Source: AGHT+IFPzx+n2xsp2KwtdHBvU0RFQ/MfyxEjD55yf+nkGjSNvL5s5EbMYQ7NEk0kmfaj/g9zwknh6w== X-Received: by 2002:a17:902:c403:b0:297:f527:a38f with SMTP id d9443c01a7336-2a2f2231764mr20231905ad.18.1766130184584; Thu, 18 Dec 2025 23:43:04 -0800 (PST) Received: from WANGAOW-LAB01.ap.qualcomm.com ([114.94.8.21]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a2f3d4cb90sm14007325ad.51.2025.12.18.23.43.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Dec 2025 23:43:04 -0800 (PST) From: Wangao Wang Date: Fri, 19 Dec 2025 15:42:29 +0800 Subject: [PATCH v2 1/6] media: qcom: iris: Add intra refresh 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: <20251219-batch2_iris_encoder_enhancements-v2-1-371f7fe24801@oss.qualcomm.com> References: <20251219-batch2_iris_encoder_enhancements-v2-0-371f7fe24801@oss.qualcomm.com> In-Reply-To: <20251219-batch2_iris_encoder_enhancements-v2-0-371f7fe24801@oss.qualcomm.com> To: Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab Cc: quic_qiweil@quicinc.com, Renjiang Han , Wangao Wang , linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766130176; l=7842; i=wangao.wang@oss.qualcomm.com; s=20251021; h=from:subject:message-id; bh=Nrv04AtTzkKXaY2s8Htipm9Jw+ep4zOvvkaTyFf+gHs=; b=CPGm2ha1RFSSGc7pvyJP+h6VvNKVXECT0qybxq7NeZfxvHwxWw5sKWrtsfMe3F06AKcmjCdap F0zf1XfH76ICAx88Wj0QMO1L7yWarhOYeahlIkAWJrZ0EfqHhkZz0e6 X-Developer-Key: i=wangao.wang@oss.qualcomm.com; a=ed25519; pk=bUPgYblBUAsoPyGfssbNR7ZXUSGF8v1VF4FJzSO6/aA= X-Proofpoint-ORIG-GUID: Aagirdmjg0oj3I9yny938kHrT-CBtIw1 X-Authority-Analysis: v=2.4 cv=A7ph/qWG c=1 sm=1 tr=0 ts=6945020a cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=Uz3yg00KUFJ2y2WijEJ4bw==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=WeO3ibNpx1p7V1gMH_0A:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-GUID: Aagirdmjg0oj3I9yny938kHrT-CBtIw1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE5MDA2MiBTYWx0ZWRfX3eA6LQonOj9h Fh2cSQkyL251oxH4HAp8Y/h7zv4ZoXKbDjAC5hnGtzCK9BUoasf0rIcDzF5iVqZ4VQZYx6wG0r8 jVSOZfEGxKMV/qCJ2KN8pHifSdXgoRGabTnl1r1FFXTtXVPBgIVCkY/cXilrCtC5zcjOyxhsCWs vPr+NJsgpMbOW+CLCd2HD7QcPRHFFOtbUU/HQjcjiQ9d7G+bTKu9Oagsup19wnKj502POcPhVPb C+nNvmlWonhOCnXdjG3a0Jey5pfTtRFZu6tCYnyuQkv+1g/I1EPAwQ+ZWHXiZ9rEXfmMPANKqQU lRWuf7bGtEowgeN8X6cL9n/BsJN9d0RN7mhlIctTjSVTIan3QzztbNrP45DMZvLCphR22Xn3cck jdwtTWi0Ztlm+J4Dvxk2rCBLQxFiEKIC+SFJy/zA8W/hnjGjALnRW6H99PwGQ7ZrzCutc54gs/U fhMdtwq5MNkholluGMg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-19_02,2025-12-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 spamscore=0 phishscore=0 suspectscore=0 malwarescore=0 clxscore=1015 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512190062 Add support for intra refresh configuration on gen1 encoder by enabling V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD and V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE controls. Signed-off-by: Wangao Wang --- drivers/media/platform/qcom/iris/iris_ctrls.c | 39 ++++++++++++++++++= +++- drivers/media/platform/qcom/iris/iris_ctrls.h | 3 +- .../platform/qcom/iris/iris_hfi_gen1_command.c | 8 +++++ .../platform/qcom/iris/iris_hfi_gen1_defines.h | 13 ++++++++ .../media/platform/qcom/iris/iris_platform_gen1.c | 19 +++++++++++ .../media/platform/qcom/iris/iris_platform_gen2.c | 4 +-- 6 files changed, 82 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/qcom/iris/iris_ctrls.c b/drivers/media/= platform/qcom/iris/iris_ctrls.c index 1910aa31a9b9218e9423f2916aa40b85185f0dfb..eae4fedc929e980eb001a5a6625= 159958d53a3d1 100644 --- a/drivers/media/platform/qcom/iris/iris_ctrls.c +++ b/drivers/media/platform/qcom/iris/iris_ctrls.c @@ -962,7 +962,44 @@ int iris_set_flip(struct iris_inst *inst, enum platfor= m_inst_fw_cap_type cap_id) &hfi_val, sizeof(u32)); } =20 -int iris_set_ir_period(struct iris_inst *inst, enum platform_inst_fw_cap_t= ype cap_id) +int iris_set_ir_period_gen1(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; + struct v4l2_pix_format_mplane *fmt =3D &inst->fmt_dst->fmt.pix_mp; + u32 codec_align =3D inst->codec =3D=3D V4L2_PIX_FMT_HEVC ? 32 : 16; + u32 ir_period =3D inst->fw_caps[cap_id].value; + u32 hfi_id =3D inst->fw_caps[cap_id].hfi_id; + struct hfi_intra_refresh hfi_val; + + if (!ir_period) + return -EINVAL; + + if (inst->fw_caps[IR_TYPE].value =3D=3D + V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM) { + hfi_val.mode =3D HFI_INTRA_REFRESH_RANDOM; + } else if (inst->fw_caps[IR_TYPE].value =3D=3D + V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC) { + hfi_val.mode =3D HFI_INTRA_REFRESH_CYCLIC; + } else { + return -EINVAL; + } + + /* + * Calculate the number of macroblocks in a frame, + * then determine how many macroblocks need to be + * refreshed within one ir_period. + */ + hfi_val.mbs =3D (fmt->width / codec_align) * (fmt->height / codec_align); + hfi_val.mbs /=3D ir_period; + + return hfi_ops->session_set_property(inst, hfi_id, + HFI_HOST_FLAGS_NONE, + iris_get_port_info(inst, cap_id), + HFI_PAYLOAD_STRUCTURE, + &hfi_val, sizeof(hfi_val)); +} + +int iris_set_ir_period_gen2(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; struct vb2_queue *q =3D v4l2_m2m_get_dst_vq(inst->m2m_ctx); diff --git a/drivers/media/platform/qcom/iris/iris_ctrls.h b/drivers/media/= platform/qcom/iris/iris_ctrls.h index 9518803577bc39f5c1339a49878dd0c3e8f510ad..a0d5338bdc910bd30407132e8b7= 00c333ad74e4c 100644 --- a/drivers/media/platform/qcom/iris/iris_ctrls.h +++ b/drivers/media/platform/qcom/iris/iris_ctrls.h @@ -34,7 +34,8 @@ int iris_set_frame_qp(struct iris_inst *inst, enum platfo= rm_inst_fw_cap_type cap int iris_set_qp_range(struct iris_inst *inst, enum platform_inst_fw_cap_ty= pe cap_id); int iris_set_rotation(struct iris_inst *inst, enum platform_inst_fw_cap_ty= pe cap_id); int iris_set_flip(struct iris_inst *inst, enum platform_inst_fw_cap_type c= ap_id); -int iris_set_ir_period(struct iris_inst *inst, enum platform_inst_fw_cap_t= ype cap_id); +int iris_set_ir_period_gen1(struct iris_inst *inst, enum platform_inst_fw_= cap_type cap_id); +int iris_set_ir_period_gen2(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 52da7ef7bab08fb1cb2ac804ccc6e3c7f9677890..4d9632ba86bc8f629cee6d726eb= 44efcdeba2475 100644 --- a/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c @@ -685,6 +685,14 @@ iris_hfi_gen1_packet_session_set_property(struct hfi_s= ession_set_property_pkt *p packet->shdr.hdr.size +=3D sizeof(u32) + sizeof(*plane_actual_info); break; } + case HFI_PROPERTY_PARAM_VENC_INTRA_REFRESH: { + struct hfi_intra_refresh *in =3D pdata, *intra_refresh =3D prop_data; + + intra_refresh->mode =3D in->mode; + intra_refresh->mbs =3D in->mbs; + packet->shdr.hdr.size +=3D sizeof(u32) + sizeof(*intra_refresh); + 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 42226ccee3d9b9eb5f793c3be127acd8afad2138..04c79ee0463d7f32a2042044fe4= 564718cc01561 100644 --- a/drivers/media/platform/qcom/iris/iris_hfi_gen1_defines.h +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen1_defines.h @@ -139,6 +139,14 @@ #define HFI_PROPERTY_PARAM_VENC_H264_DEBLOCK_CONTROL 0x2005003 #define HFI_PROPERTY_PARAM_VENC_RATE_CONTROL 0x2005004 #define HFI_PROPERTY_PARAM_VENC_SESSION_QP_RANGE_V2 0x2005009 + +#define HFI_INTRA_REFRESH_NONE 0x1 +#define HFI_INTRA_REFRESH_CYCLIC 0x2 +#define HFI_INTRA_REFRESH_ADAPTIVE 0x3 +#define HFI_INTRA_REFRESH_CYCLIC_ADAPTIVE 0x4 +#define HFI_INTRA_REFRESH_RANDOM 0x5 + +#define HFI_PROPERTY_PARAM_VENC_INTRA_REFRESH 0x200500d #define HFI_PROPERTY_PARAM_VENC_MAX_NUM_B_FRAMES 0x2005020 #define HFI_PROPERTY_CONFIG_VENC_TARGET_BITRATE 0x2006001 #define HFI_PROPERTY_CONFIG_VENC_SYNC_FRAME_SEQUENCE_HEADER 0x2006008 @@ -447,6 +455,11 @@ struct hfi_framerate { u32 framerate; }; =20 +struct hfi_intra_refresh { + u32 mode; + u32 mbs; +}; + struct hfi_event_data { u32 error; u32 height; diff --git a/drivers/media/platform/qcom/iris/iris_platform_gen1.c b/driver= s/media/platform/qcom/iris/iris_platform_gen1.c index 34cbeb8f52e248b6aec3e0ee911e14d50df07cce..e7645bd60eb46785e0110a34f32= 57f7c37bbfca5 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_gen1.c +++ b/drivers/media/platform/qcom/iris/iris_platform_gen1.c @@ -230,6 +230,25 @@ static const struct platform_inst_fw_cap inst_fw_cap_s= m8250_enc[] =3D { .flags =3D CAP_FLAG_OUTPUT_PORT, .set =3D iris_set_qp_range, }, + { + .cap_id =3D IR_TYPE, + .min =3D V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM, + .max =3D V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC, + .step_or_mask =3D BIT(V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RAND= OM) | + BIT(V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC), + .value =3D V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM, + .flags =3D CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU, + }, + { + .cap_id =3D IR_PERIOD, + .min =3D 0, + .max =3D INT_MAX, + .step_or_mask =3D 1, + .value =3D 0, + .hfi_id =3D HFI_PROPERTY_PARAM_VENC_INTRA_REFRESH, + .flags =3D CAP_FLAG_OUTPUT_PORT, + .set =3D iris_set_ir_period_gen1, + }, }; =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 a2025d32b3235aaff25793ba77db143000e54bae..585f0aedc0eb5e80fd108929e18= 61101a7bab2be 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_gen2.c +++ b/drivers/media/platform/qcom/iris/iris_platform_gen2.c @@ -630,12 +630,12 @@ static const struct platform_inst_fw_cap inst_fw_cap_= sm8550_enc[] =3D { { .cap_id =3D IR_PERIOD, .min =3D 0, - .max =3D INT_MAX, + .max =3D ((4096 * 2304) >> 8), .step_or_mask =3D 1, .value =3D 0, .flags =3D CAP_FLAG_OUTPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED, - .set =3D iris_set_ir_period, + .set =3D iris_set_ir_period_gen2, }, }; =20 --=20 2.43.0