public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Steev Klimaszewski <threeway@gmail.com>
To: dmitry.baryshkov@oss.qualcomm.com
Cc: abhinav.kumar@linux.dev, andersson@kernel.org, bod@kernel.org,
	bryan.odonoghue@linaro.org, conor+dt@kernel.org, david@ixit.cz,
	devicetree@vger.kernel.org, dikshita.agarwal@oss.qualcomm.com,
	johan+linaro@kernel.org, konrad.dybcio@oss.qualcomm.com,
	konradybcio@kernel.org, krzk+dt@kernel.org,
	linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-media@vger.kernel.org, mchehab@kernel.org, robh@kernel.org,
	stanimir.varbanov@linaro.org, vikash.garodia@oss.qualcomm.com
Subject: Re: [PATCH v4 0/6] media: iris: enable SM8350 and SC8280XP support
Date: Fri, 27 Mar 2026 11:46:51 -0500	[thread overview]
Message-ID: <20260327164651.45628-1-threeway@gmail.com> (raw)
In-Reply-To: <20260312-iris-sc8280xp-v4-0-a047ef1e3c7d@oss.qualcomm.com>

Hi Dmitry, all,

I've tested this on my Thinkpad X13s, after disabling venus module otherwise it
loads venus not iris.

In el2, the device seems to be /dev/video33

steev@finn:~$ v4l2-compliance -d 33
v4l2-compliance 1.32.0, 64 bits, 64-bit time_t

Compliance test for iris_driver device /dev/video33:

Driver Info:
	Driver name      : iris_driver
	Card type        : Iris Encoder
	Bus info         : platform:aa00000.video-codec
	Driver version   : 6.19.10
	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/video33 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: 33 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

Total for iris_driver device /dev/video33: 48, Succeeded: 48, Failed: 0, Warnings: 0



In el1, the device becomes /dev/video0

steev@finn:~$ v4l2-compliance
v4l2-compliance 1.32.0, 64 bits, 64-bit time_t

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   : 6.19.10
	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: 2 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

Total for iris_driver device /dev/video0: 48, Succeeded: 48, Failed: 0, Warnings: 0


So the compliance tests pass in both el1 and el2, however, if I attempt to play
a video in totem, and then skip forward in it some random amount of time, totem
freezes and I get the following splat:

