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 F3D0C2ED86F for ; Wed, 24 Dec 2025 06:28:08 +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=1766557690; cv=none; b=tpLJRpbwqOXNeuZ+Kihkf+3xonTlFTqhHMHZJ+XaoFhKKYkntN/3iRrF+tDxfxbyl/gRNTZOFzfMuIdaTJEjR7TgVd26zlFrNRQY5FNyPWh5gKtwXr8eJbl4ZUF9KlNCQepv3kL8UtZJZwHfRBBqQnXSA3xK7E1QxXzddjzJGj4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766557690; c=relaxed/simple; bh=xtcCRp++LaWYqpdmb2jGTHOJ0mXUq+jjwQQKy3bKQ+Q=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hdNxGDGraSIcXExo/+iWMqvn3Dejk6aRxVjsECxsV+vRBEMurXW7iMRRpAxHT6WY1wUly2i3DS2rNVTvULNinNaNxUnjHAENh9KAepHg4uux3muEnvxb4BsRu6sEe/f7Q7LbHPg3RQ3ki8ZvEx7k0toj4NILGycBFUsmGYe82bA= 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=lvJMdQTd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bwereyeO; 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="lvJMdQTd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bwereyeO" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BO6PN91678225 for ; Wed, 24 Dec 2025 06:28:08 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= iOdzmcIwX9TAQP5ZayadVCjvndDWClqgACwOqjT6E+I=; b=lvJMdQTdFbK7jmUM oieJFKC39OarlvkcxMVITu1cRWQJzJmUTAtHInbsKm+ie9ctn2bEiLkQr8MoZLll lIuYgneABA6GsZqznkcCJmF6pA53FTmZeSjo7cnlJmB6WrPcEF7An7Y4j4gYZX/T e7XblsWKcNcz9AWNX8420eCysVSvqsetz1iKu1NZGRO0NzCoBRD7Kzamw/fU4v9y UpY7mWvKQElkJtcP+M0Efg8Ab9Iy7FH0V2sE8Nh0avs93sJurdQF6NIQyQuHuDxR rEkCGFxcsEZ4k2vIpPdcNI4Px4FMisLpEkBXkn/E9Cc7+ikdxWsvraAUyx7Mo2jM wiIlqw== Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b7yvq1rpm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 24 Dec 2025 06:28:08 +0000 (GMT) Received: by mail-pf1-f198.google.com with SMTP id d2e1a72fcca58-7d481452732so11066031b3a.1 for ; Tue, 23 Dec 2025 22:28:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766557688; x=1767162488; 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=iOdzmcIwX9TAQP5ZayadVCjvndDWClqgACwOqjT6E+I=; b=bwereyeOFEZ/iaXumHAwNz4t/z+I1KbjjUQjgTxXCoPdyxG0R0Or6WK57q2dIKxRTK /JhXQU+MS5R/We8va5GIQ+fcwZ/koEWujII9nYAfL0jUaREPcCY/angfOWZHwnks6nQj mHb83dC0KI3NYJlLlzo1ipMepmJynrKPFZdq1ZDHkbJITPCq6o8j0U+wp+3chxKprPwY vq0HPU8rweTv1MLGbklqDGGUXNhlthKQ/YSPnCrTMXGYKXJniu9v1Jd5zIc0KWF7W8uZ j+JnggjcjOi+7ThBezRJFtLBUBxrKS2+rEj8jTtCYSSMGrRfSg3G1Y89SBjskSNPjVUl OBcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766557688; x=1767162488; 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=iOdzmcIwX9TAQP5ZayadVCjvndDWClqgACwOqjT6E+I=; b=NPUfjHYH0Wum4GP9JXPVDr4h0mXAT6E+UMh4WNDDOL9JXzh3/7JAl4o4GGSQgvqodO KUDuZtTLtY5kiCbV1T211zAE5hmR30AEtlDAPpi9Y1lgb8XZ0OKdTmrr+3jZUEwVWGFi jUSHZcLkSMJaR2unRoJ6rHeag3lAsNK6/L8hsPK7iPz5ZJs1+1lyvIf4pAYQc6nBVv7/ HmmYXoqsmDbBDvb8T6NpO3/uZ8wKKD3y8jV7jPclZnD18EizWrBdVMBKTH2PDC3R397R TeOOyGWAmT12kbNfmjm+cGUQ5QSJT+d2VVaKpHWX8+IXIWiEx+REwa/6WeavAsp2F4P3 096w== X-Forwarded-Encrypted: i=1; AJvYcCVYPsZsmE9qRrQekT0QoQouMNg/NnYf6O8lk6rYdDwiUWFSq9tDzcdG5DD9nHqiGjp/2agujmN3z5WXpa0=@vger.kernel.org X-Gm-Message-State: AOJu0Yy2NAwNdoRnrq27Fv2/qoBS8Sol2lyAiYu4YATpv1zk/kPusKvB KsycGnvi9yY/11D5LewZVaI95QBoVwulgdGguEDQK9hijd+eleIKgjfb+/s0EfhQajCjCxKahwK CnJ9YvfETf3Lk53pSGby8FLVD1kPj14u/EaMYT9dTSYBtAdimRKvgoZ9POOdU0ar5wo0= X-Gm-Gg: AY/fxX5GHWou4H6sefOvXycpwebYCVhs7Yie5JOdEUXdxfCZFBINVvAp+B3zOeDervA 5MrGiNJeJgRAFL4uzG8maCXUy7KceHM2HrRbdADY2BV2K/MOL+SAuPnhZDKW/Zurr056dpdegDE /ilEsZBLXd+mkqabvlmUxknHKtAW8O+U/d7ThUO+z8Jc06y3X7FYZfVSaXO3n04QoYy6m0BQddD SaSJXUsH81OFrfRSZEV34ao47n83qHqjxHSjI5vf4iEaEDeTNp7RYe1dgjacejdgdjeDeTdHBcm EuUitmojMl4ZvrfV1dBU9LSb1stiGUSB2+suTDH0jAIg34f1aamjeE36/sZg43y7e3AYS0QrRlO fgUujdM+OsOk42MMUoWBBsiqj65I+TkbgJrV5I40eawy8jjg= X-Received: by 2002:a05:6a00:1d08:b0:7e8:450c:61c6 with SMTP id d2e1a72fcca58-7ff6667b6bemr13836242b3a.54.1766557687754; Tue, 23 Dec 2025 22:28:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IG6/VVdv5LYR0NlRCzKDcgcQQZY58Z9RxGAUWMdermZHeHEAtShlzmWAMeTdGav8ECyJNAdsw== X-Received: by 2002:a05:6a00:1d08:b0:7e8:450c:61c6 with SMTP id d2e1a72fcca58-7ff6667b6bemr13836210b3a.54.1766557687300; Tue, 23 Dec 2025 22:28:07 -0800 (PST) Received: from hu-dikshita-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7ff7eb85f15sm15618908b3a.68.2025.12.23.22.28.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Dec 2025 22:28:06 -0800 (PST) From: Dikshita Agarwal Date: Wed, 24 Dec 2025 11:57:15 +0530 Subject: [PATCH 6/6] media: iris: Prevent output buffer queuing before stream-on completes 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: <20251224-iris-fixes-v1-6-5f79861700ec@oss.qualcomm.com> References: <20251224-iris-fixes-v1-0-5f79861700ec@oss.qualcomm.com> In-Reply-To: <20251224-iris-fixes-v1-0-5f79861700ec@oss.qualcomm.com> To: Vikash Garodia , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab , Hans Verkuil , Stefan Schmidt Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Bryan O'Donoghue , Dikshita Agarwal , Vishnu Reddy X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766557663; l=1980; i=dikshita.agarwal@oss.qualcomm.com; s=20240917; h=from:subject:message-id; bh=9cv66z5/Jx2IEk3a10U2yz6GWrmYnmCrelbm3ThLw6M=; b=8RqraBMlk1Pmn+B8DOYKVlIAApcZqiNp6DcP3/Y21GGjMxtB7/a8ZQ/cQgouv1JfWrfqQwPHW pTpzt88mns6A8NIMDMn+VerisdGMeoJwJiQi7bZqSdqQ3GeVGd5UWYE X-Developer-Key: i=dikshita.agarwal@oss.qualcomm.com; a=ed25519; pk=EEvKY6Ar1OI5SWf44FJ1Ebo1KuQEVbbf5UNPO+UHVhM= X-Proofpoint-ORIG-GUID: lF7VV5jhWAAadXnrjMeIzzSCNMt-Qzyg X-Authority-Analysis: v=2.4 cv=abZsXBot c=1 sm=1 tr=0 ts=694b87f8 cx=c_pps a=m5Vt/hrsBiPMCU0y4gIsQw==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=XLzqMKnRyDA5696EbmIA:9 a=QEXdDO2ut3YA:10 a=IoOABgeZipijB_acs4fv:22 X-Proofpoint-GUID: lF7VV5jhWAAadXnrjMeIzzSCNMt-Qzyg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjI0MDA1MyBTYWx0ZWRfX4AE70zxBwk1v 5eDqtGy/Ehk4nsp/fFyvZoATlI5hcB69FdyZPanAd/tnG/7vkiNcfMkMYPeALQKG6056pSNK9j7 n67Setm0YAEhMDayuEWgwsSTHZqDVheXBtgk1TkqpbWmlaJY5Bo9ELBrwXcILx0DbYHqV7u2v8k uniKXmJcOJYtE3gkWtg1B/l1ZXjgVkMazagobxIJorj5Q/Ix4NEgp0r11aQJcuGFo2tWvgPK2vE 7udI33TKo8c5XjRdLBjS7qFSL/DzHB+pXyctkDVKs/sWY96diNxm2k5Rr5w3c1gF4DGapttZteA f6UQLxLEy5AAItRGlPSvyYFYWPkeuEV30rkTr0TWJ0s7bh0lERJ0m4JNGSbRFRd1jlBqCq7JcVQ ggA77z6FWWL/HYcIIfmjVlbSghpMB6e0FbukCw/0ev+JdWqF/JGVKpDPrABB3NlCCXseeagklMt KFj9EWBt6bUafrGwabA== 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-24_02,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0 spamscore=0 clxscore=1015 malwarescore=0 phishscore=0 suspectscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512240053 From: Vishnu Reddy During normal playback, stream-on for input is followed by output, and only after input stream-on does actual streaming begin. However, when gst-play performs a seek, both input and output streams are stopped, and on restart, output stream-on occurs first. At this point, firmware has not yet started streaming. Queuing output buffers before the firmware begins streaming causes it to process buffers in an invalid state, leading to an error response. These buffers are returned to the driver as errors, forcing the driver into an error state and stopping playback. Fix this by deferring output buffer queuing until stream-on completes. Input buffers can still be queued before stream-on as required. Signed-off-by: Vishnu Reddy Signed-off-by: Dikshita Agarwal --- drivers/media/platform/qcom/iris/iris_vb2.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/media/platform/qcom/iris/iris_vb2.c b/drivers/media/platform/qcom/iris/iris_vb2.c index 139b821f7952feb33b21a7045aef9e8a4782aa3c..bf0b8400996ece5c9d449b99609a302da726bf9a 100644 --- a/drivers/media/platform/qcom/iris/iris_vb2.c +++ b/drivers/media/platform/qcom/iris/iris_vb2.c @@ -193,10 +193,14 @@ int iris_vb2_start_streaming(struct vb2_queue *q, unsigned int count) buf_type = iris_v4l2_type_to_driver(q->type); if (inst->domain == DECODER) { - if (inst->state == IRIS_INST_STREAMING) + if (buf_type == BUF_INPUT) + ret = iris_queue_deferred_buffers(inst, BUF_INPUT); + + if (!ret && inst->state == IRIS_INST_STREAMING) { ret = iris_queue_internal_deferred_buffers(inst, BUF_DPB); - if (!ret) - ret = iris_queue_deferred_buffers(inst, buf_type); + if (!ret) + ret = iris_queue_deferred_buffers(inst, BUF_OUTPUT); + } } else { if (inst->state == IRIS_INST_STREAMING) { ret = iris_queue_deferred_buffers(inst, BUF_INPUT); -- 2.34.1