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 E4DD229ACD7 for ; Wed, 3 Jun 2026 14:20:19 +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=1780496421; cv=none; b=kO4djie4oC/jyElMMmszEN+8UByluJGm5S65/sT12as/FsSCG8ek9OjSEw08C+DtuHVQufPk5TKXJNZS5gCkWkNI78GLpXKamv1GNVBnj4OdQ7RP4MSxfk+V3t8yrFcudy+4goOG+H1zRbCfm0f5qWzoiafSQXKgz6FTJTS4ceE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780496421; c=relaxed/simple; bh=FDAzsmEE2zc+BuFG741ZVHzpSEdRCVr7ejgVW73hl4M=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=DgC/+nIFqgsrflqc3vxhDarava1opC1yZJZeFrLbb1qHlCvEvPBnRLapKAkL9EzStyMA4fREYt/ldTuV+pC5FIkxuTc8kjz4OZEF6TFf3nAbXTRMs9Ba5UEmZLWxd+ARy8k+p5+2+zZNT2SwiLjxkAXiI8hmgGAJaQG4elVW7I0= 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=ZixTz+tE; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bIjYQi5w; 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="ZixTz+tE"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bIjYQi5w" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 653CbWhb874192 for ; Wed, 3 Jun 2026 14:20:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=yP0SuaathGS8qLgUwv7Oko TxT2aPpWgP+sw3RTOZ69A=; b=ZixTz+tE1j9nNGj7iQGqt3VDsc7d3jV20AVm7M CkBEOmXdpJr+8O3qZT9paOlIpuYLDfPo6PczoTxwlZpb56xn5hEhY9dxc/wWmWw0 fVbAUV0T5iwj6wSRX+UcUoexx87dijXMynhWWn7gKAbeUb1PffBub0BMvLAS77Ad cc48+ypG4GkGgkkewy6MsVtpAE4wZJAYBrQP94rycMFw046mr6cQw9gvdR16Rp2Y 6FEKLvUS0M/S9Gs8/0911OAXrCMRoxZ3l8wLSsM6aliSigkQzUTaU3h2iho/zuhM oU5ZyTr/wQbiBN6sAu40zb579MCxD3z2XQVeYlR7wu3/zXGQ== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ej6a9kuvj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 03 Jun 2026 14:20:19 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2c0c32faa62so68532145ad.2 for ; Wed, 03 Jun 2026 07:20:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780496418; x=1781101218; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=yP0SuaathGS8qLgUwv7OkoTxT2aPpWgP+sw3RTOZ69A=; b=bIjYQi5wBRroPTYMoKyFaKoE3ZxSBZk/4/paXxIhg7dhv26rJFdD6kYrOCE7iNrjot lL5sUJH1ylP/3q3gNbjfLYDSlgwBqOLdYFT/cr0uqi2QNed03j/fk9Sabvf50TbpGRym enHos6YtmOEUofKeqxM5EmD88re5x+FdAaJtMJJpvXp1qfCVxs/0VKBHYoSfuw1OLqmT 4rC5nPAkm0vzfK/Vu/e1odWk0qv/O69kz9jlJcaP+4BPbsGb+9dPik2lVDoC++7QcWAa 0c19JewfMRj4I3JP5Cl5ruLMAaJQp8wwXtpqxfdfJXOxFWAnR7X3uDKOtRYvO8wSo/Bt zOyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780496418; x=1781101218; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=yP0SuaathGS8qLgUwv7OkoTxT2aPpWgP+sw3RTOZ69A=; b=O9jeAiMvxoyz+P/y02jm2padJMPdCNCiwXNEM73HKa9jVXcutsebBd2kpEGAvuQYCK 4+NEHzEzeORpSzOH8yPyGTHbGj7DuIMQUKrUi4+NJ8mpfPZuup2sQmDHjMtBYWeHH0aG rrneYP8h0wsqMUNtLheCpvo5zoBetFhBmGx8ZbjCddtbmXTtmHWJMA/1Ctiwp29DdkAB LDrzjIqIuaVwvkmVM0WCiZTwaMBSJ7nk8WMa1qFKaZJ++33Ckzeu/EHC2x9WmgswH3TK bGZGwz8au3LrJaj7lN6P4dz1Wm4xqCYOGx03wCRtY1OIe3v6enlE30f2AhvHMG/Pk0kq wG0A== X-Gm-Message-State: AOJu0YypplplP9v5VUkHP8FqdcHDKGEdSGuyEm0G531AnTjHV7owZPHF MGVkmD8Q65cBS+zHOvqSeLjuQJeloM7v2TSYTCZ+GQb4x4agjKeCc7VADGKSmbVIKOq300vmPnN X/XzLlLDqRrOub7q60lSsRiPv9a79fUEaDZYu6Cto74dRmkCydKhQAGRM2iG5m8Kgj4M= X-Gm-Gg: Acq92OGGc8hau9q+C8Nd7VMgWUyHdlvEm251qI7Q+fl7z3TEjtwJhd+YAfoRdPFitVt dGVhah6g3/twdeJ/nw/jmCZ/5Kzx4wYDquHI3ncFkz4P8I2VRYLfxT5KmQlbPMckEIy52p60LEc In+A5p77XSwrx3tHO3QHsSmhdsu/WbPmXzeo7yHK7fka0DcaapX7yVXY7l1uCKDg2hlp/Y98qjD 6RhvxNZM31hzCOHZebJjFwRWIfm8a7SgLQskKYxC3sxBvg+HtTPoiKIMQgPSUiJEpBfam2geOzl qN0WkElnddR9glj2yv4ga6uv8OojF3QZMsU2buAURrBZrrJR9e3JSZxZDeKa0sdKTa2A6zPvLl8 tMdJfkjw7dmr7WJrCME2x9+BZZ+n5YqodoBtckmImEpXEoTHw4MwPTXeur5Jm6DEHzw== X-Received: by 2002:a17:903:2bcb:b0:2c0:abd3:32fc with SMTP id d9443c01a7336-2c1644c9b31mr41439085ad.34.1780496417907; Wed, 03 Jun 2026 07:20:17 -0700 (PDT) X-Received: by 2002:a17:903:2bcb:b0:2c0:abd3:32fc with SMTP id d9443c01a7336-2c1644c9b31mr41438335ad.34.1780496417302; Wed, 03 Jun 2026 07:20:17 -0700 (PDT) Received: from hu-bvisredd-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c164f6d37esm41514955ad.9.2026.06.03.07.20.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2026 07:20:16 -0700 (PDT) From: Vishnu Reddy Subject: [PATCH v7 00/12] media: iris: Add support for glymur platform Date: Wed, 03 Jun 2026 19:48:38 +0530 Message-Id: <20260603-glymur-v7-0-afaa55d11fe0@oss.qualcomm.com> 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: 8bit X-B4-Tracking: v=1; b=H4sIAL83IGoC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyzHUUlJIzE vPSU3UzU4B8JSMDIzMDMwND3fScytzSIl2TtOQUkxQLY6PU5GQloOKCotS0zAqwQdGxtbUAYLJ 1flgAAAA= X-Change-ID: 20260601-glymur-4fcd4d832ecc To: Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab , "Joerg Roedel (AMD)" , Will Deacon , Robin Murphy , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stanimir Varbanov , Bjorn Andersson , Konrad Dybcio Cc: linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, iommu@lists.linux.dev, devicetree@vger.kernel.org, Vishnu Reddy , Dmitry Baryshkov , Krzysztof Kozlowski , Mukesh Ojha X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780496410; l=21269; i=busanna.reddy@oss.qualcomm.com; s=20260216; h=from:subject:message-id; bh=FDAzsmEE2zc+BuFG741ZVHzpSEdRCVr7ejgVW73hl4M=; b=ceYlg5YwfmNUAFu/nGWbJx41yfYI7LckQjOhFlZk+dPaV6qlJZNFWrgU+laM6SKsOHqGZWJmd EE2DMpeSrC3Ao/GeLP7bljfh4q9nppbquseSmYINIfy+U0g504a0GGZ X-Developer-Key: i=busanna.reddy@oss.qualcomm.com; a=ed25519; pk=9vmy9HahBKVAa+GBFj1yHVbz0ey/ucIs1hrlfx+qtok= X-Proofpoint-GUID: rFSxeRXDcnrb3navEYqgnkQj4LvUp6l4 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjAzMDEzNyBTYWx0ZWRfX6NiUtVzFJReM yVKO3Z/DcLcYIhEESdYn5Ty26id4dOw4OvTURWVNLYaKghOIx5G83BNZH38pcLw2JTYyMLCxMl7 tJehAus/kRRlMMkkqCbriAIuEVGXcVprmLwr8FG9E3/K40iECxvPsK78LPA48RLFa//DJd/BspZ p9M9QMolyGrWzIENTnHmsFighiZfu51ibuNnRLr/lVM6LfYOayEt3r++3i4nQNn7AuUyQRC+4hS 2voT4JQec/NcsZ+49swk1h9c7oVYHfRStTkW0L37kjTRnylc/p6rBk2bJ2NwFQVqzC/fjERZyS9 nfBYqMCn0mqi/nkfvAvDHTy7SuLmld0X+mlNB/XH2wXIvLzv3h91R51Xtft0/CsJHIlApiN0svE aVXsnC8nSKBgQOpdKtJ60FSR+/dWaKIWh88uNANDHjkzsP6B/OIPPXt1SNi7hzrVwfSneiPgjKj Jd4n3rl5xrVRPQb68sg== X-Authority-Analysis: v=2.4 cv=I/9Vgtgg c=1 sm=1 tr=0 ts=6a203823 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=VwQbUJbxAAAA:8 a=apL-334RAAAA:8 a=e5mUnYsNAAAA:8 a=EUspDBNiAAAA:8 a=vz760iHb5DeATwUEMbMA:9 a=xbSHLHFuQnTRpLWc:21 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 a=eWIHaOtA_ULHaMmHwLHW:22 a=Vxmtnl_E_bksehYqCbjh:22 X-Proofpoint-ORIG-GUID: rFSxeRXDcnrb3navEYqgnkQj4LvUp6l4 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-03_05,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 impostorscore=0 adultscore=0 suspectscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606030137 Glymur is a new generation video codec that supports dual hardware cores along with additional power domains and clocks. This series adds platform specific support in the iris driver to handle the extra cores, power domains, and clock requirements introduced by glymur. Add support for firmware loading through context bank firmware device. Dependencies and merge strategy: Patch[1-2]: IOMMU maintainer need to apply and provide an immutable tag which can merged into media tree. Patch[3-9]: Media maintainer can pick them independently. Patch[10]: Media maintainer can apply this once tag for patch[1-2] is available. Patch[11-12]: Glymur iris DT node, depends on patch[3]. v4l2-compliance report for decoder including streaming tests: v4l2-compliance 1.33.0-5441, 64 bits, 64-bit time_t v4l2-compliance SHA: 4310f15610f4 2026-01-18 22:09:17 Compliance test for iris_driver device /dev/video0: Driver Info: Driver name : iris_driver Card type : Iris Decoder Bus info : platform:aa00000.video-codec Driver version : 7.1.0 Capabilities : 0x84204000 Video Memory-to-Memory Multiplanar Streaming Extended Pix Format Device Capabilities Device Caps : 0x04204000 Video Memory-to-Memory Multiplanar Streaming Extended Pix Format Detected Stateful Decoder Required ioctls: test VIDIOC_QUERYCAP: OK test invalid ioctls: OK Allow for multiple opens: test second /dev/video0 open: OK test VIDIOC_QUERYCAP: OK test VIDIOC_G/S_PRIORITY: OK test for unlimited opens: OK Debug ioctls: test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported) test VIDIOC_LOG_STATUS: OK (Not Supported) Input ioctls: test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported) test VIDIOC_ENUMAUDIO: OK (Not Supported) test VIDIOC_G/S/ENUMINPUT: OK (Not Supported) test VIDIOC_G/S_AUDIO: OK (Not Supported) Inputs: 0 Audio Inputs: 0 Tuners: 0 Output ioctls: test VIDIOC_G/S_MODULATOR: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_ENUMAUDOUT: OK (Not Supported) test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported) test VIDIOC_G/S_AUDOUT: OK (Not Supported) Outputs: 0 Audio Outputs: 0 Modulators: 0 Input/Output configuration ioctls: test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported) test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported) test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported) test VIDIOC_G/S_EDID: OK (Not Supported) Control ioctls: test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK test VIDIOC_QUERYCTRL: OK test VIDIOC_G/S_CTRL: OK test VIDIOC_G/S/TRY_EXT_CTRLS: OK test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) Standard Controls: 12 Private Controls: 0 Format ioctls: test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK test VIDIOC_G/S_PARM: OK (Not Supported) test VIDIOC_G_FBUF: OK (Not Supported) test VIDIOC_G_FMT: OK test VIDIOC_TRY_FMT: OK test VIDIOC_S_FMT: OK test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) test Cropping: OK test Composing: OK test Scaling: OK (Not Supported) Codec ioctls: test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported) test VIDIOC_G_ENC_INDEX: OK (Not Supported) test VIDIOC_(TRY_)DECODER_CMD: OK Buffer ioctls: test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test CREATE_BUFS maximum buffers: OK test VIDIOC_REMOVE_BUFS: OK test VIDIOC_EXPBUF: OK test Requests: OK (Not Supported) test blocking wait: OK Test input 0: Streaming ioctls: test read/write: OK (Not Supported) the input file is smaller than 7077888 bytes Video Capture Multiplanar: Captured 465 buffers test MMAP (select, REQBUFS): OK the input file is smaller than 7077888 bytes Video Capture Multiplanar: Captured 465 buffers test MMAP (epoll, REQBUFS): OK the input file is smaller than 7077888 bytes Video Capture Multiplanar: Captured 465 buffers test MMAP (select, CREATE_BUFS): OK the input file is smaller than 7077888 bytes Video Capture Multiplanar: Captured 465 buffers test MMAP (epoll, CREATE_BUFS): OK test USERPTR (select): OK (Not Supported) test DMABUF: Cannot test, specify --expbuf-device Total for iris_driver device /dev/video0: 54, Succeeded: 54, Failed: 0, Warnings: 0 v4l2-compliance report for encoder including streaming tests: v4l2-compliance 1.33.0-5441, 64 bits, 64-bit time_t v4l2-compliance SHA: 4310f15610f4 2026-01-18 22:09:17 Compliance test for iris_driver device /dev/video1: Driver Info: Driver name : iris_driver Card type : Iris Encoder Bus info : platform:aa00000.video-codec Driver version : 7.1.0 Capabilities : 0x84204000 Video Memory-to-Memory Multiplanar Streaming Extended Pix Format Device Capabilities Device Caps : 0x04204000 Video Memory-to-Memory Multiplanar Streaming Extended Pix Format Detected Stateful Encoder Required ioctls: test VIDIOC_QUERYCAP: OK test invalid ioctls: OK Allow for multiple opens: test second /dev/video1 open: OK test VIDIOC_QUERYCAP: OK test VIDIOC_G/S_PRIORITY: OK test for unlimited opens: OK Debug ioctls: test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported) test VIDIOC_LOG_STATUS: OK (Not Supported) Input ioctls: test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported) test VIDIOC_ENUMAUDIO: OK (Not Supported) test VIDIOC_G/S/ENUMINPUT: OK (Not Supported) test VIDIOC_G/S_AUDIO: OK (Not Supported) Inputs: 0 Audio Inputs: 0 Tuners: 0 Output ioctls: test VIDIOC_G/S_MODULATOR: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_ENUMAUDOUT: OK (Not Supported) test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported) test VIDIOC_G/S_AUDOUT: OK (Not Supported) Outputs: 0 Audio Outputs: 0 Modulators: 0 Input/Output configuration ioctls: test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported) test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported) test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported) test VIDIOC_G/S_EDID: OK (Not Supported) Control ioctls: test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK test VIDIOC_QUERYCTRL: OK test VIDIOC_G/S_CTRL: OK test VIDIOC_G/S/TRY_EXT_CTRLS: OK test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) Standard Controls: 43 Private Controls: 0 Format ioctls: test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK test VIDIOC_G/S_PARM: OK test VIDIOC_G_FBUF: OK (Not Supported) test VIDIOC_G_FMT: OK test VIDIOC_TRY_FMT: OK test VIDIOC_S_FMT: OK test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) test Cropping: OK test Composing: OK (Not Supported) test Scaling: OK (Not Supported) Codec ioctls: test VIDIOC_(TRY_)ENCODER_CMD: OK test VIDIOC_G_ENC_INDEX: OK (Not Supported) test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported) Buffer ioctls: test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test CREATE_BUFS maximum buffers: OK test VIDIOC_REMOVE_BUFS: OK test VIDIOC_EXPBUF: OK test Requests: OK (Not Supported) test blocking wait: OK Test input 0: Streaming ioctls: test read/write: OK (Not Supported) Video Capture Multiplanar: Captured 61 buffers test MMAP (select, REQBUFS): OK Video Capture Multiplanar: Captured 61 buffers test MMAP (epoll, REQBUFS): OK Video Capture Multiplanar: Captured 61 buffers test MMAP (select, CREATE_BUFS): OK Video Capture Multiplanar: Captured 61 buffers test MMAP (epoll, CREATE_BUFS): OK test USERPTR (select): OK (Not Supported) test DMABUF: Cannot test, specify --expbuf-device Total for iris_driver device /dev/video1: 54, Succeeded: 54, Failed: 0, Warnings: 0 Fluster test report: 77/135 while testing JVT-AVC_V1 with GStreamer-H.264-V4L2-Gst1.0.JVT-AVC_V1 The failing tests are: - 52 test vectors failed due to interlaced clips: Interlaced decoding is not supported. - cabac_mot_fld0_full - cabac_mot_mbaff0_full - cabac_mot_picaff0_full - CABREF3_Sand_D - CAFI1_SVA_C - CAMA1_Sony_C - CAMA1_TOSHIBA_B - cama1_vtc_c - cama2_vtc_b - CAMA3_Sand_E - cama3_vtc_b - CAMACI3_Sony_C - CAMANL1_TOSHIBA_B - CAMANL2_TOSHIBA_B - CAMANL3_Sand_E - CAMASL3_Sony_B - CAMP_MOT_MBAFF_L30 - CAMP_MOT_MBAFF_L31 - CANLMA2_Sony_C - CANLMA3_Sony_C - CAPA1_TOSHIBA_B - CAPAMA3_Sand_F - cavlc_mot_fld0_full_B - cavlc_mot_mbaff0_full_B - cavlc_mot_picaff0_full_B - CVCANLMA2_Sony_C - CVFI1_Sony_D - CVFI1_SVA_C - CVFI2_Sony_H - CVFI2_SVA_C - CVMA1_Sony_D - CVMA1_TOSHIBA_B - CVMANL1_TOSHIBA_B - CVMANL2_TOSHIBA_B - CVMAPAQP3_Sony_E - CVMAQP2_Sony_G - CVMAQP3_Sony_D - CVMP_MOT_FLD_L30_B - CVNLFI1_Sony_C - CVNLFI2_Sony_H - CVPA1_TOSHIBA_B - FI1_Sony_E - MR6_BT_B - MR7_BT_B - MR8_BT_B - MR9_BT_B - Sharp_MP_Field_1_B - Sharp_MP_Field_2_B - Sharp_MP_Field_3_B - Sharp_MP_PAFF_1r2 - Sharp_MP_PAFF_2r - CVMP_MOT_FRM_L31_B 3 test case failed due to unsupported bitstream. num_slice_groups_minus1 greater than zero is not supported. - FM1_BT_B - FM1_FT_E - FM2_SVA_C 2 test case failed because SP_SLICE type is not supported. - SP1_BT_A - sp2_bt_b 1 test case failed due to unsupported profile. - BA3_SVA_C 131/147 testcases passed while testing JCT-VC-HEVC_V1 with GStreamer-H.265-V4L2-Gst1.0 10 testcases failed due to unsupported 10 bit format. - DBLK_A_MAIN10_VIXS_4 - INITQP_B_Main10_Sony_1 - TSUNEQBD_A_MAIN10_Technicolor_2 - WP_A_MAIN10_Toshiba_3 - WP_MAIN10_B_Toshiba_3 - WPP_A_ericsson_MAIN10_2 - WPP_B_ericsson_MAIN10_2 - WPP_C_ericsson_MAIN10_2 - WPP_E_ericsson_MAIN10_2 - WPP_F_ericsson_MAIN10_2 4 testcase failed due to unsupported resolution. - PICSIZE_A_Bossen_1 - PICSIZE_B_Bossen_1 - WPP_D_ericsson_MAIN10_2 - WPP_D_ericsson_MAIN_2 2 testcase failed due to CRC mismatch. - VPSSPSPPS_A_MainConcept_1 This fails with software decoder as well. Refer the below link for the discussion happened for earlier platform. https://lore.kernel.org/all/63ca375440c4ff2f55ea0aa4e19458f775552d88.camel@ndufresne.ca/ - RAP_A_docomo_6 This was discussed on bug report https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4392 Based on above discussion, the initial error frames need to be dropped in the firmware or driver. Discussion ongoing with video firmware team on a way to handle such case. This issue is not specific to this platform, and its there on other platforms also. 235/305 testcases passed while testing VP9-TEST-VECTORS with GStreamer-VP9-V4L2-Gst1.0 64 testcases failed due to unsupported resolution - vp90-2-02-size-08x08.webm - vp90-2-02-size-08x10.webm - vp90-2-02-size-08x16.webm - vp90-2-02-size-08x18.webm - vp90-2-02-size-08x32.webm - vp90-2-02-size-08x34.webm - vp90-2-02-size-08x64.webm - vp90-2-02-size-08x66.webm - vp90-2-02-size-10x08.webm - vp90-2-02-size-10x10.webm - vp90-2-02-size-10x16.webm - vp90-2-02-size-10x18.webm - vp90-2-02-size-10x32.webm - vp90-2-02-size-10x34.webm - vp90-2-02-size-10x64.webm - vp90-2-02-size-10x66.webm - vp90-2-02-size-16x08.webm - vp90-2-02-size-16x10.webm - vp90-2-02-size-16x16.webm - vp90-2-02-size-16x18.webm - vp90-2-02-size-16x32.webm - vp90-2-02-size-16x34.webm - vp90-2-02-size-16x64.webm - vp90-2-02-size-16x66.webm - vp90-2-02-size-18x08.webm - vp90-2-02-size-18x10.webm - vp90-2-02-size-18x16.webm - vp90-2-02-size-18x18.webm - vp90-2-02-size-18x32.webm - vp90-2-02-size-18x34.webm - vp90-2-02-size-18x64.webm - vp90-2-02-size-18x66.webm - vp90-2-02-size-32x08.webm - vp90-2-02-size-32x10.webm - vp90-2-02-size-32x16.webm - vp90-2-02-size-32x18.webm - vp90-2-02-size-32x32.webm - vp90-2-02-size-32x34.webm - vp90-2-02-size-32x64.webm - vp90-2-02-size-32x66.webm - vp90-2-02-size-34x08.webm - vp90-2-02-size-34x10.webm - vp90-2-02-size-34x16.webm - vp90-2-02-size-34x18.webm - vp90-2-02-size-34x32.webm - vp90-2-02-size-34x34.webm - vp90-2-02-size-34x64.webm - vp90-2-02-size-34x66.webm - vp90-2-02-size-64x08.webm - vp90-2-02-size-64x10.webm - vp90-2-02-size-64x16.webm - vp90-2-02-size-64x18.webm - vp90-2-02-size-64x32.webm - vp90-2-02-size-64x34.webm - vp90-2-02-size-64x64.webm - vp90-2-02-size-64x66.webm - vp90-2-02-size-66x08.webm - vp90-2-02-size-66x10.webm - vp90-2-02-size-66x16.webm - vp90-2-02-size-66x18.webm - vp90-2-02-size-66x32.webm - vp90-2-02-size-66x34.webm - vp90-2-02-size-66x64.webm - vp90-2-02-size-66x66.webm 2 testcases failed due to unsupported format. - vp91-2-04-yuv422.webm - vp91-2-04-yuv444.webm 2 testcase failed due to unsupported resolution after DRC. - vp90-2-21-resize_inter_320x180_5_1-2.webm - vp90-2-21-resize_inter_320x180_7_1-2.webm 1 testcase failed with CRC mismatch. - vp90-2-22-svc_1280x720_3.ivf This VP9 bitstream contains 20 superframes, and each superframe consists of three subframes in the following order: • 180p subframe • 360p subframe • 720p subframe Each superframe is submitted to the driver and firmware as a single input buffer, with one common timestamp attached to it. For every such input buffer, the hardware decoder produces three corresponding output buffers, one for each resolution (180p, 360p, and 720p), and all three output buffers carry the same timestamp. When these output buffers are returned to the client (GStreamer, in this case), the first buffer returned is displayed, while the remaining two buffers are dropped due to having identical timestamps. As a result, only one frame per superframe is rendered. Here the expectation of the test result is with 720p, last decoded frame in each super frame. Discussion ongoing with firmware team and gst maintainer on how to handle this case. This is not specific to glymur, and its there for the other platforms also. 1 testcase failed due to unsupported stream. - vp90-2-16-intra-only.webm Signed-off-by: Vishnu Reddy --- Changes in v7: - Replaced enum-indexed clock and power domain tables with per-block structures (Dmitry) - Combined venus common schema update patch and glymur video binding patch (Krzysztof) - Updated CPU_CS_SCIACMDARG3 write value as zero specific to glymur platform (Dmitry) - Updated the clock and reset names (Dmitry) - Link to v6: https://lore.kernel.org/r/20260515-glymur-v6-0-f6a99cb43a24@oss.qualcomm.com Changes in v6: - Rename function names in iris_vpu_bus (Dmitry) - Update the venus-common schema (Dmitry, Krzysztof) - Add dual core related functions into platform specific vpu ops (Dmitry) - Update power domain enum names (Vikash) - Remove unused macro - Link to v5: https://lore.kernel.org/r/20260509-glymur-v5-0-7fbb340c5dbd@oss.qualcomm.com/ Changes in v5: - Remove clocks, clock-names, power-domains from the required list in venus-common schema (Krzysztof) - Update core selection logic (Vikash) - Add macros for power status bits instead of magical values (Vikash) - Add new config for iris vpu bus instead of using the iris driver config. - Re-arrage the patches (Krzysztof) - Link to v4: https://lore.kernel.org/r/20260505-glymur-v4-0-17571dbd1caa@oss.qualcomm.com Changes in v4: - Update existing venus common binding. - Update glymur DT binding required properties. - Patches are rebased and resolved merge conflicts. - Link to v3: https://lore.kernel.org/r/20260428-glymur-v3-0-8f28930f47d3@oss.qualcomm.com Changes in v3: - Drop generic dma context bus and moved to iris vpu bus (Greg) - Update commit message for platform data patch (Dmitry) - Link to v2: https://lore.kernel.org/r/20260423-glymur-v2-0-0296bccb9f4e@oss.qualcomm.com Changes in v2: - Update the clock and reset names in DT binding (Krzysztof) - Update firmware device names (Mukesh, Konrad) - Update the selection of core for dual core platforms - Add new generic dma context bus instead of own iris vpu bus (Dmitry) - Add patch to get power domain type to look up pd_devs index - Update glymur platform data (Dmitry) - Link to v1: https://lore.kernel.org/r/20260414-glymur-v1-0-7d3d1cf57b16@oss.qualcomm.com --- Mukesh Ojha (1): media: iris: Enable Secure PAS support with IOMMU managed by Linux Vikash Garodia (2): media: iris: Add iris vpu bus support iommu: Add iris-vpu-bus to iommu_buses Vishnu Reddy (9): dt-bindings: media: qcom,glymur-iris: Add glymur video codec media: iris: Add context bank hooks for platform specific initialization media: iris: Replace enum-indexed clock and power domain tables with per-block structures media: iris: Add power sequence for glymur media: iris: Handle CPU_CS_SCIACMDARG3 register write via program bootup registers hook media: iris: Add support to select core for dual core platforms media: iris: Add platform data for glymur arm64: dts: qcom: glymur: Add iris video node arm64: dts: qcom: glymur-crd: Enable iris video codec node .../bindings/media/qcom,glymur-iris.yaml | 208 +++++++++++++++++++++ .../bindings/media/qcom,venus-common.yaml | 8 +- MAINTAINERS | 1 + arch/arm64/boot/dts/qcom/glymur-crd.dts | 6 + arch/arm64/boot/dts/qcom/glymur.dtsi | 118 ++++++++++++ drivers/iommu/iommu.c | 4 + drivers/media/platform/qcom/iris/Kconfig | 4 + drivers/media/platform/qcom/iris/Makefile | 2 + drivers/media/platform/qcom/iris/iris_common.c | 10 + drivers/media/platform/qcom/iris/iris_common.h | 1 + drivers/media/platform/qcom/iris/iris_core.c | 9 +- drivers/media/platform/qcom/iris/iris_core.h | 31 ++- drivers/media/platform/qcom/iris/iris_firmware.c | 73 +++++++- drivers/media/platform/qcom/iris/iris_hfi_common.h | 1 + .../platform/qcom/iris/iris_hfi_gen2_command.c | 19 ++ .../platform/qcom/iris/iris_hfi_gen2_defines.h | 1 + drivers/media/platform/qcom/iris/iris_instance.h | 2 + .../platform/qcom/iris/iris_platform_common.h | 46 ++--- .../platform/qcom/iris/iris_platform_glymur.c | 106 +++++++++++ .../platform/qcom/iris/iris_platform_glymur.h | 17 ++ .../platform/qcom/iris/iris_platform_sc7280.h | 28 ++- .../platform/qcom/iris/iris_platform_sm8250.h | 26 ++- .../platform/qcom/iris/iris_platform_sm8550.h | 26 ++- .../platform/qcom/iris/iris_platform_sm8750.h | 29 ++- .../media/platform/qcom/iris/iris_platform_vpu2.c | 14 +- .../media/platform/qcom/iris/iris_platform_vpu3x.c | 67 ++++--- .../platform/qcom/iris/iris_platform_x1p42100.h | 27 ++- drivers/media/platform/qcom/iris/iris_power.c | 20 +- drivers/media/platform/qcom/iris/iris_probe.c | 126 +++++++++++-- drivers/media/platform/qcom/iris/iris_resources.c | 65 +------ drivers/media/platform/qcom/iris/iris_resources.h | 7 +- drivers/media/platform/qcom/iris/iris_utils.c | 58 ++++-- drivers/media/platform/qcom/iris/iris_utils.h | 3 +- drivers/media/platform/qcom/iris/iris_vb2.c | 4 + drivers/media/platform/qcom/iris/iris_vidc.c | 6 +- drivers/media/platform/qcom/iris/iris_vpu3x.c | 200 +++++++++++++++++--- drivers/media/platform/qcom/iris/iris_vpu4x.c | 137 ++------------ drivers/media/platform/qcom/iris/iris_vpu_bus.c | 61 ++++++ drivers/media/platform/qcom/iris/iris_vpu_common.c | 116 +++--------- drivers/media/platform/qcom/iris/iris_vpu_common.h | 7 + .../platform/qcom/iris/iris_vpu_register_defines.h | 11 ++ include/dt-bindings/media/qcom,glymur-iris.h | 11 ++ include/linux/iris_vpu_bus.h | 25 +++ 43 files changed, 1297 insertions(+), 444 deletions(-) --- base-commit: b7bee4ca5688e30ca50fbc87b1b8f7eed7006c17 change-id: 20260601-glymur-4fcd4d832ecc Best regards, -- Vishnu Reddy