[  143.388380] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0xd516d400, fsynr=0x600002, cbfrsynra=0x2a00, cb=6
[  143.388390] arm-smmu 15000000.iommu: FSR    = 00000402 [Format=2 TF], SID=0x2a00
[  143.388392] arm-smmu 15000000.iommu: FSYNR0 = 00600002 [S1CBNDX=96 PLVL=2]
[  143.388423] qcom-iris aa00000.video-codec: sys error (type: 1, session id:ff, data1:1, data2:deadbead)
[  145.913827] qcom-iris aa00000.video-codec: session error for command: 0, event id:1004, session id:e39bc002
[  146.945692] qcom-iris aa00000.video-codec: session error for command: 0, event id:1004, session id:e39bc002
[  147.969651] qcom-iris aa00000.video-codec: session error for command: 0, event id:1004, session id:e39bc002
[  147.969693] qcom-iris aa00000.video-codec: session error for command: 0, event id:1004, session id:e39bc002
[  147.970493] qcom-iris aa00000.video-codec: session error for command: 0, event id:1004, session id:e39bc002
[  148.993683] ------------[ cut here ]------------
[  148.993695] WARNING: drivers/media/common/videobuf2/videobuf2-core.c:1827 at vb2_start_streaming+0xe0/0x17c [videobuf2_common], CPU#3: totem/7330
[  148.993727] Modules linked in: michael_mic uhid
[  148.993732] qcom-iris aa00000.video-codec: session error for command: 0, event id:1004, session id:e39bc002
[  148.993736]  algif_hash
[  148.993739]  algif_skcipher af_alg snd_soc_wsa883x q6prm_clocks q6apm_lpass_dais q6apm_dai snd_q6dsp_common q6prm overlay zram lz4hc_compress zsmalloc lz4_compress binfmt_misc qrtr_mhi ath11k_pci ath11k mac80211 libarc4 sha256 cfg80211 mhi hci_uart btqca btbcm bluetooth ecdh_generic ecc rfkill qcom_spmi_temp_alarm snd_soc_sc8280xp lenovo_thinkpad_t14s snd_soc_qcom_sdw snd_soc_qcom_common sparse_keymap qcom_spmi_adc_tm5 qcom_spmi_adc5 qcom_vadc_common ov5675 snd_soc_hdmi_codec qcom_camss qcom_iris videobuf2_dma_contig videobuf2_dma_sg v4l2_mem2mem snd_soc_wcd938x videobuf2_memops videobuf2_v4l2 v4l2_fwnode videobuf2_common v4l2_async snd_soc_lpass_rx_macro snd_soc_lpass_tx_macro snd_soc_lpass_wsa_macro snd_soc_lpass_va_macro snd_soc_wcd938x_sdw regmap_sdw snd_soc_wcd_mbhc videodev snd_soc_wcd_common soundwire_qcom snd_q6apm snd_soc_wcd_classh snd_soc_lpass_macro_common mc snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm fastrpc slimbus pci_pwrctrl_pwrseq snd_timer qcom_rng snd soundcore soundwire_bus fuse nfnetlink
[  148.993936]  ipv6 btrfs xor xor_neon raid6_pq zstd_compress panel_edp hid_multitouch qcom_pm8008_regulator nvme ucsi_glink pmic_glink_altmode qcom_battmgr aux_hpd_bridge typec_ucsi nvme_core qcom_pm8008 i2c_hid_of_elan i2c_hid_of rpmsg_ctrl apr i2c_hid rpmsg_char qrtr_smd qcom_pd_mapper msm ubwc_config ocmem drm_gpuvm drm_exec gpu_sched drm_display_helper phy_qcom_qmp_combo cec leds_qcom_lpg aux_bridge drm_dp_aux_bus led_class_multicolor qcom_pbs rtc_pm8xxx qcom_pon qcom_stats dispcc_sc8280xp drm_client_lib phy_qcom_edp camcc_sc8280xp i2c_qcom_cci i2c_qcom_geni drm_kms_helper phy_qcom_qmp_usb qcom_refgen_regulator videocc_sm8350 llcc_qcom drm icc_bwmon phy_qcom_snps_femto_v2 gpi gpucc_sc8280xp qrtr qcom_q6v5_pas qcom_pil_info qcom_common qcom_glink_smem lpasscc_sc8280xp pinctrl_sc8280xp_lpass_lpi pinctrl_lpass_lpi qcom_q6v5 pmic_glink qcom_sysmon gpio_sbu_mux phy_qcom_qmp_pcie mdt_loader pdr_interface qcom_wdt icc_osm_l3 qcom_pdr_msg pwrseq_qcom_wcn typec qmi_helpers pwrseq_core socinfo pwm_bl backlight
[  148.994147] CPU: 3 UID: 1000 PID: 7330 Comm: totem Not tainted 6.19.10 #2 PREEMPT
[  148.994155] Hardware name: LENOVO 21BX0015US/21BX0015US, BIOS N3HET94W (1.66 ) 09/15/2025
[  148.994160] pstate: 80401005 (Nzcv daif +PAN -UAO -TCO -DIT +SSBS BTYPE=--)
[  148.994166] pc : vb2_start_streaming+0xe0/0x17c [videobuf2_common]
[  148.994178] lr : vb2_start_streaming+0x70/0x17c [videobuf2_common]
[  148.994187] sp : ffff80009b95bb70
[  148.994191] x29: ffff80009b95bb70 x28: 0000000000000001 x27: ffff80009b95bce8
[  148.994201] x26: 0000000000000000 x25: 0000000000000000 x24: ffffd3da9782e138
[  148.994211] x23: ffff0000902f5cc0 x22: 0000000040045612 x21: ffff0000f7ada910
[  148.994219] x20: ffff0000f7ada928 x19: 00000000fffffff0 x18: 0000000000000000
[  148.994228] x17: 0000000000000000 x16: ffffd3daf7056f00 x15: 0000ffff1802f330
[  148.994237] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
[  148.994246] x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000035
[  148.994255] x8 : ffff80009b95bd68 x7 : ffffd3da976bafc0 x6 : 0000000000000012
[  148.994263] x5 : ffff0000f7ada948 x4 : 0000000000000000 x3 : 0000000000000005
[  148.994272] x2 : ffff0000c1b82080 x1 : ffff0000c1b82080 x0 : ffff000084517a30
[  148.994282] Call trace:
[  148.994285]  vb2_start_streaming+0xe0/0x17c [videobuf2_common] (P)
[  148.994298]  vb2_core_streamon+0xd8/0x1bc [videobuf2_common]
[  148.994308]  vb2_streamon+0x18/0x60 [videobuf2_v4l2]
[  148.994318]  v4l2_m2m_ioctl_streamon+0x5c/0xa0 [v4l2_mem2mem]
[  148.994330]  v4l_streamon+0x24/0x30 [videodev]
[  148.994362]  __video_do_ioctl+0x340/0x3ec [videodev]
[  148.994389]  video_usercopy+0x2b0/0x74c [videodev]
[  148.994415]  video_ioctl2+0x18/0x34 [videodev]
[  148.994441]  v4l2_ioctl+0x40/0x60 [videodev]
[  148.994467]  __arm64_sys_ioctl+0xa4/0xf4
[  148.994480]  invoke_syscall.constprop.0+0x40/0xf0
[  148.994495]  el0_svc_common.constprop.0+0x38/0xd8
[  148.994504]  do_el0_svc+0x1c/0x28
[  148.994513]  el0_svc+0x34/0x104
[  148.994525]  el0t_64_sync_handler+0xa0/0xe4
[  148.994534]  el0t_64_sync+0x198/0x19c
[  148.994543] ---[ end trace 0000000000000000 ]---


