From mboxrd@z Thu Jan 1 00:00:00 1970 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 B154E3E8C79 for ; Sat, 28 Feb 2026 08:29:01 +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=1772267344; cv=none; b=ewjTow78jjeSVM+vd6QEKkMY0CQrciJSXFOi5/tnHiG6svq8aQ2+xqmVM/tSNgFPHBckzlGqvLHLJRNJp8E5isxrq6QNO8s975H9kYbwUsxyz0+WF0N5eFkMUlgrtg1/cRywc7DxcSyFXHSohR0/cOnrVifLTNYevUjmfbXjPe0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772267344; c=relaxed/simple; bh=F8z4p8A5FWhkphd/1cHX/Mm53KeEhLg9ROSzJckUOF8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KPxHivhSMuLRstnuB+8gF9xfQTgdZXuowOcBMU5mP0zo3pKPNzmtT/oZN4yd+mZUhggZaKhQmLpVglvsb3FxOTGQPvxaWSdRI6PSJ7ypjyg023yOIZ20I1lS1gTZBebpLh8Mucil05TKA8JMbpx925q00kU8FB84Z+lKWFXLWSU= 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=BgUhrDTi; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BCU1o/Z5; 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="BgUhrDTi"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BCU1o/Z5" 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 61S6Ng3Y2377140 for ; Sat, 28 Feb 2026 08:29:01 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= J2+XSvcbwVCAyE2Y4h1wm9PEGiKOdIToKS2l2j9Z+qM=; b=BgUhrDTiPIYOahEJ J/xStUh4j6lId+vmdRUodB21tU0/WchGCD8a6Z9VpJxTilSA1K8HzFaIaF+FzbAN wUmt25U0alXKd//oTmVzVHWiDLGg7Lt+rHWjPRgrmizBt1+NSAr5RVqfxHcT4zjw X/msLAvAboGXSV9anRbMDrxvDZImpAXhx1MGAMKuvMD/fe7SrX8QxzjXI/SyTSDm e4xwibb9eBsHGTQpeVVZiZLPdkOCWM4wsMpSR8uFySA8wEjRtnGspm0aIvboX1Xz 3rMP+cLnMz2MGv35Oy584evDnpnvlCInG63PxFjszlQ+KN1ZjEGMQftV+YUYeczj y1OQ+g== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ckshd0j5c-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 28 Feb 2026 08:29:00 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8c70e610242so2410564785a.2 for ; Sat, 28 Feb 2026 00:29:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772267340; x=1772872140; 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=J2+XSvcbwVCAyE2Y4h1wm9PEGiKOdIToKS2l2j9Z+qM=; b=BCU1o/Z5/JUxiv464BkYKidYkDcz43MRjjFiqUEr6tRiNTHeJ9DJLw8Zfzq/9/VIJZ ilpG8yMPtmnX8G2jL5nXaafZD3pZMQRbPWuyxGJTqLeXzAuKcF9kqBSB27GbdcvTihr3 kTYrdfBhCBeWbZbqlU6D24jy/8dupg9WXFvxVel//Y7FFc6mJjR5YOA6SHAoMR7cjwER ydc8mSgAUI9XZbF0wy5WUf65ZzaWHMaF0TSHrIBH+EwPCYX5UjWJPj6UFogBu22Df6wL UNVzdBC1+usu8uBZ5wC1ztRBSM3P+1HaeEEzqLQ+3BGidajWkbFcIzYjjOL6WcHkbjSE DbyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772267340; x=1772872140; 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=J2+XSvcbwVCAyE2Y4h1wm9PEGiKOdIToKS2l2j9Z+qM=; b=BWVNYeQkhxNwddL28OKKgcy0jabOcDFXoPaO3doYhhKWoiVPqbhNSPst5f01U5KVf8 Exds4DcmTOtil8di0b8c5/KO4DqEPRzZLDqpbW5/xtzsVD4Xe5zvCVjaUfHIJ7xWrWHm ABz0UKOGzwHJQ/tzVzGCRCJqe5ppmnjvP7JVUFaKJbryj7NfbjTLJeIs1V82ZoEF7UUr j2R4XHybC/P9rOGQW55PKdKOjni3rTOuzZhP5tzyIua8Pvqst67Ank/uNHMrKwo3V2uf 3rbncqQtHf7Z4FfB0gUvXpC2y4ENAP+DfIGmWObu468uPWd7IjhNzRCOdCObcMUNNXc/ 9iHQ== X-Forwarded-Encrypted: i=1; AJvYcCU2iiscAeXspoK8MiFpQ90yF97sBe5sz10bQEGHXQpdJVHss1tHd7zqYhlsbRAvv2JrvB1bwwCXMbF0dng=@vger.kernel.org X-Gm-Message-State: AOJu0YyJhDihPEQGM/5ZmOo6/0hEN5puycdGSTTmCAx1CsFJ/BNf6JjE kvEEbGS0X2V1OjAZdWN6M3mJ1A6zubD3uY/zezCyrHnlf27uEzglA3akN6I72/IQdVKgbpjlwJE xcn4WEmctdGgihz6KpHlehFzoP35tBeBJmsJ1GyJOkJSyNre/J4U1dQUhPYAece5dj3s= X-Gm-Gg: ATEYQzybuBUBgpKXWpR2VjTDTRb1OyknFHzx1ZrUklvFXBjg22G7yCqp0ZUT7iALk99 5FdBR+kRqc6gLga6SDEcKQ53nc//DGkZ8QHri+C4Kv63za5tlFu0O5QWUNXDXwvq9IvgzajNf/u vW9y3Ipcq4Cpx/Yt6HaCglquuIp7FpjsKsmWU/ipxZ6zD1JNbQpyrRRKz/t/NDzGJmeAYEJ8sXZ jAet+3dqvGBqyeHxbb/9v8T+x6SoPbSNk0yj0xYloea4ZGUcokNj5UxjkA6iueRDCKpjqNQLgI5 afJOHWerh5oWJtsrIs20TVInPMW4KSCn5EFDEB00CDmcMNvaAIUvYKLXDp6Jyux6aeTEaYQkfE1 mEQZJTT4y0SmatiG0gQ3rwiQBWPVT7z5/CfUS9Eteu9BKdQ9WzZQMO2GvNpIwJ4dZ5zvLypaODq oG6W59qidJMRgvCKo2gaaoMwozzfYlD//scMQ= X-Received: by 2002:a05:620a:4451:b0:8b2:e986:2707 with SMTP id af79cd13be357-8cbc8e031bemr729974785a.45.1772267339736; Sat, 28 Feb 2026 00:28:59 -0800 (PST) X-Received: by 2002:a05:620a:4451:b0:8b2:e986:2707 with SMTP id af79cd13be357-8cbc8e031bemr729973185a.45.1772267339215; Sat, 28 Feb 2026 00:28:59 -0800 (PST) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-389f2f4b158sm17970711fa.6.2026.02.28.00.28.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 28 Feb 2026 00:28:57 -0800 (PST) From: Dmitry Baryshkov Date: Sat, 28 Feb 2026 10:28:48 +0200 Subject: [PATCH 03/11] media: qcom: iris: handle HFI params directly 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: 7bit Message-Id: <20260228-iris-platform-data-v1-3-c2c53539f948@oss.qualcomm.com> References: <20260228-iris-platform-data-v1-0-c2c53539f948@oss.qualcomm.com> In-Reply-To: <20260228-iris-platform-data-v1-0-c2c53539f948@oss.qualcomm.com> To: Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=21710; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=F8z4p8A5FWhkphd/1cHX/Mm53KeEhLg9ROSzJckUOF8=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpoqc/Z7j58thKnWr93V1+0mqcz6JnQzQNkX2jj z2aU/uC9s+JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaaKnPwAKCRCLPIo+Aiko 1cJKB/4qzwcS7ZwiCLgbEz4xRR+SIxoEjqBkXpu6C3meWvK9l0RLLeHr+m8gCCEiWQmbWHscSml ALpjsl75CYBLaf4v88MjVtj7VT8dfo3IjxLQ3F4xWNpvfUiKlenIetXlgBCFQM4dTPP536Serrn pPPLmpT0Jk+6TpZRmononMskvwPqadOT/FSoLkPCshguqfcHlg8eu86wcHxUeBE2jnxrmfRSJkD 3B2B0qy33MbqBUwCM6y3zI7G75w5x+aruCPa7VuM7N25J1cby7xYEKEVrhHfZVUR1svGSI5X2XI NrBtlUyOKLvUzKHcpA1MZj5gJ1YKorm/xXeM2WiWvbzrkDwE X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjI4MDA3NyBTYWx0ZWRfX2Qdx4oKNsCpx Gp6afuYF4SIyLjHYu9wckodGhYwAtNS1U9deQd6Q/EI8mC3boigpjVTDdKln3+wStfUUNTEOsR0 hdItrDN3dwINd7RxfodedA/e8YpSL2uQySmZdj3dt9+xFpeaphtYxLVbnKUnw9RjvhG+CQpe1Hc v7GIH2mENcqFY1o/yBGk2J0KOVfFD9uaHnabk3i0FdfnPqOtAWBvz+ecIvdzuVTwt3Sm5Pyk6Wc E3L5/wLfEQNc15pyoS5m84FcqUnOfstfuXz2vvk2rnEJ/PDPhIL0qdzcwqdRrAURHb5z4kG/+zN j/YcsrN13z83W3k7ghRf61rpkZCG/z0T/cTPjT2n4HzZJGgjjSQAtTtNi3CVSN3Cf661MZOBF8i mpxm6TTJBhQZYWE8Tdxm3cp3oc2+RlikHHEN+zj9qv+4VfXkHpjOpxUx1zpRjN8zHHg8gOuH7WH doTsKZqSJss3KZB6x9Q== X-Proofpoint-ORIG-GUID: 3Lmdv2CXyN-eboUtblF0T2HzsWkde8AR X-Proofpoint-GUID: 3Lmdv2CXyN-eboUtblF0T2HzsWkde8AR X-Authority-Analysis: v=2.4 cv=COYnnBrD c=1 sm=1 tr=0 ts=69a2a74d cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=0V4xn3LT2fnV2DziLREA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-28_02,2026-02-27_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 spamscore=0 adultscore=0 impostorscore=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602280077 The HFI params are set per the HFI generation, they don't change between different platforms with the same HFI interface. Instead of copy-pasting the same params between platform data over and over again, move them to the corresponding HFI generation source file and drop them from the HFI platform data. Signed-off-by: Dmitry Baryshkov --- .../platform/qcom/iris/iris_hfi_gen1_command.c | 28 +++- .../platform/qcom/iris/iris_hfi_gen2_command.c | 118 +++++++++++--- .../platform/qcom/iris/iris_platform_common.h | 14 -- .../media/platform/qcom/iris/iris_platform_gen1.c | 33 ---- .../media/platform/qcom/iris/iris_platform_gen2.c | 181 --------------------- 5 files changed, 114 insertions(+), 260 deletions(-) diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c b/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c index e42d17653c2c..d5eaf8763f6d 100644 --- a/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c @@ -978,11 +978,29 @@ static int iris_hfi_gen1_set_stride(struct iris_inst *inst, u32 plane) return hfi_gen1_set_property(inst, ptype, &plane_actual_info, sizeof(plane_actual_info)); } +static const u32 iris_hfi_gen1_vdec_input_config_param[] = { + HFI_PROPERTY_CONFIG_VIDEOCORES_USAGE, + HFI_PROPERTY_PARAM_UNCOMPRESSED_FORMAT_SELECT, + HFI_PROPERTY_PARAM_UNCOMPRESSED_PLANE_ACTUAL_CONSTRAINTS_INFO, + HFI_PROPERTY_PARAM_BUFFER_COUNT_ACTUAL, + HFI_PROPERTY_PARAM_VDEC_MULTI_STREAM, + HFI_PROPERTY_PARAM_FRAME_SIZE, + HFI_PROPERTY_PARAM_BUFFER_SIZE_ACTUAL, + HFI_PROPERTY_PARAM_BUFFER_ALLOC_MODE, +}; + +static const u32 iris_hfi_gen1_venc_input_config_param[] = { + HFI_PROPERTY_CONFIG_FRAME_RATE, + HFI_PROPERTY_PARAM_UNCOMPRESSED_PLANE_ACTUAL_INFO, + HFI_PROPERTY_PARAM_FRAME_SIZE, + HFI_PROPERTY_PARAM_UNCOMPRESSED_FORMAT_SELECT, + HFI_PROPERTY_PARAM_BUFFER_COUNT_ACTUAL, +}; + static int iris_hfi_gen1_session_set_config_params(struct iris_inst *inst, u32 plane) { struct iris_hfi_prop_type_handle const *handler = NULL; u32 handler_size = 0; - struct iris_core *core = inst->core; u32 config_params_size, i, j; const u32 *config_params; int ret; @@ -1033,8 +1051,8 @@ static int iris_hfi_gen1_session_set_config_params(struct iris_inst *inst, u32 p }; if (inst->domain == DECODER) { - config_params = core->iris_platform_data->dec_input_config_params_default; - config_params_size = core->iris_platform_data->dec_input_config_params_default_size; + config_params = iris_hfi_gen1_vdec_input_config_param; + config_params_size = ARRAY_SIZE(iris_hfi_gen1_vdec_input_config_param); if (V4L2_TYPE_IS_OUTPUT(plane)) { handler = vdec_prop_type_handle_inp_arr; handler_size = ARRAY_SIZE(vdec_prop_type_handle_inp_arr); @@ -1043,8 +1061,8 @@ static int iris_hfi_gen1_session_set_config_params(struct iris_inst *inst, u32 p handler_size = ARRAY_SIZE(vdec_prop_type_handle_out_arr); } } else { - config_params = core->iris_platform_data->enc_input_config_params; - config_params_size = core->iris_platform_data->enc_input_config_params_size; + config_params = iris_hfi_gen1_venc_input_config_param; + config_params_size = ARRAY_SIZE(iris_hfi_gen1_venc_input_config_param); handler = venc_prop_type_handle_inp_arr; handler_size = ARRAY_SIZE(venc_prop_type_handle_inp_arr); } diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c b/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c index 30bfd90d423b..de43d90b5a2d 100644 --- a/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c @@ -599,9 +599,73 @@ static int iris_hfi_gen2_set_super_block(struct iris_inst *inst, u32 plane) sizeof(u32)); } +static const u32 iris_hfi_gen2_vdec_input_config_params_avc[] = { + HFI_PROP_BITSTREAM_RESOLUTION, + HFI_PROP_CROP_OFFSETS, + HFI_PROP_LUMA_CHROMA_BIT_DEPTH, + HFI_PROP_CODED_FRAMES, + HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT, + HFI_PROP_PIC_ORDER_CNT_TYPE, + HFI_PROP_PROFILE, + HFI_PROP_LEVEL, + HFI_PROP_SIGNAL_COLOR_INFO, +}; + +static const u32 iris_hfi_gen2_vdec_input_config_params_hevc[] = { + HFI_PROP_BITSTREAM_RESOLUTION, + HFI_PROP_CROP_OFFSETS, + HFI_PROP_LUMA_CHROMA_BIT_DEPTH, + HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT, + HFI_PROP_PROFILE, + HFI_PROP_LEVEL, + HFI_PROP_TIER, + HFI_PROP_SIGNAL_COLOR_INFO, +}; + +static const u32 iris_hfi_gen2_vdec_input_config_params_vp9[] = { + HFI_PROP_BITSTREAM_RESOLUTION, + HFI_PROP_CROP_OFFSETS, + HFI_PROP_LUMA_CHROMA_BIT_DEPTH, + HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT, + HFI_PROP_PROFILE, + HFI_PROP_LEVEL, +}; + +static const u32 iris_hfi_gen2_vdec_input_config_params_av1[] = { + HFI_PROP_BITSTREAM_RESOLUTION, + HFI_PROP_CROP_OFFSETS, + HFI_PROP_LUMA_CHROMA_BIT_DEPTH, + HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT, + HFI_PROP_PROFILE, + HFI_PROP_LEVEL, + HFI_PROP_TIER, + HFI_PROP_AV1_FILM_GRAIN_PRESENT, + HFI_PROP_AV1_SUPER_BLOCK_ENABLED, + HFI_PROP_SIGNAL_COLOR_INFO, +}; + +static const u32 iris_hfi_gen2_venc_input_config_params[] = { + HFI_PROP_COLOR_FORMAT, + HFI_PROP_RAW_RESOLUTION, + HFI_PROP_CROP_OFFSETS, + HFI_PROP_LINEAR_STRIDE_SCANLINE, + HFI_PROP_SIGNAL_COLOR_INFO, +}; + +static const u32 iris_hfi_gen2_vdec_output_config_params[] = { + HFI_PROP_OPB_ENABLE, + HFI_PROP_COLOR_FORMAT, + HFI_PROP_LINEAR_STRIDE_SCANLINE, +}; + +static const u32 iris_hfi_gen2_venc_output_config_params[] = { + HFI_PROP_BITSTREAM_RESOLUTION, + HFI_PROP_CROP_OFFSETS, + HFI_PROP_FRAME_RATE, +}; + static int iris_hfi_gen2_session_set_config_params(struct iris_inst *inst, u32 plane) { - const struct iris_platform_data *pdata = inst->core->iris_platform_data; u32 config_params_size = 0, i, j; const u32 *config_params = NULL; int ret; @@ -630,31 +694,35 @@ static int iris_hfi_gen2_session_set_config_params(struct iris_inst *inst, u32 p if (inst->domain == DECODER) { if (V4L2_TYPE_IS_OUTPUT(plane)) { if (inst->codec == V4L2_PIX_FMT_H264) { - config_params = pdata->dec_input_config_params_default; - config_params_size = pdata->dec_input_config_params_default_size; + config_params = iris_hfi_gen2_vdec_input_config_params_avc; + config_params_size = + ARRAY_SIZE(iris_hfi_gen2_vdec_input_config_params_avc); } else if (inst->codec == V4L2_PIX_FMT_HEVC) { - config_params = pdata->dec_input_config_params_hevc; - config_params_size = pdata->dec_input_config_params_hevc_size; + config_params = iris_hfi_gen2_vdec_input_config_params_hevc; + config_params_size = + ARRAY_SIZE(iris_hfi_gen2_vdec_input_config_params_hevc); } else if (inst->codec == V4L2_PIX_FMT_VP9) { - config_params = pdata->dec_input_config_params_vp9; - config_params_size = pdata->dec_input_config_params_vp9_size; + config_params = iris_hfi_gen2_vdec_input_config_params_vp9; + config_params_size = + ARRAY_SIZE(iris_hfi_gen2_vdec_input_config_params_vp9); } else if (inst->codec == V4L2_PIX_FMT_AV1) { - config_params = pdata->dec_input_config_params_av1; - config_params_size = pdata->dec_input_config_params_av1_size; + config_params = iris_hfi_gen2_vdec_input_config_params_av1; + config_params_size = + ARRAY_SIZE(iris_hfi_gen2_vdec_input_config_params_av1); } else { return -EINVAL; } } else { - config_params = pdata->dec_output_config_params; - config_params_size = pdata->dec_output_config_params_size; + config_params = iris_hfi_gen2_vdec_output_config_params; + config_params_size = ARRAY_SIZE(iris_hfi_gen2_vdec_output_config_params); } } else { if (V4L2_TYPE_IS_OUTPUT(plane)) { - config_params = pdata->enc_input_config_params; - config_params_size = pdata->enc_input_config_params_size; + config_params = iris_hfi_gen2_venc_input_config_params; + config_params_size = ARRAY_SIZE(iris_hfi_gen2_venc_input_config_params); } else { - config_params = pdata->enc_output_config_params; - config_params_size = pdata->enc_output_config_params_size; + config_params = iris_hfi_gen2_venc_output_config_params; + config_params_size = ARRAY_SIZE(iris_hfi_gen2_venc_output_config_params); } } @@ -849,24 +917,20 @@ static int iris_hfi_gen2_subscribe_change_param(struct iris_inst *inst, u32 plan switch (inst->codec) { case V4L2_PIX_FMT_H264: - change_param = core->iris_platform_data->dec_input_config_params_default; - change_param_size = - core->iris_platform_data->dec_input_config_params_default_size; + change_param = iris_hfi_gen2_vdec_input_config_params_h264; + change_param_size = ARRAY_SIZE(iris_hfi_gen2_vdec_input_config_params_h264); break; case V4L2_PIX_FMT_HEVC: - change_param = core->iris_platform_data->dec_input_config_params_hevc; - change_param_size = - core->iris_platform_data->dec_input_config_params_hevc_size; + change_param = iris_hfi_gen2_vdec_input_config_params_hevc; + change_param_size = ARRAY_SIZE(iris_hfi_gen2_vdec_input_config_params_hevc); break; case V4L2_PIX_FMT_VP9: - change_param = core->iris_platform_data->dec_input_config_params_vp9; - change_param_size = - core->iris_platform_data->dec_input_config_params_vp9_size; + change_param = iris_hfi_gen2_vdec_input_config_params_vp9; + change_param_size = ARRAY_SIZE(iris_hfi_gen2_vdec_input_config_params_vp9); break; case V4L2_PIX_FMT_AV1: - change_param = core->iris_platform_data->dec_input_config_params_av1; - change_param_size = - core->iris_platform_data->dec_input_config_params_av1_size; + change_param = iris_hfi_gen2_vdec_input_config_params_av1; + change_param_size = ARRAY_SIZE(iris_hfi_gen2_vdec_input_config_params_av1); break; } diff --git a/drivers/media/platform/qcom/iris/iris_platform_common.h b/drivers/media/platform/qcom/iris/iris_platform_common.h index e4eefc646c7f..00e40590d5ec 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_common.h +++ b/drivers/media/platform/qcom/iris/iris_platform_common.h @@ -243,20 +243,6 @@ struct iris_platform_data { u32 max_core_mbpf; /* max number of macroblocks per second supported */ u32 max_core_mbps; - const u32 *dec_input_config_params_default; - unsigned int dec_input_config_params_default_size; - const u32 *dec_input_config_params_hevc; - unsigned int dec_input_config_params_hevc_size; - const u32 *dec_input_config_params_vp9; - unsigned int dec_input_config_params_vp9_size; - const u32 *dec_input_config_params_av1; - unsigned int dec_input_config_params_av1_size; - const u32 *dec_output_config_params; - unsigned int dec_output_config_params_size; - const u32 *enc_input_config_params; - unsigned int enc_input_config_params_size; - const u32 *enc_output_config_params; - unsigned int enc_output_config_params_size; const u32 *dec_input_prop; unsigned int dec_input_prop_size; const u32 *dec_output_prop_avc; diff --git a/drivers/media/platform/qcom/iris/iris_platform_gen1.c b/drivers/media/platform/qcom/iris/iris_platform_gen1.c index a3eebcacba7b..392f9ed94ba8 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_gen1.c +++ b/drivers/media/platform/qcom/iris/iris_platform_gen1.c @@ -298,25 +298,6 @@ static const struct tz_cp_config tz_cp_config_sm8250[] = { }, }; -static const u32 sm8250_vdec_input_config_param_default[] = { - HFI_PROPERTY_CONFIG_VIDEOCORES_USAGE, - HFI_PROPERTY_PARAM_UNCOMPRESSED_FORMAT_SELECT, - HFI_PROPERTY_PARAM_UNCOMPRESSED_PLANE_ACTUAL_CONSTRAINTS_INFO, - HFI_PROPERTY_PARAM_BUFFER_COUNT_ACTUAL, - HFI_PROPERTY_PARAM_VDEC_MULTI_STREAM, - HFI_PROPERTY_PARAM_FRAME_SIZE, - HFI_PROPERTY_PARAM_BUFFER_SIZE_ACTUAL, - HFI_PROPERTY_PARAM_BUFFER_ALLOC_MODE, -}; - -static const u32 sm8250_venc_input_config_param[] = { - HFI_PROPERTY_CONFIG_FRAME_RATE, - HFI_PROPERTY_PARAM_UNCOMPRESSED_PLANE_ACTUAL_INFO, - HFI_PROPERTY_PARAM_FRAME_SIZE, - HFI_PROPERTY_PARAM_UNCOMPRESSED_FORMAT_SELECT, - HFI_PROPERTY_PARAM_BUFFER_COUNT_ACTUAL, -}; - static const u32 sm8250_dec_ip_int_buf_tbl[] = { BUF_BIN, BUF_SCRATCH_1, @@ -369,13 +350,6 @@ const struct iris_platform_data sm8250_data = { .max_session_count = 16, .max_core_mbpf = NUM_MBS_8K, .max_core_mbps = ((7680 * 4320) / 256) * 60, - .dec_input_config_params_default = - sm8250_vdec_input_config_param_default, - .dec_input_config_params_default_size = - ARRAY_SIZE(sm8250_vdec_input_config_param_default), - .enc_input_config_params = sm8250_venc_input_config_param, - .enc_input_config_params_size = - ARRAY_SIZE(sm8250_venc_input_config_param), .dec_ip_int_buf_tbl = sm8250_dec_ip_int_buf_tbl, .dec_ip_int_buf_tbl_size = ARRAY_SIZE(sm8250_dec_ip_int_buf_tbl), @@ -423,13 +397,6 @@ const struct iris_platform_data sc7280_data = { .max_core_mbpf = 4096 * 2176 / 256 * 2 + 1920 * 1088 / 256, /* max spec for SC7280 is 4096x2176@60fps */ .max_core_mbps = 4096 * 2176 / 256 * 60, - .dec_input_config_params_default = - sm8250_vdec_input_config_param_default, - .dec_input_config_params_default_size = - ARRAY_SIZE(sm8250_vdec_input_config_param_default), - .enc_input_config_params = sm8250_venc_input_config_param, - .enc_input_config_params_size = - ARRAY_SIZE(sm8250_venc_input_config_param), .dec_ip_int_buf_tbl = sm8250_dec_ip_int_buf_tbl, .dec_ip_int_buf_tbl_size = ARRAY_SIZE(sm8250_dec_ip_int_buf_tbl), diff --git a/drivers/media/platform/qcom/iris/iris_platform_gen2.c b/drivers/media/platform/qcom/iris/iris_platform_gen2.c index f8754451ac18..5b157697d478 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_gen2.c +++ b/drivers/media/platform/qcom/iris/iris_platform_gen2.c @@ -794,71 +794,6 @@ static const struct tz_cp_config tz_cp_config_sm8550[] = { }, }; -static const u32 sm8550_vdec_input_config_params_default[] = { - HFI_PROP_BITSTREAM_RESOLUTION, - HFI_PROP_CROP_OFFSETS, - HFI_PROP_LUMA_CHROMA_BIT_DEPTH, - HFI_PROP_CODED_FRAMES, - HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT, - HFI_PROP_PIC_ORDER_CNT_TYPE, - HFI_PROP_PROFILE, - HFI_PROP_LEVEL, - HFI_PROP_SIGNAL_COLOR_INFO, -}; - -static const u32 sm8550_vdec_input_config_param_hevc[] = { - HFI_PROP_BITSTREAM_RESOLUTION, - HFI_PROP_CROP_OFFSETS, - HFI_PROP_LUMA_CHROMA_BIT_DEPTH, - HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT, - HFI_PROP_PROFILE, - HFI_PROP_LEVEL, - HFI_PROP_TIER, - HFI_PROP_SIGNAL_COLOR_INFO, -}; - -static const u32 sm8550_vdec_input_config_param_vp9[] = { - HFI_PROP_BITSTREAM_RESOLUTION, - HFI_PROP_CROP_OFFSETS, - HFI_PROP_LUMA_CHROMA_BIT_DEPTH, - HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT, - HFI_PROP_PROFILE, - HFI_PROP_LEVEL, -}; - -static const u32 sm8550_vdec_input_config_param_av1[] = { - HFI_PROP_BITSTREAM_RESOLUTION, - HFI_PROP_CROP_OFFSETS, - HFI_PROP_LUMA_CHROMA_BIT_DEPTH, - HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT, - HFI_PROP_PROFILE, - HFI_PROP_LEVEL, - HFI_PROP_TIER, - HFI_PROP_AV1_FILM_GRAIN_PRESENT, - HFI_PROP_AV1_SUPER_BLOCK_ENABLED, - HFI_PROP_SIGNAL_COLOR_INFO, -}; - -static const u32 sm8550_venc_input_config_params[] = { - HFI_PROP_COLOR_FORMAT, - HFI_PROP_RAW_RESOLUTION, - HFI_PROP_CROP_OFFSETS, - HFI_PROP_LINEAR_STRIDE_SCANLINE, - HFI_PROP_SIGNAL_COLOR_INFO, -}; - -static const u32 sm8550_vdec_output_config_params[] = { - HFI_PROP_OPB_ENABLE, - HFI_PROP_COLOR_FORMAT, - HFI_PROP_LINEAR_STRIDE_SCANLINE, -}; - -static const u32 sm8550_venc_output_config_params[] = { - HFI_PROP_BITSTREAM_RESOLUTION, - HFI_PROP_CROP_OFFSETS, - HFI_PROP_FRAME_RATE, -}; - static const u32 sm8550_vdec_subscribe_input_properties[] = { HFI_PROP_NO_OUTPUT, }; @@ -944,35 +879,6 @@ const struct iris_platform_data sm8550_data = { .max_session_count = 16, .max_core_mbpf = NUM_MBS_8K * 2, .max_core_mbps = ((7680 * 4320) / 256) * 60, - .dec_input_config_params_default = - sm8550_vdec_input_config_params_default, - .dec_input_config_params_default_size = - ARRAY_SIZE(sm8550_vdec_input_config_params_default), - .dec_input_config_params_hevc = - sm8550_vdec_input_config_param_hevc, - .dec_input_config_params_hevc_size = - ARRAY_SIZE(sm8550_vdec_input_config_param_hevc), - .dec_input_config_params_vp9 = - sm8550_vdec_input_config_param_vp9, - .dec_input_config_params_vp9_size = - ARRAY_SIZE(sm8550_vdec_input_config_param_vp9), - .dec_input_config_params_av1 = - sm8550_vdec_input_config_param_av1, - .dec_input_config_params_av1_size = - ARRAY_SIZE(sm8550_vdec_input_config_param_av1), - .dec_output_config_params = - sm8550_vdec_output_config_params, - .dec_output_config_params_size = - ARRAY_SIZE(sm8550_vdec_output_config_params), - - .enc_input_config_params = - sm8550_venc_input_config_params, - .enc_input_config_params_size = - ARRAY_SIZE(sm8550_venc_input_config_params), - .enc_output_config_params = - sm8550_venc_output_config_params, - .enc_output_config_params_size = - ARRAY_SIZE(sm8550_venc_output_config_params), .dec_input_prop = sm8550_vdec_subscribe_input_properties, .dec_input_prop_size = ARRAY_SIZE(sm8550_vdec_subscribe_input_properties), @@ -1047,35 +953,6 @@ const struct iris_platform_data sm8650_data = { .max_session_count = 16, .max_core_mbpf = NUM_MBS_8K * 2, .max_core_mbps = ((7680 * 4320) / 256) * 60, - .dec_input_config_params_default = - sm8550_vdec_input_config_params_default, - .dec_input_config_params_default_size = - ARRAY_SIZE(sm8550_vdec_input_config_params_default), - .dec_input_config_params_hevc = - sm8550_vdec_input_config_param_hevc, - .dec_input_config_params_hevc_size = - ARRAY_SIZE(sm8550_vdec_input_config_param_hevc), - .dec_input_config_params_vp9 = - sm8550_vdec_input_config_param_vp9, - .dec_input_config_params_vp9_size = - ARRAY_SIZE(sm8550_vdec_input_config_param_vp9), - .dec_input_config_params_av1 = - sm8550_vdec_input_config_param_av1, - .dec_input_config_params_av1_size = - ARRAY_SIZE(sm8550_vdec_input_config_param_av1), - .dec_output_config_params = - sm8550_vdec_output_config_params, - .dec_output_config_params_size = - ARRAY_SIZE(sm8550_vdec_output_config_params), - - .enc_input_config_params = - sm8550_venc_input_config_params, - .enc_input_config_params_size = - ARRAY_SIZE(sm8550_venc_input_config_params), - .enc_output_config_params = - sm8550_venc_output_config_params, - .enc_output_config_params_size = - ARRAY_SIZE(sm8550_venc_output_config_params), .dec_input_prop = sm8550_vdec_subscribe_input_properties, .dec_input_prop_size = ARRAY_SIZE(sm8550_vdec_subscribe_input_properties), @@ -1141,35 +1018,6 @@ const struct iris_platform_data sm8750_data = { .max_session_count = 16, .max_core_mbpf = NUM_MBS_8K * 2, .max_core_mbps = ((7680 * 4320) / 256) * 60, - .dec_input_config_params_default = - sm8550_vdec_input_config_params_default, - .dec_input_config_params_default_size = - ARRAY_SIZE(sm8550_vdec_input_config_params_default), - .dec_input_config_params_hevc = - sm8550_vdec_input_config_param_hevc, - .dec_input_config_params_hevc_size = - ARRAY_SIZE(sm8550_vdec_input_config_param_hevc), - .dec_input_config_params_vp9 = - sm8550_vdec_input_config_param_vp9, - .dec_input_config_params_vp9_size = - ARRAY_SIZE(sm8550_vdec_input_config_param_vp9), - .dec_input_config_params_av1 = - sm8550_vdec_input_config_param_av1, - .dec_input_config_params_av1_size = - ARRAY_SIZE(sm8550_vdec_input_config_param_av1), - .dec_output_config_params = - sm8550_vdec_output_config_params, - .dec_output_config_params_size = - ARRAY_SIZE(sm8550_vdec_output_config_params), - - .enc_input_config_params = - sm8550_venc_input_config_params, - .enc_input_config_params_size = - ARRAY_SIZE(sm8550_venc_input_config_params), - .enc_output_config_params = - sm8550_venc_output_config_params, - .enc_output_config_params_size = - ARRAY_SIZE(sm8550_venc_output_config_params), .dec_input_prop = sm8550_vdec_subscribe_input_properties, .dec_input_prop_size = ARRAY_SIZE(sm8550_vdec_subscribe_input_properties), @@ -1239,35 +1087,6 @@ const struct iris_platform_data qcs8300_data = { .max_session_count = 16, .max_core_mbpf = ((4096 * 2176) / 256) * 4, .max_core_mbps = (((3840 * 2176) / 256) * 120), - .dec_input_config_params_default = - sm8550_vdec_input_config_params_default, - .dec_input_config_params_default_size = - ARRAY_SIZE(sm8550_vdec_input_config_params_default), - .dec_input_config_params_hevc = - sm8550_vdec_input_config_param_hevc, - .dec_input_config_params_hevc_size = - ARRAY_SIZE(sm8550_vdec_input_config_param_hevc), - .dec_input_config_params_vp9 = - sm8550_vdec_input_config_param_vp9, - .dec_input_config_params_vp9_size = - ARRAY_SIZE(sm8550_vdec_input_config_param_vp9), - .dec_input_config_params_av1 = - sm8550_vdec_input_config_param_av1, - .dec_input_config_params_av1_size = - ARRAY_SIZE(sm8550_vdec_input_config_param_av1), - .dec_output_config_params = - sm8550_vdec_output_config_params, - .dec_output_config_params_size = - ARRAY_SIZE(sm8550_vdec_output_config_params), - - .enc_input_config_params = - sm8550_venc_input_config_params, - .enc_input_config_params_size = - ARRAY_SIZE(sm8550_venc_input_config_params), - .enc_output_config_params = - sm8550_venc_output_config_params, - .enc_output_config_params_size = - ARRAY_SIZE(sm8550_venc_output_config_params), .dec_input_prop = sm8550_vdec_subscribe_input_properties, .dec_input_prop_size = ARRAY_SIZE(sm8550_vdec_subscribe_input_properties), -- 2.47.3