From: Marek Szyprowski <m.szyprowski@samsung.com>
To: "Dmitry Baryshkov" <dmitry.baryshkov@oss.qualcomm.com>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Dave Stevenson" <dave.stevenson@raspberrypi.com>,
"Maíra Canal" <mcanal@igalia.com>,
"Raspberry Pi Kernel Maintenance" <kernel-list@raspberrypi.com>,
"Chen-Yu Tsai" <wens@kernel.org>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Samuel Holland" <samuel@sholland.org>,
"Andrzej Hajda" <andrzej.hajda@intel.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Robert Foss" <rfoss@kernel.org>,
"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
"Jonas Karlman" <jonas@kwiboo.se>,
"Liu Ying" <victor.liu@nxp.com>,
"Chun-Kuang Hu" <chunkuang.hu@kernel.org>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Rob Clark" <robin.clark@oss.qualcomm.com>,
"Dmitry Baryshkov" <lumag@kernel.org>,
"Abhinav Kumar" <abhinav.kumar@linux.dev>,
"Jessica Zhang" <jesszhan0024@gmail.com>,
"Sean Paul" <sean@poorly.run>,
"Marijn Suijten" <marijn.suijten@somainline.org>,
"Sandy Huang" <hjc@rock-chips.com>,
"Heiko Stübner" <heiko@sntech.de>,
"Andy Yan" <andy.yan@rock-chips.com>
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-sunxi@lists.linux.dev, linux-mediatek@lists.infradead.org,
linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org,
linux-rockchip@lists.infradead.org
Subject: Re: [PATCH v4 02/10] drm/vc4: hdmi: implement clear_infoframe
Date: Mon, 26 Jan 2026 18:42:06 +0100 [thread overview]
Message-ID: <5c247393-b096-43ea-9ff4-9dd5fcdeec73@samsung.com> (raw)
In-Reply-To: <20260107-limit-infoframes-2-v4-2-213d0d3bd490@oss.qualcomm.com>
On 07.01.2026 19:14, Dmitry Baryshkov wrote:
> Implement the clear_infoframe callback, disabling corresponding
> InfoFrame type.
>
> Acked-by: Maxime Ripard <mripard@kernel.org>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
This patch landed recently in linux-next as commit 3a4ceb89a972
("drm/vc4: hdmi: implement clear_infoframe"). In my tests I found that
it causes the following regression on Qualcomm RB5 board:
platform 8300000.remoteproc:glink-edge:fastrpc:compute-cb@6: Adding to
iommu group 25
msm_dpu ae01000.display-controller: bound ae90000.displayport-controller
(ops msm_dp_display_comp_ops [msm])
platform 8300000.remoteproc:glink-edge:fastrpc:compute-cb@7: Adding to
iommu group 26
platform 8300000.remoteproc:glink-edge:fastrpc:compute-cb@8: Adding to
iommu group 27
qcom,fastrpc 17300000.remoteproc:glink-edge.fastrpcglink-apps-dsp.-1.-1:
no reserved DMA memory for FASTRPC
platform 17300000.remoteproc:glink-edge:fastrpc:compute-cb@3: Adding to
iommu group 28
msm_dpu ae01000.display-controller: bound 3d00000.gpu (ops a3xx_ops [msm])
[drm:dpu_kms_hw_init:1173] dpu hardware revision:0x60000000
platform 17300000.remoteproc:glink-edge:fastrpc:compute-cb@4: Adding to
iommu group 29
platform 17300000.remoteproc:glink-edge:fastrpc:compute-cb@5: Adding to
iommu group 30
wsa_macro 3240000.codec: using zero-initialized flat cache, this may
cause unexpected behavior
qcom-soundwire 3250000.soundwire: din-ports (2) mismatch with controller (3)
[drm:msm_dsi_manager_connector_init [msm]] *ERROR* Unable to create
bridge connector
msm_dpu ae01000.display-controller: [drm:msm_dsi_modeset_init [msm]]
*ERROR* failed to create dsi connector: -22
[drm:_dpu_kms_initialize_dsi:630] [dpu error]modeset_init failed for
dsi[0], rc = -22
[drm:_dpu_kms_setup_displays:766] [dpu error]initialize_dsi failed, rc = -22
[drm:dpu_kms_hw_init:1283] [dpu error]modeset init failed: -22
msm_dpu ae01000.display-controller: [drm:msm_drm_kms_init [msm]] *ERROR*
kms hw init failed: -22
Unable to handle kernel paging request at virtual address dead000000000108
Mem abort info:
ESR = 0x0000000096000044
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x04: level 0 translation fault
Data abort info:
ISV = 0, ISS = 0x00000044, ISS2 = 0x00000000
CM = 0, WnR = 1, TnD = 0, TagAccess = 0
GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[dead000000000108] address between user and kernel address ranges
Internal error: Oops: 0000000096000044 [#1] SMP
Bluetooth: hci0: QCA Downloading qca/htnv20.bin
Modules linked in: snd_soc_wsa881x ax88179_178a(+) regmap_sdw usbnet
ath11k_pci(+) ath11k q6asm_dai onboard_usb_dev q6afe_dai q6routing
q6afe_clocks mac80211 libarc4 q6adm cfg80211 q6asm q6afe
snd_q6dsp_common mhi q6core venus_enc venus_dec videobuf2_dma_contig
imx412 apr mcp251xfd pdr_interface qcom_pd_mapper rpmsg_ctrl
lontium_lt9611uxc(+) can_dev qrtr_smd nb7vpq904m rpmsg_char qcom_pdr_msg
pci_pwrctrl_pwrseq fastrpc leds_qcom_lpg qcom_pbs snd_soc_sm8250
snd_soc_qcom_offload_utils qcom_pmic_tcpm qcom_usb_vbus_regulator
led_class_multicolor snd_soc_qcom_sdw tcpm snd_soc_qcom_common
aux_hpd_bridge soc_usb qcom_spmi_adc_tm5 qcom_pon msm
qcom_spmi_temp_alarm snd_usb_audio hci_uart qcom_spmi_adc5 snd_hwdep
rtc_pm8xxx qcom_vadc_common ubwc_config btqca snd_usbmidi_lib qcom_camss
venus_core gpio_shared_proxy btbcm snd_rawmidi ocmem videobuf2_dma_sg
qcom_stats drm_gpuvm v4l2_fwnode drm_exec v4l2_mem2mem v4l2_async
videobuf2_memops soundwire_qcom gpu_sched videobuf2_v4l2 soundwire_bus
bluetooth videodev
snd_soc_lpass_va_macro
mhi mhi0: Requested to power ON
snd_soc_lpass_wsa_macro slimbus drm_dp_aux_bus videobuf2_common
ecdh_generic snd_soc_lpass_macro_common ecc drm_display_helper rfkill
spi_geni_qcom camcc_sm8250
mhi mhi0: Power on setup success
i2c_qcom_cci mc llcc_qcom phy_qcom_qmp_combo snd_soc_core
i2c_qcom_geni btrfs aux_bridge qrtr snd_compress typec icc_bwmon
phy_qcom_qmp_usb qcom_refgen_regulator snd_pcm_dmaengine
phy_qcom_snps_femto_v2 snd_pcm coresight_stm qcom_rng coresight_tmc
qcrypto stm_core coresight_replicator coresight_funnel sha256 snd_timer
pinctrl_sm8250_lpass_lpi coresight sha1 snd qcom_q6v5_pas
pinctrl_lpass_lpi qcom_pil_info authenc libdes soundcore blake2b
qcom_q6v5 libblake2b qcom_sysmon qcom_common xor qcom_glink_smem
xor_neon pwrseq_qcom_wcn mdt_loader socinfo qmi_helpers qcom_wdt
phy_qcom_qmp_pcie icc_osm_l3 display_connector pwrseq_core raid6_pq
zstd_compress fuse dm_mod ipv6 libsha1
mhi mhi0: Wait for device to enter SBL or Mission mode
CPU: 5 UID: 0 PID: 271 Comm: (udev-worker) Not tainted 6.19.0-rc1+
#16433 PREEMPT
Hardware name: Qualcomm Technologies, Inc. Robotics RB5 (DT)
pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
Bluetooth: hci0: QCA setup on UART is completed
pc : drm_atomic_private_obj_fini+0x24/0x70
lr : _dpu_kms_hw_destroy+0x4c/0x64 [msm]
...
Call trace:
drm_atomic_private_obj_fini+0x24/0x70 (P)
_dpu_kms_hw_destroy+0x4c/0x64 [msm]
dpu_kms_destroy+0x28/0xb0 [msm]
msm_drm_kms_uninit+0xb0/0xdc [msm]
msm_drm_uninit.isra.0+0x54/0xd4 [msm]
msm_drm_init+0x214/0x284 [msm]
msm_drm_bind+0x30/0x3c [msm]
try_to_bring_up_aggregate_device+0x168/0x1d4
__component_add+0xa8/0x170
component_add+0x14/0x20
dsi_dev_attach+0x20/0x2c [msm]
dsi_host_attach+0x58/0x98 [msm]
devm_mipi_dsi_attach+0x34/0x90
lt9611uxc_attach_dsi.isra.0+0x84/0x100 [lontium_lt9611uxc]
lt9611uxc_probe+0x5ec/0x684 [lontium_lt9611uxc]
i2c_device_probe+0x154/0x344
really_probe+0xbc/0x298
__driver_probe_device+0x78/0x12c
driver_probe_device+0x40/0x164
__driver_attach+0x9c/0x1ac
bus_for_each_dev+0x74/0xd0
driver_attach+0x24/0x30
bus_add_driver+0xe4/0x208
driver_register+0x60/0x128
i2c_register_driver+0x48/0xd0
lt9611uxc_driver_init+0x20/0x1000 [lontium_lt9611uxc]
do_one_initcall+0x64/0x308
do_init_module+0x58/0x23c
load_module+0x1b48/0x1dc4
init_module_from_file+0xd4/0xec
idempotent_init_module+0x188/0x280
__arm64_sys_finit_module+0x68/0xac
invoke_syscall+0x48/0x10c
el0_svc_common.constprop.0+0xc8/0xe8
do_el0_svc+0x20/0x2c
el0_svc+0x50/0x2e8
el0t_64_sync_handler+0xa0/0xe4
el0t_64_sync+0x198/0x19c
Code: d2802443 f2fbd5a4 f2fbd5a3 a9408402 (f9000441)
---[ end trace 0000000000000000 ]---
> ---
> drivers/gpu/drm/vc4/vc4_hdmi.c | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
> index 1798d1156d10..4cfb7ebc0c81 100644
> --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
> +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
> @@ -624,6 +624,30 @@ static int vc4_hdmi_stop_packet(struct vc4_hdmi *vc4_hdmi,
> return ret;
> }
>
> +static int vc4_hdmi_clear_infoframe(struct drm_connector *connector,
> + enum hdmi_infoframe_type type)
> +{
> + struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector);
> + struct drm_device *drm = connector->dev;
> + int ret;
> + int idx;
> +
> + if (!drm_dev_enter(drm, &idx))
> + return 0;
> +
> + WARN_ONCE(!(HDMI_READ(HDMI_RAM_PACKET_CONFIG) &
> + VC4_HDMI_RAM_PACKET_ENABLE),
> + "Packet RAM has to be on to store the packet.");
> +
> + ret = vc4_hdmi_stop_packet(vc4_hdmi, type, true);
> + if (ret)
> + drm_err(drm, "Failed to wait for infoframe to go idle: %d\n", ret);
> +
> + drm_dev_exit(idx);
> +
> + return ret;
> +}
> +
> static int vc4_hdmi_write_infoframe(struct drm_connector *connector,
> enum hdmi_infoframe_type type,
> const u8 *infoframe, size_t len)
> @@ -1660,6 +1684,7 @@ vc4_hdmi_connector_clock_valid(const struct drm_connector *connector,
>
> static const struct drm_connector_hdmi_funcs vc4_hdmi_hdmi_connector_funcs = {
> .tmds_char_rate_valid = vc4_hdmi_connector_clock_valid,
> + .clear_infoframe = vc4_hdmi_clear_infoframe,
> .write_infoframe = vc4_hdmi_write_infoframe,
> };
>
>
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
next prev parent reply other threads:[~2026-01-26 17:42 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-07 18:14 [PATCH v4 00/10] drm/connector: hdmi: limit infoframes per driver capabilities, second approach Dmitry Baryshkov
2026-01-07 18:14 ` [PATCH v4 01/10] drm/tests: hdmi: check the infoframes behaviour Dmitry Baryshkov
2026-01-19 10:13 ` Maxime Ripard
2026-01-19 11:23 ` Dmitry Baryshkov
2026-01-19 13:10 ` Jani Nikula
2026-01-19 20:09 ` Dmitry Baryshkov
2026-01-07 18:14 ` [PATCH v4 02/10] drm/vc4: hdmi: implement clear_infoframe Dmitry Baryshkov
[not found] ` <CGME20260126174209eucas1p28e3856ee9f7a841db54dd05e5ea30178@eucas1p2.samsung.com>
2026-01-26 17:42 ` Marek Szyprowski [this message]
[not found] ` <CGME20260126174455eucas1p1f219202580a1033d3e881adc4f37f206@eucas1p1.samsung.com>
2026-01-26 17:44 ` Marek Szyprowski
2026-01-26 19:00 ` Dmitry Baryshkov
2026-01-27 9:11 ` Marek Szyprowski
2026-01-07 18:15 ` [PATCH v4 03/10] drm/sun4i: hdmi_enc: implement clear_infoframe stub Dmitry Baryshkov
2026-01-13 15:49 ` Maxime Ripard
2026-01-07 18:15 ` [PATCH v4 04/10] drm/connector: make clear_infoframe callback mandatory for HDMI connectors Dmitry Baryshkov
2026-01-07 18:15 ` [PATCH v4 05/10] drm/bridge: refactor HDMI InfoFrame callbacks Dmitry Baryshkov
2026-01-27 19:50 ` Mark Brown
2026-01-27 20:26 ` Dmitry Baryshkov
2026-01-07 18:15 ` [PATCH v4 06/10] drm/display: hdmi_state_helper: split InfoFrame functions per type Dmitry Baryshkov
2026-01-07 18:15 ` [PATCH v4 07/10] drm/display: hdmi_state_helper: reject Audio IF updates if it's not supported Dmitry Baryshkov
2026-01-19 10:13 ` Maxime Ripard
2026-01-07 18:15 ` [PATCH v4 08/10] drm/display: hdmi_state_helper: don't generate unsupported InfoFrames Dmitry Baryshkov
2026-01-07 18:15 ` [PATCH v4 09/10] drm/display: bridge_connector: dynamically generate HDMI callbacks Dmitry Baryshkov
2026-01-07 18:15 ` [PATCH v4 10/10] drm/debug: don't register files for unsupported HDMI InfoFrames Dmitry Baryshkov
2026-01-19 11:24 ` [PATCH v4 00/10] drm/connector: hdmi: limit infoframes per driver capabilities, second approach 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=5c247393-b096-43ea-9ff4-9dd5fcdeec73@samsung.com \
--to=m.szyprowski@samsung.com \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=abhinav.kumar@linux.dev \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=andy.yan@rock-chips.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=chunkuang.hu@kernel.org \
--cc=dave.stevenson@raspberrypi.com \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=heiko@sntech.de \
--cc=hjc@rock-chips.com \
--cc=jernej.skrabec@gmail.com \
--cc=jesszhan0024@gmail.com \
--cc=jonas@kwiboo.se \
--cc=kernel-list@raspberrypi.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=lumag@kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=marijn.suijten@somainline.org \
--cc=matthias.bgg@gmail.com \
--cc=mcanal@igalia.com \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=p.zabel@pengutronix.de \
--cc=rfoss@kernel.org \
--cc=robin.clark@oss.qualcomm.com \
--cc=samuel@sholland.org \
--cc=sean@poorly.run \
--cc=simona@ffwll.ch \
--cc=tzimmermann@suse.de \
--cc=victor.liu@nxp.com \
--cc=wens@kernel.org \
/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
all inboxes | Powered by JetHome®