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 8C1792EEE66 for ; Wed, 24 Jun 2026 07:51:34 +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=1782287495; cv=none; b=s+LzHwOUoAvFxuhz45CXkVRwtCoMZA+dFg9mmavJz3hRrIoelHVkct/oALZphQu7IZTzMVxlWcksD9cYAVyG6KPoN81sLf9Ri94biLGWUOi587CmXz2w2es7N/bmoyigX904eL3fPr5SD36hUdUOSSnAmIeWkRIbAzyuu8L50iY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782287495; c=relaxed/simple; bh=2PY/fjJMsElkOcilf6A24gZwF5Tmn6HGgrHYpZ8QXJ4=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=fsnjYXNtXsm2pHyLdgKft1pHxMy75wv/y2oDHexDWAlR7SFh5Rgg67GjXTOxyES7pd59G+NzM79mtQ/8XEw9DyYR/X2XY1xEZHKzc+FY/OhGUXQLJH2M9BGWUh88cqGnAgbkjWclfbxNie2Fkhhuigu0lMokso8tRqi45hY/vUA= 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=UtAMG8LU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=NjrA6g+d; 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="UtAMG8LU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="NjrA6g+d" 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 65O5u5Ku534357 for ; Wed, 24 Jun 2026 07:51:34 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= 53Oq7ERiSBzuxDsqizgKHx7o8+yOZiEBcGpZU7cYEAQ=; b=UtAMG8LUPJOATG+g px2ZQoZPpGGMII+wMbZmUi9SLJOhGrm0al5KCao8rsqXyzY+G7uJJZCAcPiwrVlS tfVWAu1NghKXFWr9Js7diY2mCAccP05C/MpGh7ArFueokQX0CCtdwHygaCOLHNYB sxrqweI1qOD6jpRQG2XyVVUtfp6rPTYOh9XTF8GOGNw254xw+tF15p+4SeG4MJdB QMcCDQ3sX7fXca+fuNIVHm38N3s1FLDj28ywAXJibp+ab9DVkLmtow1r+5sWSti1 6HYRIPHLWKFTa9xr5xgQaHwUu7iQn5ZqoNTu2EikeAdlhSDHMUiP4j0dMKdAuq2d IT6yPA== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f06r30xv4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 24 Jun 2026 07:51:32 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-915d3261c5cso125156285a.3 for ; Wed, 24 Jun 2026 00:51:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782287492; x=1782892292; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=53Oq7ERiSBzuxDsqizgKHx7o8+yOZiEBcGpZU7cYEAQ=; b=NjrA6g+dIq0MU07Kpa0buZuR2X0V4KjRvR88SFKNhJoCXg2j/kdGoM932CW1O0qoPT Wuc6dFIRqvwvnq71pp3av0Rxoov87WKWYiw1janxZUagp2l0HzWuz4+Vzx5IHAAlI2au N/mgZ5DhIFfa6B2NxaGaDmkl8J+gEQbU0hPGMYbHDInjEgIheZqu+aDfp9NgARNw9zmc U/fMfUro9Mts1qGoa01HVUM9Zm89hbAHjP23cis653prh7EHDmIxhl1Inm+amjCcHmBX OFUKLdC9EGxVgqBAcJvoYkIPDTSNcE+j8toqdXsBgjUpN99ZR8qiJ9K7XkpyFw8AzYK6 p/4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782287492; x=1782892292; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=53Oq7ERiSBzuxDsqizgKHx7o8+yOZiEBcGpZU7cYEAQ=; b=oJjGwEUzTdEBGU3vSH/hHL5lVKrG/Wn8Hn/jd0HV3T3ExzmdPHP5lOd2emTU7/tSVW x1MC/j0kNbpxt32R5OpagjH8w7dG9/0U+m1jUuil+V2uQ+GROj1HwP+x8yQqWLXud0KT l1JRYZUFPTI6DdhAkgJPxjS6acTOxCcwsUkONl9bpUTRIL6nu6Secxry90NlvqnlouQw xdCweLoZ+DhTIJccVXm1TgZpplEpRNKSIltihUL/jGox/XK2YaCN2JK8PzJAJ5uw+VaR IoxWFk1nxBTWeW/+8SwZAi550D6unGFWhKgI0cKvSZ3ih/DdyAF2W/jEhZ2WF7czxl63 a4zA== X-Forwarded-Encrypted: i=1; AFNElJ/M7Ju0aO1KIfjfxGUy0DXipdbrpluJEI1g3eXGjCbFZCcpTHam2M7IKecwCsTUbc3k+ErcAL/ebZXDsGg=@vger.kernel.org X-Gm-Message-State: AOJu0YxnR9gVj/4GYjbIiKf91eHCXbw+gXIOn+v6WDYHQ55mB3/65Vcm VcCMFh65I7N2Ge4BmOgkNfOHPmTPmWOpeEBCBwSvNB6BFylNrvX8dO16cMPpQVUwpDiET2OJFwy RCG2B7pborEZV5uoyCnBEHh1V6BnCZcFcBjdPmV6fvdOYDQg8Uz4TuruFUUYWdLif8Jg= X-Gm-Gg: AfdE7ckYgekuzf0ojJkd6hY+enFGTH6ZV3XmSebEUpTkHsFhfJJa92rLWvBi7iDZj/8 D7c4nuRywGhaNq+xSAzwQsF27M8JvlA/q+SuPh/QvUN6XL/+UG3GNnDcA4kXkhjCxKhvGNgSehO vW3Jpn4+ZzXgf6oEB7qheL4/prT+OFSGxGzVyFR44nNUucXhx7oDJOREhC+/VFBelp/3q6eO9DE z7cYmbCUpeylESVFcd8x+DEs2bjhZaDt/CFRJ25NZhte4+4nF6vUJgXCRPZ4tc3dxYKd7+GeBKa juzAWOu44fmzuQIXEON/rPKrtF1H8BUnTargUI3LMFkU+KOYDqP19tsiqJumL6axgpVuLlz5xKe Qdy/iUYhyoNIdC77h3TCoiKxWGZiPFmdN/Bl1N+k0FxF1ew== X-Received: by 2002:a05:620a:8807:b0:91c:6dba:3d66 with SMTP id af79cd13be357-92781c063f9mr358923285a.16.1782287492067; Wed, 24 Jun 2026 00:51:32 -0700 (PDT) X-Received: by 2002:a05:620a:8807:b0:91c:6dba:3d66 with SMTP id af79cd13be357-92781c063f9mr358919485a.16.1782287491547; Wed, 24 Jun 2026 00:51:31 -0700 (PDT) Received: from [192.168.0.172] ([49.205.250.204]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c0c60aca46csm616235166b.36.2026.06.24.00.51.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 24 Jun 2026 00:51:29 -0700 (PDT) Message-ID: Date: Wed, 24 Jun 2026 13:21:20 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 10/16] media: iris: add minimal GET_PROPERTY implementation To: Dmitry Baryshkov , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab , Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vishnu Reddy Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Dikshita Agarwal References: <20260616-iris-ar50lt-v5-0-583b42770b6a@oss.qualcomm.com> <20260616-iris-ar50lt-v5-10-583b42770b6a@oss.qualcomm.com> Content-Language: en-US From: Vikash Garodia In-Reply-To: <20260616-iris-ar50lt-v5-10-583b42770b6a@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI0MDA2MyBTYWx0ZWRfX6IgSnNwJ18af InZPhZeFb8q/TQ3lOZ1Izccjy3lMKH9ZpVnPC137jag2VE1+YV+Po9Edox644JzI/vMnXkp4ws+ o7Cl/uy9muJ99mevnSSg7Vew4SzpmoQ7F1b+zfdht5Wxtraluwb7EVIdWm6ZFLsJGHpSYsOlZ43 gnIrrgG8h97/UbnuMy2b1mMgjVFfy93I/Aw/9AEEsF+avDacmpTRw6lZCbiu7Iv4W7Hkspa4hCT Rsts2CZ6l6FevQQwfJ/QSlSwjMWIFZW8wIkmQyRwysnXZAQrg6/KC6VdI6P45af8D/1surKjlkF RQEeDvObfz83NB0sLaOgTrUjRLq2ZZiZ5frJqdjVVF8Np45mU6bgJVzwOJNOwEdn0RugyuA7RFe nMhdjYyAFgx1+nb2TErmAg3Hehngyg== X-Proofpoint-ORIG-GUID: GdVj6ffG3yo7eOXbJadPut2ZfmsqNPgz X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI0MDA2MyBTYWx0ZWRfX+yPAWvO3wRZ/ vyaHjJBPVHuQyeJy0fVfM0llmMjEr3oZi8X3OFVVUC8NgR1caGOot5+kLNR5D0fjEYaWSkOm8SX Y92/W5HP7QDDloq3a8EdfuITmmRHw+M= X-Authority-Analysis: v=2.4 cv=ZM7nX37b c=1 sm=1 tr=0 ts=6a3b8c85 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=9U17wRWtyhLDe7ZN7ogbJw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=6_ngj5waxJiJTN2e3xMA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-GUID: GdVj6ffG3yo7eOXbJadPut2ZfmsqNPgz X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-24_02,2026-06-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 bulkscore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606240063 On 6/16/2026 5:34 AM, Dmitry Baryshkov wrote: > AR50Lt with the Gen1 firmware requires host to read > HFI_PROPERTY_CONFIG_BUFFER_REQUIREMENTS property, otherwise it doesn't > update internal data and fails the HFI_CMD_SESSION_LOAD_RESOURCES > command. Implement minimal support for querying the properties from the > firmware. > > Signed-off-by: Dmitry Baryshkov > --- > drivers/media/platform/qcom/iris/iris_hfi_common.h | 1 + > .../platform/qcom/iris/iris_hfi_gen1_command.c | 21 +++++++++++++++++++++ > .../platform/qcom/iris/iris_hfi_gen1_defines.h | 15 +++++++++++++++ > .../platform/qcom/iris/iris_hfi_gen1_response.c | 6 ++++++ > 4 files changed, 43 insertions(+) > > diff --git a/drivers/media/platform/qcom/iris/iris_hfi_common.h b/drivers/media/platform/qcom/iris/iris_hfi_common.h > index a27447eb2519..16099f9a25b6 100644 > --- a/drivers/media/platform/qcom/iris/iris_hfi_common.h > +++ b/drivers/media/platform/qcom/iris/iris_hfi_common.h > @@ -121,6 +121,7 @@ struct iris_hfi_session_ops { > int (*session_set_property)(struct iris_inst *inst, > u32 packet_type, u32 flag, u32 plane, u32 payload_type, > void *payload, u32 payload_size); > + int (*session_get_property)(struct iris_inst *inst, u32 packet_type); > int (*session_open)(struct iris_inst *inst); > int (*session_start)(struct iris_inst *inst, u32 plane); > int (*session_queue_buf)(struct iris_inst *inst, struct iris_buffer *buffer); > 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 7674b47ad6c4..99e82e5510ab 100644 > --- a/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c > +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c > @@ -1117,10 +1117,31 @@ static int iris_hfi_gen1_session_set_config_params(struct iris_inst *inst, u32 p > return 0; > } > > +static int iris_hfi_gen1_session_get_property(struct iris_inst *inst, u32 packet_type) > +{ > + struct hfi_session_get_property_pkt pkt; > + int ret; > + > + pkt.shdr.hdr.size = sizeof(pkt); > + pkt.shdr.hdr.pkt_type = HFI_CMD_SESSION_GET_PROPERTY; > + pkt.shdr.session_id = inst->session_id; > + pkt.num_properties = 1; > + pkt.data = packet_type; > + > + reinit_completion(&inst->completion); > + > + ret = iris_hfi_queue_cmd_write(inst->core, &pkt, pkt.shdr.hdr.size); > + if (ret) > + return ret; > + > + return iris_wait_for_session_response(inst, false); > +} > + > static const struct iris_hfi_session_ops iris_hfi_gen1_session_ops = { > .session_open = iris_hfi_gen1_session_open, > .session_set_config_params = iris_hfi_gen1_session_set_config_params, > .session_set_property = iris_hfi_gen1_session_set_property, > + .session_get_property = iris_hfi_gen1_session_get_property, was looking for caller for this property, saw that in patch#12 to update the size. Commit should have mentioned about it. > .session_start = iris_hfi_gen1_session_start, > .session_queue_buf = iris_hfi_gen1_session_queue_buffer, > .session_release_buf = iris_hfi_gen1_session_unset_buffers, > diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen1_defines.h b/drivers/media/platform/qcom/iris/iris_hfi_gen1_defines.h > index 0e4dee192384..bb495a1d2623 100644 > --- a/drivers/media/platform/qcom/iris/iris_hfi_gen1_defines.h > +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen1_defines.h > @@ -35,6 +35,7 @@ > #define HFI_CMD_SESSION_EMPTY_BUFFER 0x211004 > #define HFI_CMD_SESSION_FILL_BUFFER 0x211005 > #define HFI_CMD_SESSION_FLUSH 0x211008 > +#define HFI_CMD_SESSION_GET_PROPERTY 0x211009 > #define HFI_CMD_SESSION_RELEASE_BUFFERS 0x21100b > #define HFI_CMD_SESSION_RELEASE_RESOURCES 0x21100c > #define HFI_CMD_SESSION_CONTINUE 0x21100d > @@ -113,6 +114,7 @@ > #define HFI_MSG_SESSION_FLUSH 0x221006 > #define HFI_MSG_SESSION_EMPTY_BUFFER 0x221007 > #define HFI_MSG_SESSION_FILL_BUFFER 0x221008 > +#define HFI_MSG_SESSION_PROPERTY_INFO 0x221009 > #define HFI_MSG_SESSION_RELEASE_RESOURCES 0x22100a > #define HFI_MSG_SESSION_RELEASE_BUFFERS 0x22100c > > @@ -205,6 +207,12 @@ struct hfi_session_set_property_pkt { > u32 data[]; > }; > > +struct hfi_session_get_property_pkt { > + struct hfi_session_hdr_pkt shdr; > + u32 num_properties; > + u32 data; > +}; > + > struct hfi_sys_pc_prep_pkt { > struct hfi_pkt_hdr hdr; > }; > @@ -574,6 +582,13 @@ struct hfi_msg_session_fbd_uncompressed_plane0_pkt { > u32 data[]; > }; > > +struct hfi_msg_session_property_info_pkt { > + struct hfi_session_hdr_pkt shdr; > + u32 num_properties; > + u32 property; > + u8 data[]; > +}; > + > struct hfi_msg_session_release_buffers_done_pkt { > struct hfi_msg_session_hdr_pkt shdr; > u32 num_buffers; > diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen1_response.c b/drivers/media/platform/qcom/iris/iris_hfi_gen1_response.c > index bfd7495bf44f..23fc7194b1e3 100644 > --- a/drivers/media/platform/qcom/iris/iris_hfi_gen1_response.c > +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen1_response.c > @@ -591,6 +591,10 @@ static const struct iris_hfi_gen1_response_pkt_info pkt_infos[] = { > .pkt = HFI_MSG_SESSION_RELEASE_BUFFERS, > .pkt_sz = sizeof(struct hfi_msg_session_release_buffers_done_pkt), > }, > + { > + .pkt = HFI_MSG_SESSION_PROPERTY_INFO, > + .pkt_sz = sizeof(struct hfi_msg_session_property_info_pkt), > + }, > }; > > static void iris_hfi_gen1_handle_response(struct iris_core *core, void *response) > @@ -652,6 +656,8 @@ static void iris_hfi_gen1_handle_response(struct iris_core *core, void *response > iris_hfi_gen1_session_etb_done(inst, hdr); > } else if (hdr->pkt_type == HFI_MSG_SESSION_FILL_BUFFER) { > iris_hfi_gen1_session_ftb_done(inst, hdr); > + } else if (hdr->pkt_type == HFI_MSG_SESSION_PROPERTY_INFO) { > + complete(&inst->completion); > } else { > struct hfi_msg_session_hdr_pkt *shdr; > > Reviewed-by: Vikash Garodia