This is much better than the previous venus patchset where accessing the
hardware decoding would cause the machine to hard reset at least!


-- steev

  parent reply	other threads:[~2026-03-27 16:46 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-12 15:14 [PATCH v4 0/6] media: iris: enable SM8350 and SC8280XP support Dmitry Baryshkov
2026-03-12 15:14 ` [PATCH v4 1/6] media: dt-bindings: Document SC8280XP/SM8350 Iris Dmitry Baryshkov
2026-03-13  7:55   ` Krzysztof Kozlowski
2026-03-13  8:14     ` Dmitry Baryshkov
2026-03-13  8:25       ` Krzysztof Kozlowski
2026-03-13 16:04         ` Dmitry Baryshkov
2026-03-12 15:14 ` [PATCH v4 2/6] arm64: dts: qcom: sc8280xp: sort reserved memory regions Dmitry Baryshkov
2026-03-12 15:14 ` [PATCH v4 3/6] arm64: dts: qcom: sc8280xp: Add Iris core Dmitry Baryshkov
2026-03-13 12:31   ` Konrad Dybcio
2026-03-12 15:14 ` [PATCH v4 4/6] arm64: dts: qcom: sc8280xp-x13s: Enable Iris Dmitry Baryshkov
2026-03-12 15:14 ` [PATCH v4 5/6] arm64: dts: qcom: sm8350: add Iris device Dmitry Baryshkov
2026-03-13 12:32   ` Konrad Dybcio
2026-03-12 15:14 ` [PATCH v4 6/6] arm64: dts: qcom: sm8350-hdk: enable Iris core Dmitry Baryshkov
2026-03-13 12:30   ` Konrad Dybcio
2026-03-27 16:46 ` Steev Klimaszewski [this message]
2026-03-27 21:09   ` [PATCH v4 0/6] media: iris: enable SM8350 and SC8280XP support Dmitry Baryshkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260327164651.45628-1-threeway@gmail.com \
    --to=threeway@gmail.com \
    --cc=abhinav.kumar@linux.dev \
    --cc=andersson@kernel.org \
    --cc=bod@kernel.org \
    --cc=bryan.odonoghue@linaro.org \
    --cc=conor+dt@kernel.org \
    --cc=david@ixit.cz \
    --cc=devicetree@vger.kernel.org \
    --cc=dikshita.agarwal@oss.qualcomm.com \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=johan+linaro@kernel.org \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=robh@kernel.org \
    --cc=stanimir.varbanov@linaro.org \
    --cc=vikash.garodia@oss.qualcomm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox