From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) (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 49632349B1F; Mon, 26 Jan 2026 17:42:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.118.77.11 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769449334; cv=none; b=vEb2UxZOJ7BzJ+YBdjnd7WcUdhz1JR3FgXuykT4LUdS+lNYOXfaRLpYmQ/aF2qCXK1vKpy3svtUVU5ahmmUt1GGkrXUzjFaCRoNdqhB5eAp7kpqZ04Fv9qDiLr74ypaxeV+vecbFgKI/zYMpEXEC6pjpAiFYs+2Zmlvb0Qpb4Uc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769449334; c=relaxed/simple; bh=3DwUcAWlDlk/2UAJhbmX8ysly+sf3vjD5sMSOqG7QVg=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:From:In-Reply-To: Content-Type:References; b=JLQfhsJmWImwbbp54vS8RqL4O7kUa3iOBrhDSqhoEk5qAFk2aH6tEhO9T1uirjkRXz6CkJh0X1ESZXQqL7phayn3oIpTAxxztrFBb60oxeXiDOy4QITsvER8NlqbPnAKuRCKqtEQFodvMOGb3XkcGotkGllCKD2mEftlvy3MvIA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com; spf=pass smtp.mailfrom=samsung.com; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b=nrz4+E+2; arc=none smtp.client-ip=210.118.77.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=samsung.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="nrz4+E+2" Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20260126174209euoutp01d8845f787646e1ccb38509ae2b34dc63~OWMpImYMh0629706297euoutp01c; Mon, 26 Jan 2026 17:42:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20260126174209euoutp01d8845f787646e1ccb38509ae2b34dc63~OWMpImYMh0629706297euoutp01c DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1769449329; bh=0hZIidlQwtEAZPDQwy5fCpgn5aYTrltQ0aWsqkrl/MA=; h=Date:Subject:To:Cc:From:In-Reply-To:References:From; b=nrz4+E+2t7tfDF869R6ejue7cgak6v9clKDONEvHjbNwmOVc3lAWzNkgauBE0u2G9 XMbsdqNGq2ckduW+Y0KXZQ2SyyAKRGJyF+5/57qM+GvUo9tqx+5Nn/CfoE3+5skQXL WK/TBRhZlZKJU4TQI2Z68YhRXQdg6bm54Zd9BN6w= Received: from eusmtip2.samsung.com (unknown [203.254.199.222]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20260126174209eucas1p28e3856ee9f7a841db54dd05e5ea30178~OWMo4Zig62641726417eucas1p2J; Mon, 26 Jan 2026 17:42:09 +0000 (GMT) Received: from [106.210.134.192] (unknown [106.210.134.192]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20260126174207eusmtip2c8c9672c51997b866a94fb0a7a1010cb~OWMnUdX7Y2552625526eusmtip2d; Mon, 26 Jan 2026 17:42:07 +0000 (GMT) Message-ID: <5c247393-b096-43ea-9ff4-9dd5fcdeec73@samsung.com> Date: Mon, 26 Jan 2026 18:42:06 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Betterbird (Windows) Subject: Re: [PATCH v4 02/10] drm/vc4: hdmi: implement clear_infoframe To: Dmitry Baryshkov , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dave Stevenson , =?UTF-8?Q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Liu Ying , Chun-Kuang Hu , Philipp Zabel , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?UTF-8?Q?Heiko_St=C3=BCbner?= , Andy Yan 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 Content-Language: en-US From: Marek Szyprowski In-Reply-To: <20260107-limit-infoframes-2-v4-2-213d0d3bd490@oss.qualcomm.com> Content-Transfer-Encoding: 8bit X-CMS-MailID: 20260126174209eucas1p28e3856ee9f7a841db54dd05e5ea30178 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20260126174209eucas1p28e3856ee9f7a841db54dd05e5ea30178 X-EPHeader: CA X-CMS-RootMailID: 20260126174209eucas1p28e3856ee9f7a841db54dd05e5ea30178 References: <20260107-limit-infoframes-2-v4-0-213d0d3bd490@oss.qualcomm.com> <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 > Signed-off-by: Dmitry Baryshkov 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