From nobody Thu Oct 2 22:52:49 2025 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 29A4A352080 for ; Tue, 9 Sep 2025 14:52:23 +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=1757429547; cv=none; b=t27opUfVLN5FNjGZoPmA99JO8vfqm72tspJqHc6RPXpsCCcZI6pMFzZWm230gnR+4JLgf7n9YCLg/e8ijWc4aq+gaHaFRd2KTgHFfGeJW3Ns15/hLaOW8O6O5Lvurofsd2oTzeUev6YfK7wHgLkXIK/jauWTwKw1+c4RdyeAJVI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757429547; c=relaxed/simple; bh=mP/H5Pi0Ywh3c712kU9hSqtr5Ew0pjrLOLw+OxDtaCQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OFo8KnTUHigr6Sh0IELf8Z2EmRmy4NG9ia4ZhasFdLa9GsD3eZiCXk/P92aheg/TtlqjKpYjoXJF6lQQH2u5TdEFH1UiS/+64EO9ZmX9WvUNelu7ak8hMfaYpzX71ADPxINj/ax6GahMs31JC8S4lHAPGIPrzGDG5+RnroxlycM= 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=h1dHKg8E; 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="h1dHKg8E" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899LYOO009606 for ; Tue, 9 Sep 2025 14:52:23 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= 4qmCG5VRv/0xeHVKrnpkEHnE+MjRUIGDpWGRDcEunOM=; b=h1dHKg8EhWTr1lXC S3BSUDh/BQyURCuqb2vnoHNX2iV4CjJnPhaYHqPYs9xf9fzCG6TfyKcYPdboOu1z 7LJswkBQsWZfDeK1ZmLLYltP3569oByQkb2BUOaXiVe9XaFUuY9K1J0uPiXvM7q9 DFSlAwLLTTQbozeZsDsrsZTaxkD3d+OLY50gHDUoylALyLmv4mBoot59ipxUSIcF aDWB6bIbWAQZtRVdzhceG2xFglcAED8gMQznh8M0so1N6CTXE6VmcuRM6x78T+96 T1Dl2Gf3eW5swEU0WaXJJd8U8vEwXhHCdR1LTWpDCgMMxmdA+k3nR8Y7KJd3YWz5 53a0rg== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 491qhdwcdm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 09 Sep 2025 14:52:20 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-7296c012e7dso116263506d6.2 for ; Tue, 09 Sep 2025 07:52:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757429536; x=1758034336; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4qmCG5VRv/0xeHVKrnpkEHnE+MjRUIGDpWGRDcEunOM=; b=EX5QEDtGLSj6ojuvbyOdjkrTXSFA/OFLaHtKiYaewLRu221fDJXD2WxJx1xAbH0+Rv WsnAfuzENj+7OLi7zt4OrKpGU0gbPSX/ANvNiJn/SZLAgpa94JMcV5XlsBfTO4rsbIkp oL4IaqpmeBP9/7rSDUMXTVs4I9MpaIQeyJ/555eeNq2qnz9xqwH0fujGGPLmNSJjAsgV gkeQbUAgUHAWORTdK7OA2UdIqCOIdOP+BDfj2bglC9/xzCN9BKsZpqnEcdXqIbzFXR7V O2FCYdd1Gh7pWa4Th/q3wZj7CL/X6D4vESKBVPKTCVHmLFrpNyeXflHP2wRLM2gzLcab ghPA== X-Forwarded-Encrypted: i=1; AJvYcCXXpNNiOksw8nfJhbg6yFJTT8+ceqxNIAJwyKVhdhxz7Qi/IVAX+zqs3wWLF1hsRFLuwSioZkWdOH4mcrs=@vger.kernel.org X-Gm-Message-State: AOJu0Yx0yRkD+wlr9dMyct10isgsiaPgmg7Nfm8r/mRisV9WbqnDDrKe /jNIko+cC2lqGsAKdb45nCdEz3mYXM+7Va4F1T+hp0s1HwmbmwWs9GIISvMn7oYTx9mG63cqN6q fEGAXvz9Y7Tl8w6WzBTlcMpnLwgrrwFsPCXBlYCAVXtpgqajmGvWDF1kMq8OgPA8H4sM= X-Gm-Gg: ASbGncuEUMNU0arATYxLrkayv+ZK2YIAp872d3jSmuLhKanD6BwvEmTSoEWZOKBpYq5 tRQ18O9ChCv2K6M1ojQwH6UKXYmNaAueotUcUiCTUALA1y+NCVFMWgUNmrc9ExGmxB9xVtgNyhE u8PAHcDUYwLzLT8NrgX1HqDERwhrcPeaemHdoy4UHcruGjGlY/5wR48lsWgFBU/PgzJXHdBYYwT /PByt3pFKIbxb0lUlVE6REUY7JqEmIdFk0pQLQeM0pReUflRsp0mqjD/OK+8Sb0FcDLgsWMN51O d0XhiDTOPbQ2uRJ4NLfULRomiU3S/GTOtM3rOrU7RIvdczJOVj3NDmwJxBZ6953R4gJVGt3SaAN zCzz3G6lDwRei164+UAiC0RWy+Ft7qhiRyo15+yraY17qYzdps8eF X-Received: by 2002:a05:6214:485:b0:712:8b65:d37a with SMTP id 6a1803df08f44-7393d42bbcbmr132608776d6.43.1757429535836; Tue, 09 Sep 2025 07:52:15 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE/bbtuN3wllj9BkovM2JO/e0F2W8h5IRpZMJZhZIa2NtCKZE6emzGxG704Fb0C0orxRB0Aww== X-Received: by 2002:a05:6214:485:b0:712:8b65:d37a with SMTP id 6a1803df08f44-7393d42bbcbmr132608116d6.43.1757429534961; Tue, 09 Sep 2025 07:52:14 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-337f4c90eb9sm38735781fa.22.2025.09.09.07.52.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Sep 2025 07:52:13 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 09 Sep 2025 17:51:59 +0300 Subject: [PATCH v4 01/10] drm/connector: let drivers declare infoframes as unsupported 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: quoted-printable Message-Id: <20250909-drm-limit-infoframes-v4-1-53fd0a65a4a2@oss.qualcomm.com> References: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> In-Reply-To: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Samuel Holland , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance , Liu Ying , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Daniel Stone X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=25401; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=mP/H5Pi0Ywh3c712kU9hSqtr5Ew0pjrLOLw+OxDtaCQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBowD8adLkeXkLmIEF+OgaYr7EQ+FUrPVenExzAA rvULDbm03qJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaMA/GgAKCRCLPIo+Aiko 1RopB/9495wgm7xM3zpSHMYgZm24eBg4hGYMAMTgxiTv+EFgNZ95luJl76+wzItr8YvC0XlxiD9 aArALl1mPi14xh6vQ3IvHF5rcy/7l0CnW2A1j1xDs6DZFxpUojUuGA1JIVULHtZcJOESJBJ73+A uZvIV+4RibavlryvPp5uuZTuGFAbo/FepVzF0uFTWBKJ9c47VquTDAlUX4K7DOCQ2YIufmqZzrT XpodU5IKHiBc2+y1SxTIm78m42YZCL9HOjc3TIt+CaXGYLHTNdQFF1Y5M61c+KMSuCxlBj91mmh /P60zYf2X48H41adqut0iOOfVtj2tt82MPBTm5ylHiU/vLfl X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: IiP0XlDnmfElmEcJnraXfrbWQeWKJr1w X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDAzNCBTYWx0ZWRfXwzyps4SE0E13 DAMSRd8G7FykHD0LPo5INNGx+Q127BczyVwSkTiINJSt3rnAC4X3jup7ZPzzIrMwHxeADN+S1FC bsYLfro0Nlmx90grQRD3fIEoFPIQFdiccuAC549+6PxO4mUALp73Xpko29CCdidPI+r19k6PGJg cZ8OT9pGLoHCio7eVy1GvrEADtWNK1lAYCzhOT3VaOjgcTFABeW6pGecdS6Ah1FlOa3WOnPTNiM G335+rDaAsndajVGoveFneKD2P8byKI+/0h+QMcXAcE+ewUMzMQ1QSl6gKGrP3JRRuuVDBGf8IV w1+mwKB7L1Vnj8pfsUAhL0t1ccBBGCyCAvasqGeH2c5t0c1ueZtdAOTEX9gsGEbu6zCG59icnVd ccJDNqMQ X-Authority-Analysis: v=2.4 cv=YOCfyQGx c=1 sm=1 tr=0 ts=68c03f26 cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=8AirrxEcAAAA:8 a=QX4gbG5DAAAA:8 a=EUspDBNiAAAA:8 a=XAD4hK_KzAuCMM6Gw7AA:9 a=QEXdDO2ut3YA:10 a=OIgjcC2v60KrkQgK7BGD:22 a=ST-jHhOKWsTCqRlWije3:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-ORIG-GUID: IiP0XlDnmfElmEcJnraXfrbWQeWKJr1w X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_02,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 clxscore=1015 adultscore=0 impostorscore=0 suspectscore=0 priorityscore=1501 spamscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509080034 Currently DRM framework expects that the HDMI connector driver supports all infoframe types: it generates the data as required and calls into the driver to program all of them, letting the driver to soft-fail if the infoframe is unsupported. This has a major drawback on userspace API: the framework also registers debugfs files for all Infoframe types, possibly surprising the users when infoframe is visible in the debugfs file, but it is not visible on the wire. Drivers are also expected to return success even for unsuppoted InfoFrame types. Let drivers declare that they support only a subset of infoframes, creating a more consistent interface. Make the affected drivers return -EOPNOTSUPP if they are asked to program (or clear) InfoFrames which are not supported. Acked-by: Liu Ying Acked-by: Daniel Stone Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/display/drm_bridge_connector.c | 6 +++ drivers/gpu/drm/display/drm_hdmi_state_helper.c | 43 ++++++++++++++++++= +--- drivers/gpu/drm/drm_connector.c | 4 ++ drivers/gpu/drm/drm_debugfs.c | 16 +++++--- drivers/gpu/drm/rockchip/inno_hdmi.c | 5 ++- drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 3 +- drivers/gpu/drm/tests/drm_connector_test.c | 28 ++++++++++++++ drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c | 8 ++++ drivers/gpu/drm/vc4/vc4_hdmi.c | 5 +++ include/drm/drm_bridge.h | 12 +++++- include/drm/drm_connector.h | 30 ++++++++++++++- 11 files changed, 143 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/display/drm_bridge_connector.c b/drivers/gpu/d= rm/display/drm_bridge_connector.c index baacd21e7341fca95ef3e5b793930ffde9d4d4e3..55bf5ac53739fda098be69a5c61= e4934704ce046 100644 --- a/drivers/gpu/drm/display/drm_bridge_connector.c +++ b/drivers/gpu/drm/display/drm_bridge_connector.c @@ -783,6 +783,12 @@ struct drm_connector *drm_bridge_connector_init(struct= drm_device *drm, &drm_bridge_connector_hdmi_funcs, connector_type, ddc, supported_formats, + bridge->supported_infoframes ? | + DRM_CONNECTOR_INFOFRAME_AUDIO | + DRM_CONNECTOR_INFOFRAME_AVI | + DRM_CONNECTOR_INFOFRAME_DRM | + DRM_CONNECTOR_INFOFRAME_SPD | + DRM_CONNECTOR_INFOFRAME_VENDOR, max_bpc); if (ret) return ERR_PTR(ret); diff --git a/drivers/gpu/drm/display/drm_hdmi_state_helper.c b/drivers/gpu/= drm/display/drm_hdmi_state_helper.c index a561f124be99a0cd4259dbacf5f5f6651ff8a0ea..9ae996b5a2acf27d23da7108865= b721cc8975dbf 100644 --- a/drivers/gpu/drm/display/drm_hdmi_state_helper.c +++ b/drivers/gpu/drm/display/drm_hdmi_state_helper.c @@ -687,6 +687,9 @@ static int hdmi_generate_avi_infoframe(const struct drm= _connector *connector, =20 infoframe->set =3D false; =20 + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYP= E_AVI)) + return 0; + ret =3D drm_hdmi_avi_infoframe_from_display_mode(frame, connector, mode); if (ret) return ret; @@ -718,6 +721,9 @@ static int hdmi_generate_spd_infoframe(const struct drm= _connector *connector, =20 infoframe->set =3D false; =20 + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYP= E_SPD)) + return 0; + ret =3D hdmi_spd_infoframe_init(frame, connector->hdmi.vendor, connector->hdmi.product); @@ -742,6 +748,9 @@ static int hdmi_generate_hdr_infoframe(const struct drm= _connector *connector, =20 infoframe->set =3D false; =20 + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYP= E_DRM)) + return 0; + if (connector->max_bpc < 10) return 0; =20 @@ -771,6 +780,9 @@ static int hdmi_generate_hdmi_vendor_infoframe(const st= ruct drm_connector *conne =20 infoframe->set =3D false; =20 + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYP= E_VENDOR)) + return 0; + if (!info->has_hdmi_infoframe) return 0; =20 @@ -898,13 +910,18 @@ static int clear_device_infoframe(struct drm_connecto= r *connector, struct drm_device *dev =3D connector->dev; int ret; =20 - drm_dbg_kms(dev, "Clearing infoframe type 0x%x\n", type); - if (!funcs || !funcs->clear_infoframe) { drm_dbg_kms(dev, "Function not implemented, bailing.\n"); return 0; } =20 + if (!drm_hdmi_connector_supported_infoframe(connector, type)) { + drm_dbg_kms(dev, "Infoframe 0x%02x not supported, bailing.\n", type); + return -EOPNOTSUPP; + } + + drm_dbg_kms(dev, "Clearing infoframe type 0x%02x\n", type); + ret =3D funcs->clear_infoframe(connector, type); if (ret) { drm_dbg_kms(dev, "Call failed: %d\n", ret); @@ -930,23 +947,29 @@ static int write_device_infoframe(struct drm_connecto= r *connector, union hdmi_infoframe *frame) { const struct drm_connector_hdmi_funcs *funcs =3D connector->hdmi.funcs; + enum hdmi_infoframe_type type =3D frame->any.type; struct drm_device *dev =3D connector->dev; u8 buffer[HDMI_INFOFRAME_SIZE(MAX)]; int ret; int len; =20 - drm_dbg_kms(dev, "Writing infoframe type %x\n", frame->any.type); - if (!funcs || !funcs->write_infoframe) { drm_dbg_kms(dev, "Function not implemented, bailing.\n"); return -EINVAL; } =20 + if (!drm_hdmi_connector_supported_infoframe(connector, type)) { + drm_dbg_kms(dev, "Infoframe 0x%02x not supported, bailing.\n", type); + return -EOPNOTSUPP; + } + + drm_dbg_kms(dev, "Writing infoframe type 0x%02x\n", type); + len =3D hdmi_infoframe_pack(frame, buffer, sizeof(buffer)); if (len < 0) return len; =20 - ret =3D funcs->write_infoframe(connector, frame->any.type, buffer, len); + ret =3D funcs->write_infoframe(connector, type, buffer, len); if (ret) { drm_dbg_kms(dev, "Call failed: %d\n", ret); return ret; @@ -1067,6 +1090,11 @@ drm_atomic_helper_connector_hdmi_update_audio_infofr= ame(struct drm_connector *co struct drm_display_info *info =3D &connector->display_info; int ret; =20 + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYP= E_AUDIO)) { + drm_warn_once(connector->dev, "Audio Infoframe not supported, bailing.\n= "); + return -EOPNOTSUPP; + } + if (!info->is_hdmi) return 0; =20 @@ -1102,6 +1130,11 @@ drm_atomic_helper_connector_hdmi_clear_audio_infofra= me(struct drm_connector *con struct drm_display_info *info =3D &connector->display_info; int ret; =20 + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYP= E_AUDIO)) { + drm_warn_once(connector->dev, "Audio Infoframe not supported, bailing.\n= "); + return -EOPNOTSUPP; + } + if (!info->is_hdmi) return 0; =20 diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connecto= r.c index 272d6254ea4784e97ca894ec4d463beebf9fdbf0..92a75684a0f7375d3a94e8c666c= b71064ecc8035 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -553,6 +553,7 @@ EXPORT_SYMBOL(drmm_connector_init); * @connector_type: user visible type of the connector * @ddc: optional pointer to the associated ddc adapter * @supported_formats: Bitmask of @hdmi_colorspace listing supported outpu= t formats + * @supported_infoframes: Bitmask of @DRM_CONNECTOR_INFOFRAME listing Info= frames generated by DRM core * @max_bpc: Maximum bits per char the HDMI connector supports * * Initialises a preallocated HDMI connector. Connectors can be @@ -576,6 +577,7 @@ int drmm_connector_hdmi_init(struct drm_device *dev, int connector_type, struct i2c_adapter *ddc, unsigned long supported_formats, + unsigned long supported_infoframes, unsigned int max_bpc) { int ret; @@ -623,6 +625,8 @@ int drmm_connector_hdmi_init(struct drm_device *dev, =20 connector->hdmi.funcs =3D hdmi_funcs; =20 + connector->hdmi.supported_infoframes =3D supported_infoframes; + return 0; } EXPORT_SYMBOL(drmm_connector_hdmi_init); diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c index 365cf337529fa2a88b69516d57360d212419c126..0bf70164550b4eb0551aeab026d= 5bf1131739a02 100644 --- a/drivers/gpu/drm/drm_debugfs.c +++ b/drivers/gpu/drm/drm_debugfs.c @@ -672,6 +672,9 @@ static int create_hdmi_audio_infoframe_file(struct drm_= connector *connector, { struct dentry *file; =20 + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYP= E_AUDIO)) + return 0; + file =3D debugfs_create_file("audio", 0400, parent, connector, &audio_inf= oframe_fops); if (IS_ERR(file)) return PTR_ERR(file); @@ -679,7 +682,7 @@ static int create_hdmi_audio_infoframe_file(struct drm_= connector *connector, return 0; } =20 -#define DEFINE_INFOFRAME_FILE(_f) \ +#define DEFINE_INFOFRAME_FILE(_f, _F) \ static ssize_t _f##_read_infoframe(struct file *filp, \ char __user *ubuf, \ size_t count, \ @@ -726,6 +729,9 @@ static int create_hdmi_## _f ## _infoframe_file(struct = drm_connector *connector, { \ struct dentry *file; \ \ + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYP= E_ ## _F)) \ + return 0; \ + \ file =3D debugfs_create_file(#_f, 0400, parent, connector, &_f ## _infofr= ame_fops); \ if (IS_ERR(file)) \ return PTR_ERR(file); \ @@ -733,10 +739,10 @@ static int create_hdmi_## _f ## _infoframe_file(struc= t drm_connector *connector, return 0; \ } =20 -DEFINE_INFOFRAME_FILE(avi); -DEFINE_INFOFRAME_FILE(hdmi); -DEFINE_INFOFRAME_FILE(hdr_drm); -DEFINE_INFOFRAME_FILE(spd); +DEFINE_INFOFRAME_FILE(avi, AVI); +DEFINE_INFOFRAME_FILE(hdmi, VENDOR); +DEFINE_INFOFRAME_FILE(hdr_drm, DRM); +DEFINE_INFOFRAME_FILE(spd, SPD); =20 static int create_hdmi_infoframe_files(struct drm_connector *connector, struct dentry *parent) diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchi= p/inno_hdmi.c index 1ab3ad4bde9ea7305021186ea221d2ff9057fdbb..31d742b7627b8b31ebbd7056c9d= 44a0454407d6d 100644 --- a/drivers/gpu/drm/rockchip/inno_hdmi.c +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c @@ -645,7 +645,7 @@ static int inno_hdmi_disable_frame(struct drm_connector= *connector, if (type !=3D HDMI_INFOFRAME_TYPE_AVI) { drm_err(connector->dev, "Unsupported infoframe type: %u\n", type); - return 0; + return -EOPNOTSUPP; } =20 hdmi_writeb(hdmi, HDMI_CONTROL_PACKET_BUF_INDEX, INFOFRAME_AVI); @@ -663,7 +663,7 @@ static int inno_hdmi_upload_frame(struct drm_connector = *connector, if (type !=3D HDMI_INFOFRAME_TYPE_AVI) { drm_err(connector->dev, "Unsupported infoframe type: %u\n", type); - return 0; + return -EOPNOTSUPP; } =20 inno_hdmi_disable_frame(connector, type); @@ -1065,6 +1065,7 @@ static int inno_hdmi_register(struct drm_device *drm,= struct inno_hdmi *hdmi) DRM_MODE_CONNECTOR_HDMIA, hdmi->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_INFOFRAME_AVI, 8); =20 drm_connector_attach_encoder(&hdmi->connector, encoder); diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c b/drivers/gpu/drm/sun4i= /sun4i_hdmi_enc.c index ab0938ba61f7d75dd0bec473807a04a20e1cffbd..f4c8ff60d78250d0100e210210d= 4e9a64a903af5 100644 --- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c +++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c @@ -50,7 +50,7 @@ static int sun4i_hdmi_write_infoframe(struct drm_connecto= r *connector, if (type !=3D HDMI_INFOFRAME_TYPE_AVI) { drm_err(connector->dev, "Unsupported infoframe type: %u\n", type); - return 0; + return -EOPNOTSUPP; } =20 for (i =3D 0; i < len; i++) @@ -640,6 +640,7 @@ static int sun4i_hdmi_bind(struct device *dev, struct d= evice *master, DRM_MODE_CONNECTOR_HDMIA, hdmi->ddc_i2c, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_INFOFRAME_AVI, 8); if (ret) { dev_err(dev, diff --git a/drivers/gpu/drm/tests/drm_connector_test.c b/drivers/gpu/drm/t= ests/drm_connector_test.c index 22e2d959eb31459f9981fef488228904d67cb6f9..fd28ed2bf8bcecabaabc67f2f8f= 5ccc1f42525d3 100644 --- a/drivers/gpu/drm/tests/drm_connector_test.c +++ b/drivers/gpu/drm/tests/drm_connector_test.c @@ -641,6 +641,13 @@ static struct kunit_suite drm_connector_dynamic_regist= er_test_suite =3D { .test_cases =3D drm_connector_dynamic_register_tests, }; =20 +#define DRM_CONNECTOR_ALL_INFOFRAMES \ + (DRM_CONNECTOR_INFOFRAME_AUDIO | \ + DRM_CONNECTOR_INFOFRAME_AVI | \ + DRM_CONNECTOR_INFOFRAME_DRM | \ + DRM_CONNECTOR_INFOFRAME_SPD | \ + DRM_CONNECTOR_INFOFRAME_VENDOR) + /* * Test that the registration of a bog standard connector works as * expected and doesn't report any error. @@ -657,6 +664,7 @@ static void drm_test_connector_hdmi_init_valid(struct k= unit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_EQ(test, ret, 0); } @@ -677,6 +685,7 @@ static void drm_test_connector_hdmi_init_null_ddc(struc= t kunit *test) DRM_MODE_CONNECTOR_HDMIA, NULL, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_EQ(test, ret, 0); } @@ -697,6 +706,7 @@ static void drm_test_connector_hdmi_init_null_vendor(st= ruct kunit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_LT(test, ret, 0); } @@ -717,6 +727,7 @@ static void drm_test_connector_hdmi_init_null_product(s= truct kunit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_LT(test, ret, 0); } @@ -743,6 +754,7 @@ static void drm_test_connector_hdmi_init_product_valid(= struct kunit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_EQ(test, ret, 0); KUNIT_EXPECT_MEMEQ(test, @@ -776,6 +788,7 @@ static void drm_test_connector_hdmi_init_product_length= _exact(struct kunit *test DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_EQ(test, ret, 0); KUNIT_EXPECT_MEMEQ(test, @@ -803,6 +816,7 @@ static void drm_test_connector_hdmi_init_product_length= _too_long(struct kunit *t DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_LT(test, ret, 0); } @@ -829,6 +843,7 @@ static void drm_test_connector_hdmi_init_vendor_valid(s= truct kunit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_EQ(test, ret, 0); KUNIT_EXPECT_MEMEQ(test, @@ -861,6 +876,7 @@ static void drm_test_connector_hdmi_init_vendor_length_= exact(struct kunit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_EQ(test, ret, 0); KUNIT_EXPECT_MEMEQ(test, @@ -888,6 +904,7 @@ static void drm_test_connector_hdmi_init_vendor_length_= too_long(struct kunit *te DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_LT(test, ret, 0); } @@ -908,6 +925,7 @@ static void drm_test_connector_hdmi_init_bpc_invalid(st= ruct kunit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 9); KUNIT_EXPECT_LT(test, ret, 0); } @@ -928,6 +946,7 @@ static void drm_test_connector_hdmi_init_bpc_null(struc= t kunit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 0); KUNIT_EXPECT_LT(test, ret, 0); } @@ -953,6 +972,7 @@ static void drm_test_connector_hdmi_init_bpc_8(struct k= unit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_EQ(test, ret, 0); =20 @@ -994,6 +1014,7 @@ static void drm_test_connector_hdmi_init_bpc_10(struct= kunit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 10); KUNIT_EXPECT_EQ(test, ret, 0); =20 @@ -1035,6 +1056,7 @@ static void drm_test_connector_hdmi_init_bpc_12(struc= t kunit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 12); KUNIT_EXPECT_EQ(test, ret, 0); =20 @@ -1071,6 +1093,7 @@ static void drm_test_connector_hdmi_init_formats_empt= y(struct kunit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, 0, + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_LT(test, ret, 0); } @@ -1091,6 +1114,7 @@ static void drm_test_connector_hdmi_init_formats_no_r= gb(struct kunit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_YUV422), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_LT(test, ret, 0); } @@ -1149,6 +1173,7 @@ static void drm_test_connector_hdmi_init_formats_yuv4= 20_allowed(struct kunit *te DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, params->supported_formats, + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_EQ(test, ret, params->expected_result); } @@ -1170,6 +1195,7 @@ static void drm_test_connector_hdmi_init_type_valid(s= truct kunit *test) connector_type, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_EQ(test, ret, 0); } @@ -1205,6 +1231,7 @@ static void drm_test_connector_hdmi_init_type_invalid= (struct kunit *test) connector_type, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_LT(test, ret, 0); } @@ -1482,6 +1509,7 @@ static void drm_test_drm_connector_attach_broadcast_r= gb_property_hdmi_connector( DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_EQ(test, ret, 0); =20 diff --git a/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c b/drivers/g= pu/drm/tests/drm_hdmi_state_helper_test.c index 8bd412735000cb18e66aeca21433b2ebbefe2b44..2901fcb6b12ee318a4a9c727a62= d5290d7c9aa84 100644 --- a/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c +++ b/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c @@ -138,6 +138,13 @@ static const struct drm_connector_funcs dummy_connecto= r_funcs =3D { .reset =3D dummy_hdmi_connector_reset, }; =20 +#define DRM_CONNECTOR_ALL_INFOFRAMES \ + (DRM_CONNECTOR_INFOFRAME_AUDIO | \ + DRM_CONNECTOR_INFOFRAME_AVI | \ + DRM_CONNECTOR_INFOFRAME_DRM | \ + DRM_CONNECTOR_INFOFRAME_SPD | \ + DRM_CONNECTOR_INFOFRAME_VENDOR) + static struct drm_atomic_helper_connector_hdmi_priv * __connector_hdmi_init(struct kunit *test, @@ -192,6 +199,7 @@ __connector_hdmi_init(struct kunit *test, DRM_MODE_CONNECTOR_HDMIA, NULL, formats, + DRM_CONNECTOR_ALL_INFOFRAMES, max_bpc); KUNIT_ASSERT_EQ(test, ret, 0); =20 diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c index 07c91b450f93ab9e795d040d6f60f485ac71cfe8..2098d04c95e7e733307c90bb9ab= 5e2631f6f5df0 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -556,6 +556,11 @@ static int vc4_hdmi_connector_init(struct drm_device *= dev, BIT(HDMI_COLORSPACE_RGB) | BIT(HDMI_COLORSPACE_YUV422) | BIT(HDMI_COLORSPACE_YUV444), + DRM_CONNECTOR_INFOFRAME_AUDIO | + DRM_CONNECTOR_INFOFRAME_AVI | + DRM_CONNECTOR_INFOFRAME_DRM | + DRM_CONNECTOR_INFOFRAME_SPD | + DRM_CONNECTOR_INFOFRAME_VENDOR, max_bpc); if (ret) return ret; diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h index 76e05930f50e00f6ef5999b3f5a476215951028d..a3e3518905a06835f61a1a60bd2= f165820f57918 100644 --- a/include/drm/drm_bridge.h +++ b/include/drm/drm_bridge.h @@ -788,7 +788,7 @@ struct drm_bridge_funcs { * * This callback clears the infoframes in the hardware during commit. * It will be called multiple times, once for every disabled infoframe - * type. + * type. It should return -EOPNOTSUPP if the frame is not supported. * * This callback is optional but it must be implemented by bridges that * set the DRM_BRIDGE_OP_HDMI flag in their &drm_bridge->ops. @@ -799,7 +799,8 @@ struct drm_bridge_funcs { * @hdmi_write_infoframe: * * Program the infoframe into the hardware. It will be called multiple - * times, once for every updated infoframe type. + * times, once for every updated infoframe type. It should return + * -EOPNOTSUPP if the frame is not supported. * * This callback is optional but it must be implemented by bridges that * set the DRM_BRIDGE_OP_HDMI flag in their &drm_bridge->ops. @@ -1205,6 +1206,13 @@ struct drm_bridge { */ unsigned int max_bpc; =20 + /** + * @supported_infoframes: Bitmask of DRM_CONNECTOR_INFOFRAME values, + * listing InfoFrames to be generated by the DRM core. This is only + * relevant if @DRM_BRIDGE_OP_HDMI is set. + */ + unsigned int supported_infoframes; + /** * @hdmi_cec_dev: device to be used as a containing device for CEC * functions. diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index 8f34f4b8183d83dccd3e820a444fbf74fb6c16f2..7849a2343771ee869cd1e38b30f= 34d0c2237f4d7 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -1256,7 +1256,8 @@ struct drm_connector_hdmi_funcs { * The @clear_infoframe callback is optional. * * Returns: - * 0 on success, a negative error code otherwise + * 0 on success, a negative error code otherwise, it should return + * -EOPNOTSUPP if the frame is not supported */ int (*clear_infoframe)(struct drm_connector *connector, enum hdmi_infoframe_type type); @@ -1273,7 +1274,8 @@ struct drm_connector_hdmi_funcs { * The @write_infoframe callback is mandatory. * * Returns: - * 0 on success, a negative error code otherwise + * 0 on success, a negative error code otherwise, it should return + * -EOPNOTSUPP if the frame is not supported */ int (*write_infoframe)(struct drm_connector *connector, enum hdmi_infoframe_type type, @@ -1839,6 +1841,14 @@ struct drm_connector_hdmi { */ unsigned long supported_formats; =20 + /** + * @supported_infoframes: Bitmask of infoframe types supported by the + * controller and generated AS IS by the software. + * See @DRM_CONNECTOR_INFOFRAME and + * @drm_connector_hdmi_funcs.write_infoframe(). + */ + unsigned long supported_infoframes; + /** * @funcs: HDMI connector Control Functions */ @@ -2336,6 +2346,7 @@ int drmm_connector_hdmi_init(struct drm_device *dev, int connector_type, struct i2c_adapter *ddc, unsigned long supported_formats, + unsigned long supported_infoframes, unsigned int max_bpc); void drm_connector_attach_edid_property(struct drm_connector *connector); int drm_connector_register(struct drm_connector *connector); @@ -2488,6 +2499,21 @@ void drm_connector_attach_privacy_screen_provider( struct drm_connector *connector, struct drm_privacy_screen *priv); void drm_connector_update_privacy_screen(const struct drm_connector_state = *connector_state); =20 +#define DRM_CONNECTOR_INFOFRAME(type) ((type) > 0x80 ? BIT((type) - 0x80)= : 0) + +#define DRM_CONNECTOR_INFOFRAME_AUDIO DRM_CONNECTOR_INFOFRAME(HDMI_INFOFRA= ME_TYPE_AUDIO) +#define DRM_CONNECTOR_INFOFRAME_AVI DRM_CONNECTOR_INFOFRAME(HDMI_INFOFRAME= _TYPE_AVI) +#define DRM_CONNECTOR_INFOFRAME_DRM DRM_CONNECTOR_INFOFRAME(HDMI_INFOFRAME= _TYPE_DRM) +#define DRM_CONNECTOR_INFOFRAME_SPD DRM_CONNECTOR_INFOFRAME(HDMI_INFOFRAME= _TYPE_SPD) +#define DRM_CONNECTOR_INFOFRAME_VENDOR DRM_CONNECTOR_INFOFRAME(HDMI_INFOFR= AME_TYPE_VENDOR) + +static inline bool +drm_hdmi_connector_supported_infoframe(const struct drm_connector *connect= or, + enum hdmi_infoframe_type type) +{ + return connector->hdmi.supported_infoframes & DRM_CONNECTOR_INFOFRAME(typ= e); +} + /** * struct drm_tile_group - Tile group metadata * @refcount: reference count --=20 2.47.3 From nobody Thu Oct 2 22:52:49 2025 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 1FDD3352066 for ; Tue, 9 Sep 2025 14:52:21 +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=1757429543; cv=none; b=VoAPQM2BmZnrFkWwJQ3IWiP7otH4CMTsWSVelLGnFSEhCqKzhOPBnCA2O4DXtvkZxXyeYye+fFFz77tbpHtPBqd9aywuGcxxBNgalWD7rSrhhV5IoLLYPOOaJeKy47HlXCAj3+aWuwrrqNQt6E7S7rL9NmekS4wlj5I4n2Sii6o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757429543; c=relaxed/simple; bh=HknzX0xAST5U5QLgNvfO11z5aVo3wOUQOzJF7QU1MaI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=INuuqg+V1bhQUSVHsjbKWqp40Uv4CFBvu6SzYrq1zBANOvVM9LZZhhqaP3XaCBnKYuauJuxi2cN4P734c2JJUO6//E/77Tz2bR4OzRzwktwajVIzn10Hd4nGF3ry1DLLKW9mMCWbPoBdhBWGp4yhnyCwLs00PUstFM9Zid/dmvk= 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=dE3M6rSJ; 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="dE3M6rSJ" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899LRdp032042 for ; Tue, 9 Sep 2025 14:52:21 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= PE+T/FZyuTmpvyf7ua/nvmZNTNQAEt/0dfhmApWw+vg=; b=dE3M6rSJ5PgGEMhe RuFknfV1pMtgdva4C58/L5YBG0c/3x1O0gTcymygz9Jrj6ey0eX5G83og2CHnJA4 zeqFReSVAgfm/ag1z76O9HZpIZgnLeoWsQ8cGKRRL8XnCDD2QZUPJ4Y8e2ekBcc4 /4qdHhS39lfzHGuzirN4eUjrGBw8Yy/sceJw6boWKYFag0J4JwCzvQzXMpsOVrgf sNh36Gt6G3GjIBrqIaImqtkvdodoVnulx2qQdECLQmo40A/WFFVw7tByGfykIU0P ge0BzjmRriKxxYlX93ia/IEylKEnaLUv8Z2Fg0XxF5IEQGLAS0OQZPf2AQT3FSe8 xiNMnQ== Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 490e4m0f59-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 09 Sep 2025 14:52:21 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-70fa9206690so113499986d6.0 for ; Tue, 09 Sep 2025 07:52:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757429537; x=1758034337; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PE+T/FZyuTmpvyf7ua/nvmZNTNQAEt/0dfhmApWw+vg=; b=eTJrshFeRHeUBrmX2stY4kLFKD1884KnCwDwc2eURwAK2zc0zF2Qim/kwdmLVOqVK6 UpwaSyQUdxqpw8vGCYsWYSg26OMO06LRaT4s0cZFt7EkJvIpH7+2U6btPdo7CpOsluBR oBWs3pxiHqqikm9zeZSRHzUevQFENgncC5F3bzXYeAaOteFBUM97sCXEYGtHvGtvOq/R v0fF0LdkVbt0WAvyaz+Xd/5400r+k5mIUx6adwcehqlRh5ZOU4Mv140eunLZq7wfTJC/ BCd+joCZZbeL0y080Nd/IzFlmf/xt//nBN75vkZHmhvPslrrAccRobpyOL7WENi6ufup sQbQ== X-Forwarded-Encrypted: i=1; AJvYcCWH5nDY/ka5zgXwWTqUzd8vFLf43wffLbBnKpTb8zYvmqcmWZ5O7bKjjriyxXF4cvE88KWKQNSgAXqJdF8=@vger.kernel.org X-Gm-Message-State: AOJu0YwcH0whk0zYvt6lBZEydg9WaWx82RqvEFkfpOLdj4mebDjI+q56 cYVPd6vXp9hxALg0xEIPoswSkM/dm//GLZ9TfUw9zvBc0ALhKBhsvpcWDToHubWb+L8novUR0Cw 5s26F6mlT+McfOkc6D5A/9HU5KqJDFfFkCY7ef21WEQy9YWkF5KjypzOOUrDMZKNKoA4= X-Gm-Gg: ASbGncuMrcIG28r945NiRuZwrLXkz9rOpy/dumqOt/JiLcyhgigUfeHx6BN7q97pphT Mqm49exX/VjS0VVkOCmZPnuLh1+HBwUfQtjW0oDGt1jN951vwByk0NUsb0cA3oWUPIHkyW/92+m bEFtvme06FHykWPOMTX7pKpFsAu6YBh+HPQZMzUZB7RnTv4upgVU+Sq+2nwtXazlfD0PBBuW+Sb qyXipBqzEe3kPXsPkjmyucjD5KJUZ41/OTeHzLjQz60+W+D4LBHRQaEMSCj8+lVDPew6CqM4c4f 0GsfzYOmt13YHum88ARqrQxbubJPyPM5zyR5M4527icexLQm+2eLO9bUHGfF49QG7lyE3MJHNgN dEnVCTvE9CxL+4GTalX+pWFaSCta48EaQafSJzpgDGydKJE5nzZ2E X-Received: by 2002:ad4:5de2:0:b0:722:2301:315 with SMTP id 6a1803df08f44-72bc4f93957mr184627866d6.29.1757429537113; Tue, 09 Sep 2025 07:52:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF6VRM/IqVRJKXO81d0zT+XPixBAwFdKLiapVJ34MeMBozB2in+dHoYjUEUQ6Ok2p00fI7S1A== X-Received: by 2002:ad4:5de2:0:b0:722:2301:315 with SMTP id 6a1803df08f44-72bc4f93957mr184627466d6.29.1757429536407; Tue, 09 Sep 2025 07:52:16 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-337f4c90eb9sm38735781fa.22.2025.09.09.07.52.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Sep 2025 07:52:15 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 09 Sep 2025 17:52:00 +0300 Subject: [PATCH v4 02/10] drm/bridge: adv7511: declare supported infoframes 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: quoted-printable Message-Id: <20250909-drm-limit-infoframes-v4-2-53fd0a65a4a2@oss.qualcomm.com> References: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> In-Reply-To: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Samuel Holland , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance , Liu Ying , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Daniel Stone X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1726; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=HknzX0xAST5U5QLgNvfO11z5aVo3wOUQOzJF7QU1MaI=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBowD8aH5xYcnrhsuEgstp3NDxwVu4bKX6MZD2EA 4Yu1jcDcBGJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaMA/GgAKCRCLPIo+Aiko 1TL+B/9MGL4mOR5FQjVfkhA/rQpcknnZoUMUAO2Gqv9h5Cz3u4e16jwPuv5boINoPhZebsK2s+y BrjiL1vqNJBOSO/UTkOjx/0fS8qhkk3L5Yv+bNbRqKEfdkUhtA25C8oq5pcAK3F8syC7y4p7S54 /gF1zO66ME26uY668yT5CVicNHoQ+CGhnN51eeDSMSu69RotLmN7ZhVaUrnI+eeCkKs5zbqyZKN NIip2uT0ZPB0mWKx9MTQae77WC4y68wdJUpmh7jQklseJFf8M2MUTedWFV6PvWAs1vBjl3henPA rHDVrA+r1ygL8hZqca9H5UpXs3QjLHc65unr3Y/miZKmpJ0n X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA2MDAzOCBTYWx0ZWRfXynVTDudUg9/2 uPjCG7iP2beewoeQ6iPnkrTeGVek2JlRim6BQ4yZr0Kr7jIO3TG2pT7/yfZc62qRBi4yS8IpHbJ XuTtinelVnDBgkrsTgEAv0XiNZ0CtJknUkQFJbMz8YbiEZA3FtdXTwVnwOawWl14GFySWGfCV1f cky+Pyvohtco1dDejpGLEnkaZaAJ/BweDMZ+uOf+qVomBBlfRY17N0iNZbgely9km8+kXeSbaVI zs/fIsGbJcEUD9oUEjEUmakG5RihH2htxWQY340SYAQau4hgSNiiLAnuWA5ZGf9Kb75J1L6ZRwq s9t07QZaRD48KVDQ07VsS+WfxEAcK4TpvaoPCpEMXYpq0TcZgcJWKhCRCRZ0e94apw5E0bCbTow UyQnycDw X-Authority-Analysis: v=2.4 cv=J66q7BnS c=1 sm=1 tr=0 ts=68c03f25 cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=8AirrxEcAAAA:8 a=QX4gbG5DAAAA:8 a=EUspDBNiAAAA:8 a=2sjEEKaKrRP40jhUrFQA:9 a=QEXdDO2ut3YA:10 a=1HOtulTD9v-eNWfpl4qZ:22 a=ST-jHhOKWsTCqRlWije3:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-GUID: 980mYPj0fy_MVhyn9ZekIekcYiqnxAGp X-Proofpoint-ORIG-GUID: 980mYPj0fy_MVhyn9ZekIekcYiqnxAGp X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_02,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 clxscore=1015 spamscore=0 phishscore=0 adultscore=0 priorityscore=1501 suspectscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509060038 Declare which infoframes are supported via the .hdmi_write_infoframe() interface. Return -EOPNOTSUPP if the driver is asked to write or clear the unsupported InfoFrame. Reviewed-by: Liu Ying Acked-by: Daniel Stone Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm= /bridge/adv7511/adv7511_drv.c index b9be8654130758e69ac7ccbc73a82cc25d731a5c..280a5f82ebb0c792a0667e9f55a= f103f29ff2948 100644 --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c @@ -907,7 +907,7 @@ static int adv7511_bridge_hdmi_clear_infoframe(struct d= rm_bridge *bridge, break; default: drm_dbg_driver(adv7511->bridge.dev, "Unsupported HDMI InfoFrame %x\n", t= ype); - break; + return -EOPNOTSUPP; } =20 return 0; @@ -967,7 +967,7 @@ static int adv7511_bridge_hdmi_write_infoframe(struct d= rm_bridge *bridge, break; default: drm_dbg_driver(adv7511->bridge.dev, "Unsupported HDMI InfoFrame %x\n", t= ype); - break; + return -EOPNOTSUPP; } =20 return 0; @@ -1328,6 +1328,11 @@ static int adv7511_probe(struct i2c_client *i2c) =20 adv7511->bridge.vendor =3D "Analog"; adv7511->bridge.product =3D adv7511->info->name; + adv7511->bridge.supported_infoframes =3D + DRM_CONNECTOR_INFOFRAME_AUDIO | + DRM_CONNECTOR_INFOFRAME_AVI | + DRM_CONNECTOR_INFOFRAME_SPD | + DRM_CONNECTOR_INFOFRAME_VENDOR; =20 #ifdef CONFIG_DRM_I2C_ADV7511_AUDIO adv7511->bridge.ops |=3D DRM_BRIDGE_OP_HDMI_AUDIO; --=20 2.47.3 From nobody Thu Oct 2 22:52:49 2025 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 C844635208B for ; Tue, 9 Sep 2025 14:52:24 +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=1757429546; cv=none; b=aeAmi/7kXGz2ZwxBwmrVGD1zJLoK2icrSGHUHDyaBbgqzgXi3FeEUO7LfZLmDLwWwbWHXbkP+FymkQpA9faB2ltB4MIWc9J0xhwWw13hCGDgcetE0xKXy30s1mlLb00i/H1M3fxW0NLBooGIEQJ6HlOFN5ZdH2uLNT6+5qxk4hM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757429546; c=relaxed/simple; bh=9B1/2qTsNC+xeCfao5KJMWH14J8iOYC+FCFWS/909HA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=n4Ys5Bt+KTkuZMtP2RftUI2tAgzsKa99To5m8JnnxpYPzdSxqpfaRJUv60w0SXs/pnX27bHBVXKVKvpZzKoa9f+7rIjWmnlZrkdlR6yriU3HaE2dOIKotjEb0dPGppuZ9vey72VetrXE9eC9ohWbR2f0QpDhx2omhqw+qijW+QY= 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=Gb8P3eE4; 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="Gb8P3eE4" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899LSGL031513 for ; Tue, 9 Sep 2025 14:52:24 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= 34LbrOuc9PV8gpgeFWji3D+8fqmNkyUhv1A+EV+DDe0=; b=Gb8P3eE44KD5hhqK Pt7qz3acDht+w++2bwApYrOeR1zDzMzr4GbjemiUmx2GBg4v++SZ/m9IRzuWVOmv 4Ru4VhP3y997kggPFSIEJn1ZYycaxRKce0Q+8EHh/POZSHSkCCzFdZo7gfD8KQxn KljKhF+sonsmGb0RCg/q56gfEOzetUb+Ao/KW2U0WU1mGewvL7Gc2TxF/nP4WW0W bVsz4NSkzexW5ncIgwUuAaXDTtLawaesIIIrk63fGhIOElMbKKosGAJ0neOEU8ih FBP2ZjzY4YzhrMFidHi1fUInXdEDmbS5DCf8xn6VZe5ypXhHNqLI2riT+ESkNX8f pWHu1Q== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 490bws8pt8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 09 Sep 2025 14:52:24 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-721094e78e5so60750306d6.1 for ; Tue, 09 Sep 2025 07:52:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757429542; x=1758034342; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=34LbrOuc9PV8gpgeFWji3D+8fqmNkyUhv1A+EV+DDe0=; b=dIsBEOXxCXWQPV+ksLkhCSJk8pszvPGwKQtp8t14nL9//NBkgqiaeh8QLHchENnA60 1vgR404MYB0vmLT1NRnXoJf4Oi+RaH1FIekceKbVIchzbA7Xc74MIsbe65t90MS4GIwd f2yVgAUwHNzu0HlJ9+qo7Wak3GtU/xilQcYX3t4+3J2Elh7Vhud/OTvn8f+QiMOSI1qX At24EW4dOnYVuLK2CvrrAcDYAvyUeRoUh+T/qtfYHVGrP+teFjjanKTeD7cHeGD3xEcC 6mps3eWObheJ25zTXW56zbHm1bJj57nVkViLBQR3MFWKhwWy+7YodzMHDNXBncB+G4wy DhtA== X-Forwarded-Encrypted: i=1; AJvYcCWH+pzji3jiFsIoHi7T0qA15tYgJBo7z6lHgQJp2fRJ/dem03Mf23jBOX1crjhQIpPdFDX8HkNmCVF6wQQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxJ3X0oLyRa4qzUf6SZIqvYeeprTLsba1i8OQrZni+Md97lI8Iy 6kdtV58T1zU1Td4PCvpPaLRx/wVq+5d2hFQt92jr2EzbasvsjkO2x8bb7PgRuKVTkCbtAYndjq5 Jd/1hEFXeVEeRnFebuGPFqpaL+dzxbKQXupotXeZ6vYd4q0dHzumGWTdGvfxILh+w4rICLuCqqH Q= X-Gm-Gg: ASbGncse1Aa5yoJ7wRirKgfjiNRmzGku+hO+rEVUA3e64Z8ueV0VTomImg70GS+DAzz JJfbySiNTrBUKrB+JZF1ObELy8x4Yr9ZGv6W07cFQ+yqfwgjiaTbOFvjgyveeKWQHKH55H03HKT nvVkKxIbaPCKuIW1WxkuZYgS6EbV2H/BfqrX4dT8xi3bmgUxLyyZ3kgLil2WBtbe5QQePrzDePK VwHOTJeDOFVIIPhqzv55j8YcmqDAfZCN14zYEZdNAHj0N4WppwL7pQEaaNMoOh44ZWLOFN82VIr fOPXw7k6BqCtqmVcEbwQ8KkjeA7GJr37g2jxzmOzrlpOWrEcA3wHavhod65lndmaJ3sNZ15ksjv SKItDSS9UN7g+UtdXmPYCseFu9+87np1oxZ0uc0IklrNh0dqQ2ew+ X-Received: by 2002:a05:6214:f2d:b0:72a:f29e:72c5 with SMTP id 6a1803df08f44-739323029c7mr114734656d6.24.1757429542254; Tue, 09 Sep 2025 07:52:22 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGh1k0uLi0ygOtqikFQVXs3ESyNR9ERK9bgM+N6UK8XiQgh0Uz27Q0AH3gIz+YQMk0Qw5PEvw== X-Received: by 2002:a05:6214:f2d:b0:72a:f29e:72c5 with SMTP id 6a1803df08f44-739323029c7mr114734356d6.24.1757429541712; Tue, 09 Sep 2025 07:52:21 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-337f4c90eb9sm38735781fa.22.2025.09.09.07.52.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Sep 2025 07:52:16 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 09 Sep 2025 17:52:01 +0300 Subject: [PATCH v4 03/10] drm/bridge: ite-it6263: declare supported infoframes 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: quoted-printable Message-Id: <20250909-drm-limit-infoframes-v4-3-53fd0a65a4a2@oss.qualcomm.com> References: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> In-Reply-To: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Samuel Holland , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance , Liu Ying , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Daniel Stone X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1496; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=9B1/2qTsNC+xeCfao5KJMWH14J8iOYC+FCFWS/909HA=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBowD8a1S6w7PQRTBrbr0WKlt4RdgZG4QLR3D3nd Pc2+wIxe1qJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaMA/GgAKCRCLPIo+Aiko 1RFiB/9vPGLX4rCRjQOkWG3XFoRoxXAoe3goznIq2CFGqeijv1lUkS8knQervgfz0Mm0YJcdgjo B6079q8L+kL3ElAXr6Ik9sBD55c49g8MYAmAwSNSmXgmicEpVRkpmJm3YoQFopBBpGwtHMcQsz6 awXfwfZAXcZy/DsHrOA8ScQ2OCT6UQazu3yZQxVKVAR6PQ6ca2XywVk6BgueG/RiNPX/ViYky2g VY5mlJSG20WmymvEwJLnpRUZUvAVhq7KdAfh0a6TCCwbD2fitVEjQmI2Yuez8ejW4e0Zx785+Zu 2xEllX2NqZQx3EPNdpgno27vdf896pObSZfS/G2i9P9qiROT X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: G15ufYVV9C58-saMJWZhi3f2u9l6ckhV X-Proofpoint-GUID: G15ufYVV9C58-saMJWZhi3f2u9l6ckhV X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA2MDAxOCBTYWx0ZWRfX17WK27xvmhMc Mz1Xdh46M8Snj0iGTetIQL4gl4ZAo68THxKudV0tfCojQFUvSDTr4FhXB0otzXtY3973bXFprWD r3UCdmF57MQPkshD2Ui52hB1K8/reN8UCltQ1YrWb+m1Jqc7eA4Eq1Tq1ycCNcAXaG+MOi2LiOf Wx8ThP/v7H+fFtzcnTCETiSRZZXMemrOWhNikeZGu7ddwjmgy9Z3aEfJdrrDR9fbO+96AcX7klx I7zUUAer5n71BzhDjr9ZwIP7DjcMsCgtiT+Y1+T8Z+W7IROFqOd3GhQjKVZAUFgWaTnEOi/ddlq xZKdSlfWjtG6BzvnrHZLWOKU+L3+npL5Pa+iFw7dfSWSaiLNPPm1vcSTcWAsX+/awB1LVAV6UGD lQgwU3pL X-Authority-Analysis: v=2.4 cv=G4kcE8k5 c=1 sm=1 tr=0 ts=68c03f28 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=8AirrxEcAAAA:8 a=QX4gbG5DAAAA:8 a=EUspDBNiAAAA:8 a=LFZCy68fuonoWmFi_RYA:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 a=ST-jHhOKWsTCqRlWije3:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_02,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 bulkscore=0 suspectscore=0 clxscore=1015 malwarescore=0 adultscore=0 impostorscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509060018 Declare which infoframes are supported via the .hdmi_write_infoframe() interface. Return -EOPNOTSUPP if the driver is asked to write or clear the unsupported InfoFrame. Reviewed-by: Liu Ying Acked-by: Daniel Stone Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/ite-it6263.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/bridge/ite-it6263.c b/drivers/gpu/drm/bridge/i= te-it6263.c index 2eb8fba7016cbf0dcb19aec4ca8849f1fffaa64c..691e2d8a721bdbf99ca2dd49a45= ce508ee7d9591 100644 --- a/drivers/gpu/drm/bridge/ite-it6263.c +++ b/drivers/gpu/drm/bridge/ite-it6263.c @@ -773,6 +773,7 @@ static int it6263_hdmi_clear_infoframe(struct drm_bridg= e *bridge, break; default: dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type); + return -EOPNOTSUPP; } =20 return 0; @@ -813,6 +814,7 @@ static int it6263_hdmi_write_infoframe(struct drm_bridg= e *bridge, break; default: dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type); + return -EOPNOTSUPP; } =20 return 0; @@ -899,6 +901,9 @@ static int it6263_probe(struct i2c_client *client) it->bridge.type =3D DRM_MODE_CONNECTOR_HDMIA; it->bridge.vendor =3D "ITE"; it->bridge.product =3D "IT6263"; + it->bridge.supported_infoframes =3D + DRM_CONNECTOR_INFOFRAME_AVI | + DRM_CONNECTOR_INFOFRAME_VENDOR; =20 return devm_drm_bridge_add(dev, &it->bridge); } --=20 2.47.3 From nobody Thu Oct 2 22:52:49 2025 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 B97B9352FCE for ; Tue, 9 Sep 2025 14:52:26 +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=1757429548; cv=none; b=Fc7lDPW+p9Re9x+EQskFpObXIfME0N0mOLCg8LeeE95eyGEhWspXcEklUK9pQiqUpTObudn6E53d6aeD3IMLvJFu92H/wPbulilxASChOsHKdb81fTV/oDDI9ltpU0t2bB3O4rkw/9KOZu1nE3ebju+zrSfpvclSOjQDjdKbBmI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757429548; c=relaxed/simple; bh=UHf2bwt1HahWYSjc39yV+lZLDN/VOziYH17k6fxHegA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YL5zZc2D3IA+CtEW4A/03zorx9h/rMcChlUUvmAUcg7YuxSjeiTa8aKVLwEgR2iB1ElP78xYIJJGS2GhQuz6o54yzHZ0DwA6RLeNIgSNC2+wryO5MkgelVnQW0XlVwHG3/DHUoGhnIsKoaTIJrYptuCkld190/EObFrSzxu1VV8= 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=izj5++eI; 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="izj5++eI" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899M2h5002298 for ; Tue, 9 Sep 2025 14:52:26 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= 5XcVN4la18BIwaO+Gw7JIQ9/7PnLHljWUo62csPu7Ys=; b=izj5++eI83OeW3j+ lV+SOwHzoLSPiRWmCo73yMg0KmZZPc8mkwAtdeiIcizeR8nnTYEd2RCNYsY/w0+G aAbUTV6DA0kcfHdnH2UDbpkG34PYV22/AuSu/mbo8coycZW4c7NUqKbRO/rnNACl CG7leAvrXzxEjqhBJpxcryG0hhQ6J0wl9UHv4aZxALseIugZuSuT/BFqk9fYy0/a DXFeOxIGBEunloPcgtLbqavURcRDcM9NqmXGDo54C1b+A+0XornFwhs3rZpw5cXN KbV+HL6lCeDkQjbBw4q7CNWJ65kO0fspWQdy/tUmfgh9OsDJrGKnA7mfFSoMJwAx elV0Hg== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 490dqg0dye-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 09 Sep 2025 14:52:25 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-72e83eb8cafso91197246d6.2 for ; Tue, 09 Sep 2025 07:52:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757429544; x=1758034344; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5XcVN4la18BIwaO+Gw7JIQ9/7PnLHljWUo62csPu7Ys=; b=KsyWkUQeM6+iLXKHe5jgY+ND1wh5NC4pZBuuxzYjmi6o1ShU7XsxxBz0r3flsoEArW LTqaSodJPBEQipvW7dJd+4/uBkvMyj9j0s6m9Fx5kmqyQ7wRwsItlI5eHJBaZzaVx2hV VyYmshC6UZZlJuulUBWNE+jmWZnig9uoDN171QQvLxkLjRFJrlPDNRDxH4Cg7sUDcT5y x4vEJuXC1tN4Fgo021sXc+SBRjcMauf7K+vdY6Z9LDx7DuT58ObjbPbMIkWPBuB07tTA ZdX0x4/27O/SKoLBSN63qzFcDfc4qo+/atDVHR9jNdGEAUhHqrvnnapsaPGZxbGCra8/ N8pg== X-Forwarded-Encrypted: i=1; AJvYcCXD4oEvje7h1fcfemYOoA2mk7OU9iFffly92uV9fw8dac6TWHCZItdIncOZQboqyouo7I+6Q3oTUvBUizU=@vger.kernel.org X-Gm-Message-State: AOJu0YwegWaCFQ3PZT1pShO8yJII8qan9Ee5vBIVdORv0Xw3MFV9RIQ6 T/wdPC1l9HNaYGgl1PKfXdX1i26kic0SFHEXMSbiYJBy8CEBOr/NsVsqjzyscTj9v+r6tzHqb6O r+oBjwOSzno8dMZAGM+HTlyPgvZ/bZVXqwZ6CMUoDftksFJLIuA+cFj/2xCxsDeLza2A= X-Gm-Gg: ASbGncvtrRs/LZtMSiyyPzE+4hsd47pWn463qTEc9/dHOt8E91wKHkCoubYuqqmcyBr Ts436k1LMtE7tdOiTcTB4GFKfumVJ8Je3CsuCzCbSCfG3l6avfD/4gTmXqZkawg0bLDsNXflfwZ UK/jyoAKAzZibuimnmtNIjkNrgRck7Vyn2FOxr9jEU7WpFQS6cmVhn9GINp89znFjGwH9cbrgky An8JwGoBOk8SHBkU6DG8jRIwnqgWPNCn/SMR0Y+UoC+k/pFqMfXRx4Rr/dP/Gz480oGGW/d4NNy 6edYH9rVBPrkhLYa/N3giwSGeKu5PYBOKzTSRFVXGoXB8hoBkoagpYdJkgVQ2w2Wyw710JwHeuE kTkIXOv+DxcYzGoBIXgiXhj2BeYQtg2zO8A8nnNaZREhywaZ/c6ll X-Received: by 2002:a05:6214:448d:b0:741:12df:785b with SMTP id 6a1803df08f44-74112df7c16mr114471396d6.43.1757429544076; Tue, 09 Sep 2025 07:52:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE3qcUmc5HWgaItJBSMTFOPrjz9C1oV8lSQudH4aunMS3xSVXsDfkPrjvpJJ3ZzD90MSTY/GQ== X-Received: by 2002:a05:6214:448d:b0:741:12df:785b with SMTP id 6a1803df08f44-74112df7c16mr114470966d6.43.1757429543548; Tue, 09 Sep 2025 07:52:23 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-337f4c90eb9sm38735781fa.22.2025.09.09.07.52.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Sep 2025 07:52:22 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 09 Sep 2025 17:52:02 +0300 Subject: [PATCH v4 04/10] drm/bridge: lontium-lt9611: declare supported infoframes 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: quoted-printable Message-Id: <20250909-drm-limit-infoframes-v4-4-53fd0a65a4a2@oss.qualcomm.com> References: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> In-Reply-To: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Samuel Holland , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance , Liu Ying , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Daniel Stone X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1743; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=UHf2bwt1HahWYSjc39yV+lZLDN/VOziYH17k6fxHegA=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ8YBe6mOiGmmn935q5ct0cr/1pS1u83FZ5P13mkK/k89p azua//tZDRmYWDkYpAVU2TxKWiZGrMpOezDjqn1MINYmUCmMHBxCsBEAuTZ/2fxTphaase6a52x 1oaTii/vV/TfvytiaMfGldjbGWgZYH9IRNfivDu7klVbM69V5pWcToEHezsZP0/Ke8Hklx9XWGF U1DXfrp+78se8z+v/SU+zv7VzBWOSMmtrQ39OtLml+TUW0xclu5P0Rbnfbeq4Ulpy75r6FrNT// V2rdsewHFOepogxx6zj3PP9zLlhZXMUJPPvBa6tJz147wmyy5XQ0OHuEkCc+5a2om/3/Z4sXH5r pczrnzn1GcPfpmruPKrveGz0mcMv9qvrWzr/V4kzrPWtsBw+oHIu9LLN15OlGXwdD8mHFBWveqM UK1S4KQ6xZUsB/Y/zVnW88I622/h77iPW1/HpF8J5NsMAA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: Ye8BJqW0NSbtHQFTaCtRNtKLMB58_Kfi X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA2MDAzNSBTYWx0ZWRfX80zQL8lMr6Ac krXBeTPcHf5A0altFLRJs1c0GFCU6N86D5ucqg4hxrD92UPY51ixBeTgKhUmTdRSjKUj3NbwNF6 rbYn8Fg8s/WVASPyetTN6ua6NMPeRvHSMYVUHGWC+TESfWXXdSLSkCA6nWkWh5EiXqAMN6iOYhb 8oxwaTuXj1dDPZzC24jOKYhU4gb9Xq0LFghXw9OaE7yCDQS8DSgK6bUAP/DbazY3GPDbWIO9k+G D3yX8CKDxtvhzJSHoBqEWlcsssvLl8i6MzcF3U8izLIjS7/OiIYT7l1WzLcqVsyrWFZctdwyDnQ ZlUKOkVtrQkvvE92Al2ePmx4LDE2Cs0aGJp9mED/DN/M6RONSDqwsVW3zt3WpjEepuD1eu3WPM3 CStSJqVS X-Proofpoint-GUID: Ye8BJqW0NSbtHQFTaCtRNtKLMB58_Kfi X-Authority-Analysis: v=2.4 cv=N8UpF39B c=1 sm=1 tr=0 ts=68c03f29 cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=QX4gbG5DAAAA:8 a=EUspDBNiAAAA:8 a=AMvF8s34Jxw15HKoVo4A:9 a=QEXdDO2ut3YA:10 a=OIgjcC2v60KrkQgK7BGD:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_02,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0 malwarescore=0 clxscore=1015 bulkscore=0 suspectscore=0 priorityscore=1501 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509060035 Declare which infoframes are supported via the .hdmi_write_infoframe() interface. Return -EOPNOTSUPP if the driver is asked to write or clear the unsupported InfoFrame. Acked-by: Daniel Stone Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/lontium-lt9611.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/bridge/lontium-lt9611.c b/drivers/gpu/drm/brid= ge/lontium-lt9611.c index a2d032ee4744715b88eb66883edf69bab4c274b0..019114eb343764dbc3da36ab02d= 53ece11f46adc 100644 --- a/drivers/gpu/drm/bridge/lontium-lt9611.c +++ b/drivers/gpu/drm/bridge/lontium-lt9611.c @@ -870,8 +870,7 @@ static int lt9611_hdmi_clear_infoframe(struct drm_bridg= e *bridge, =20 default: drm_dbg_driver(lt9611->bridge.dev, "Unsupported HDMI InfoFrame %x\n", ty= pe); - mask =3D 0; - break; + return -EOPNOTSUPP; } =20 if (mask) @@ -911,8 +910,7 @@ static int lt9611_hdmi_write_infoframe(struct drm_bridg= e *bridge, =20 default: drm_dbg_driver(lt9611->bridge.dev, "Unsupported HDMI InfoFrame %x\n", ty= pe); - mask =3D 0; - break; + return -EOPNOTSUPP; } =20 if (mask) { @@ -1136,6 +1134,11 @@ static int lt9611_probe(struct i2c_client *client) lt9611->bridge.type =3D DRM_MODE_CONNECTOR_HDMIA; lt9611->bridge.vendor =3D "Lontium"; lt9611->bridge.product =3D "LT9611"; + lt9611->bridge.supported_infoframes =3D + DRM_CONNECTOR_INFOFRAME_AUDIO | + DRM_CONNECTOR_INFOFRAME_AVI | + DRM_CONNECTOR_INFOFRAME_SPD | + DRM_CONNECTOR_INFOFRAME_VENDOR; lt9611->bridge.hdmi_audio_dev =3D dev; lt9611->bridge.hdmi_audio_max_i2s_playback_channels =3D 8; lt9611->bridge.hdmi_audio_dai_port =3D 2; --=20 2.47.3 From nobody Thu Oct 2 22:52:49 2025 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 BB8A3352FEC for ; Tue, 9 Sep 2025 14:52:28 +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=1757429550; cv=none; b=lxSjHGdX7zmj02g04MIz2lRAhUFBl3JITe5m47dWObPgTjjCiztcY+onSraM8evZSfT1tHJOLlu0Q9/ILmJU6c+hDXscztmMR3tMfbOmqC5O7Nh8tO0zBM+ooR07917s/7OiC9TD2iu0sgL/m6ADptaJlaxdyvfFTsgInV8KxTU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757429550; c=relaxed/simple; bh=Aq2mDEHmgp1SiIn37OLqW93okHrHKspB826EOGNpiU8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VMJlSjil8WG9N86otwLhgcs5lt0pILv9KH+7wOX00MOFHG8ZckCZJYsIDwtP/2/AGdmBAwIQ/da5LTSZ7KMmZCuGjBOWgSzG63vFRmzztEDuAiaEwrdZZ+V/DOjPAxZ8rVk4hmtzyBnW5QnEjUp4W098xjKU23eSPYdnx+VHJmw= 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=KguWA7JR; 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="KguWA7JR" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899Lhxj029929 for ; Tue, 9 Sep 2025 14:52:28 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= kdVSeIKuXTDzsb1f8YtSPNgLNA0VYyyck2+ZYEf3zp4=; b=KguWA7JRiHwdSubP gIgUX5U8rJR9evqjY/OTKPWycFLytfleVbA3JGx05fJeSXD3vvydeTWKz22i+pBd JuYFQbNhLbrnJZnDJjMkqNtTMOxstH+8A92uqWWw3Vs79nIlSufsK50wv/MGonH7 MNKOUI/ayf5VG0UijxTtaTt7KxTJ5j0IN3FvF4gW2x0GIiL9jffURHxo+WmeMCWb p6kbZqrnQj1H3NOT1ARpzJ5mFYj8KZwPyPUaGB0GXAqEv3FIAOc2cDjtp0OnBZXe /rMUikho++7PUVS/Ajssxzic3MbohvRDyedLi1TGyRxB6EWqv75/SrFaYrL0OFqX Ws/yFg== Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 491t37w20s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 09 Sep 2025 14:52:27 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-70fa9206690so113501656d6.0 for ; Tue, 09 Sep 2025 07:52:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757429546; x=1758034346; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kdVSeIKuXTDzsb1f8YtSPNgLNA0VYyyck2+ZYEf3zp4=; b=M4JY2pjQ/pfV3GdHAwQDm8wt9EzeVFVEqVJjDMz1Sxz0gs2bCe1JZzjMMqAs/kRNJB mT4xdTMG0QccTNBi47qE2iR5ORGPnUi+QxBTw5XHVbEiaIuL0AzEIq/vgIbeCDlhIXXo kfrlTIM7JDuccKeO4qfckdOrUr1669Spo9Un1w7lSmmE0DcLeTmh8q7JjLl1lQrtiXOM n30/7dUt/H6oLHyzEiRVTWL2bx3Wl5gY25a+H/bq5yB/1dkapi3SxolZ3kypjZ5IpVVk bviHQLYC8/4H2pfT04ZFNBLmOHlHUuuyHAmRz5XHDz/cN3HP9LSho/JGpBLM3j/dTHKz 1zXg== X-Forwarded-Encrypted: i=1; AJvYcCXfzZBBgUcE4fBJ+zaaDmVdz/kbNzTClUBlEl4onefKRCcORjZKI/O8EMtVJ1I4+n38SA76GUtPqTRfsoo=@vger.kernel.org X-Gm-Message-State: AOJu0YzTsAGnD762aQhMCH3NvAJNZlx81Kbtg5SfVsdRw/8G5ec4VvDj EfZ0HI6LP8tQAx7LKH00TISFdkHKrx9YgSJ2WEtS4LMh/o1r+/Dq79F6zbca6j6GyVpSyqZ6kcd cB3tTvF7oTYHZwRCWCKpDKoIarvOt+r2nZs8aSZrVr8FsEzyy4AxDW2O6JN8w/ypz1AvADBPsQg U= X-Gm-Gg: ASbGncvpUGi8oFalwBdLJ2zy6NWwviyc5dvjUdHS5raHvalGsU3xFciEwTeoPCaAEVG YKUejAJYCph0M4fbEr8gfmeNeit94PShHX2VlmrMKcE2di13fCtvdUzSNc48ZYPe/JbyA2HTSzP UBjR1OEzpZtV4p8388u3xojsDEa1Uy0oc6Qnov7o0SPoob3FBAkK9VPAH+gwFWIYsmy+XIBp1fC z6cSaYOpGv2P1nkQR9IG7yp6L1ZN2vHDdyGyl2GrBXUMJQWeB4WGN/ux7hnCnLGveMwhAaUBBdO TBfdxnHXz9Sx8d0W/rYuH84XQZ281qEzX0mB+LtPsU3mNXPKmvltNWuYNMTS7uTeGmt9sIRRUgd bmE4IxMmghfOFLCkeSb3YV93A3OE4OebfMLk4XjznL0WR+BIaCf79 X-Received: by 2002:ad4:5fc5:0:b0:707:6cf8:5963 with SMTP id 6a1803df08f44-72bbf3fb0b1mr158064396d6.9.1757429545929; Tue, 09 Sep 2025 07:52:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE+0czZpNTxq9KgOE3QwkI3s44ERVHWu12W7OPI2XDlhVfpfdH+nJD0CIFl4aY+6gycdCccrw== X-Received: by 2002:ad4:5fc5:0:b0:707:6cf8:5963 with SMTP id 6a1803df08f44-72bbf3fb0b1mr158063976d6.9.1757429545199; Tue, 09 Sep 2025 07:52:25 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-337f4c90eb9sm38735781fa.22.2025.09.09.07.52.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Sep 2025 07:52:24 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 09 Sep 2025 17:52:03 +0300 Subject: [PATCH v4 05/10] drm/bridge: synopsys/dw-hdmi-qp: declare supported infoframes 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: quoted-printable Message-Id: <20250909-drm-limit-infoframes-v4-5-53fd0a65a4a2@oss.qualcomm.com> References: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> In-Reply-To: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Samuel Holland , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance , Liu Ying , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Daniel Stone X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1676; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=Aq2mDEHmgp1SiIn37OLqW93okHrHKspB826EOGNpiU8=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ8YBe+mkx4yTHKo7u9dMr8stfj3H6f7aW3MzQnfyHjz6Y d670FTJTkZjFgZGLgZZMUUWn4KWqTGbksM+7JhaDzOIlQlkCgMXpwBMxI6J/X+ugGhLp7fzDxHn IluFvF35U3R8m2zjXqrUcp+8eGctR8zvKoEMv2huvaqa0C7Gmw8y9KayMcf+b54ZxjJ9U0rci6M HOQP7WjLUmt1lLnvpam+r5YpQLJ2Xc31u+95Tl7bdPdhbN5ujXq7RXfdt383Ud3UfbCZtXb/O+C b34cavM9/O9Z2vF+Dte+1uS2qCitekI3N5K9f3KzX1h4d9U5ALsLZjvPhW3X7rwx1CC3UX998Ov 5zOOMFx5oavPjJGdaZuJ914O63uJvJ3lNx85rzc8VzqX9ljM6/n2OsfEI+5E7Xhyq7lFyXrIufZ Xc6y/mFx495BzWAPF8GyjP+euh73dzUVJq1vuf97SkUoAA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: psdzLRvzqwY76Ny114pSmqwpzTFH898e X-Proofpoint-GUID: psdzLRvzqwY76Ny114pSmqwpzTFH898e X-Authority-Analysis: v=2.4 cv=NdLm13D4 c=1 sm=1 tr=0 ts=68c03f2b cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=QX4gbG5DAAAA:8 a=EUspDBNiAAAA:8 a=vfAEGMZ_7ZOHtlG3iVcA:9 a=QEXdDO2ut3YA:10 a=iYH6xdkBrDN1Jqds4HTS:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDA2NiBTYWx0ZWRfX8KeW2Hw1sgR/ uZtXuG+3ES75Pgp8/wbWRpTthnnGug8cU9o0ILVY8zEXYPulXheJmKFm+HBjApC9m3b32wGDjD7 Yk1B465HAXlJCfrSmlphE+3k8vS4p5DICr/a7isWblhnpuJ3Hs9wjFnI3R5VwCK8yRBvMz2CB8B kFvnOzfpOXAXpcCDZ9yTp0wPyZ/QVdGcXg6DX3OVAKijGi4DH/9CCLMwjNoXsTcg39P2MfxnDjv eoeELhNcYE6Ckw6AzNaLEPbe6VI4b1LC5FmauKtQ09h2Deq4hYzsv7CB/BEhXC6mjlwzZXwWpdi ozpNCmRBmg2nI0JfVmLCvxJUV3nf0OA9to60870TN9+Y4u5MokSIuxidRk8W1oufgDxPyvlDx1z BXbxfVKl X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_02,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 adultscore=0 suspectscore=0 phishscore=0 clxscore=1015 impostorscore=0 spamscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509080066 Declare which infoframes are supported via the .hdmi_write_infoframe() interface. Return -EOPNOTSUPP if the driver is asked to write or clear the unsupported InfoFrame. Reviewed-by: Daniel Stone Acked-by: Daniel Stone Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c b/drivers/gpu/drm= /bridge/synopsys/dw-hdmi-qp.c index 39332c57f2c54296f39e27612544f4fbf923863f..9a195c479bcaf112f67b6a2f085= 402d0e33896de 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c @@ -936,6 +936,7 @@ static int dw_hdmi_qp_bridge_clear_infoframe(struct drm= _bridge *bridge, break; default: dev_dbg(hdmi->dev, "Unsupported infoframe type %x\n", type); + return -EOPNOTSUPP; } =20 return 0; @@ -961,7 +962,7 @@ static int dw_hdmi_qp_bridge_write_infoframe(struct drm= _bridge *bridge, =20 default: dev_dbg(hdmi->dev, "Unsupported infoframe type %x\n", type); - return 0; + return -EOPNOTSUPP; } } =20 @@ -1084,6 +1085,10 @@ struct dw_hdmi_qp *dw_hdmi_qp_bind(struct platform_d= evice *pdev, hdmi->bridge.type =3D DRM_MODE_CONNECTOR_HDMIA; hdmi->bridge.vendor =3D "Synopsys"; hdmi->bridge.product =3D "DW HDMI QP TX"; + hdmi->bridge.supported_infoframes =3D + DRM_CONNECTOR_INFOFRAME_AUDIO | + DRM_CONNECTOR_INFOFRAME_AVI | + DRM_CONNECTOR_INFOFRAME_DRM; =20 hdmi->bridge.ddc =3D dw_hdmi_qp_i2c_adapter(hdmi); if (IS_ERR(hdmi->bridge.ddc)) --=20 2.47.3 From nobody Thu Oct 2 22:52:49 2025 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 23EFD353379 for ; Tue, 9 Sep 2025 14:52:33 +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=1757429554; cv=none; b=OB7pPWeDa7AIMsdX4KC/Koql/iqSO5YXZ3Q+z4nMUEb7OA1dIf7cej4IdHzYXNC/9JBqNDi7ElnTv33+uBko+jvt58rwph9pQ4/R1MOz+MQ45pbbmafyi+EmqUeTLJwJd8BslRMjS9+RTy1+1lJ+O/DhSSyxGG8nwt22dnTkgAw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757429554; c=relaxed/simple; bh=IJZghCboJx+n0r036AP0jF7y3adcwBpcry6IF9spRKw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oiJ2H+cpRymKKEoyP8AHm2dhlBb+XCCiPwaNSUyJlDRVVosP8ipcPHlCMGQESQQzdDQbcjeqxEsmA9SvTZsR+6uQ+7penNaENOxQk6a1HFMcdM1b6QFgRWYyBAROE+F7h+YpojZAka3rmQsHTOcgCg66I0lnsMW2Ngg75OAcens= 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=g7JfrdUk; 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="g7JfrdUk" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899LWu8029852 for ; Tue, 9 Sep 2025 14:52:32 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= Rn4+Wi525+F0z3MVcWKrKeV/0wAxSecqgj2MgM3DOG8=; b=g7JfrdUkeQXpz3WB OyCGDQ9wCTBCRS5rGQFEfBzOPiI+/p79Q2bFuHoCn5lQFzB6i4qKOOgDo8O0HqF9 XoQd/I3lBgRDrZgY5Z7WHV3lxMUZfEJA8rZlr4/DpAjL6Ab205xe7xOQdPI4MQpc 6VkHDPT8TPU+VHe5J90awHK/zwUMKMuubVcjQtxieSdinEL10JSq0V6kVJmbySt+ 7vtXwdUZtUnI6iQN1BTe7sNWRYGKCTI6n2NKdv8e632lyzitClUIou7e29TEgQEH QjcG6raauWUzdsWDvMb1oj+sUUWu2ow2pbXrQXCW4x56/6OhLCoiZW/D5NTVoMuu F+GMHg== Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 491t37w21h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 09 Sep 2025 14:52:32 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-7273bea8979so112092086d6.2 for ; Tue, 09 Sep 2025 07:52:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757429549; x=1758034349; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Rn4+Wi525+F0z3MVcWKrKeV/0wAxSecqgj2MgM3DOG8=; b=jV2FI6vDzsCRZ+pmSFNoib/4+e3mL4TBlrg6fuFFdBmaW9mzXxmuiv5e2gzEtTZoVt DsNPkwtnixfpkV2M2rBuS1QvoG+KUiMQFtO18i1PvFtBx5zdruXR9dof2PZItjSFvAWZ ZwsCxl+WsEkGxBJtK2kcMTCOd1rGAxkTSgN0VuF5jrpsH9oo5hbU969zGk/Rgb6jaoQH pBbdzFTOJB0O5oK3IdncIPkWY5App0PstqeGkVrW3AcqXjzvrvZ5+8O/GvN1iauEU7TE i6GBRoWPBf40vzr0EmeM+QforRId6W4oAJLt2Qzrefsjj8JRlbn4fDY1Lsk4LUAUTUaU Hsuw== X-Forwarded-Encrypted: i=1; AJvYcCXxGszGWUVjevYOwBhkfflZzy0AvGuhAG/3FpPKE8jLIBOCXEeSc/M7L0wsfhICSjgSgzC1vY30GzRGeuo=@vger.kernel.org X-Gm-Message-State: AOJu0Yw7ypqTgYDC42/gTlkstiB9K0C8MygL7dv3CtNTWLgloxwh+jcv AGzs8Pp12QK+A/f+LOcW688FBE8Gdf6aQpKcqe5TEVqWr0hGJiJmzO6OuivytTO/qBYjwx86Pm0 EEgf0b1UVlgD/hL2bkZK2j6+byTfo4APtwzYJg8+ljl06C6lDF5Pv/nQLGjuLEbYzmjg= X-Gm-Gg: ASbGncv8LANuvt4tv2MOX39gvBBUrFX8X7ZSEWYo6f9GHxW2DqmKRKJIRTa7ICYHHIY M9TP2zWLt/9Fnv24kZFV5iujdyA+ePPJTLlWuUEPxaZZ4ADgS2hVkYaIPUfGGQqC65mftT7L3S2 NUkU9Lbf8o3BpaVMGrKLkuQfgfp+Xfwofsl1PvQY2K7t8z0mBBNCpQ0r+tVZmJHe41dVOu62GL3 6myOtGTCoFabD9zy8Fd+Qeua20Fs6bsRmt4S0m0ZAdYt5bX9uMwucFqewGBlCnqU/uwdrG9Hi+z gRnKVfkCcqKxPZmXNuK2oUBwL2Ze8mdW5nguMkzq0PusCTmz7NWxpRarH5UA8Wcne6uQT69Se4a 0R/XRV4PrO1beVITSZssLSfiiXRHE5qcR8Eb/mM4C9Q4b88gI6oZn X-Received: by 2002:a05:6214:20aa:b0:732:10ae:d55d with SMTP id 6a1803df08f44-73919c9e239mr146165136d6.4.1757429548918; Tue, 09 Sep 2025 07:52:28 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEkZ1SyNAZOKwaZjgWGgZYNxsRKTBuelhQ+O6Fw6gKcHDoTAWyspctjVqKaotztS7CYCn5cWA== X-Received: by 2002:a05:6214:20aa:b0:732:10ae:d55d with SMTP id 6a1803df08f44-73919c9e239mr146164046d6.4.1757429547463; Tue, 09 Sep 2025 07:52:27 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-337f4c90eb9sm38735781fa.22.2025.09.09.07.52.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Sep 2025 07:52:25 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 09 Sep 2025 17:52:04 +0300 Subject: [PATCH v4 06/10] drm/msm: hdmi: declare supported infoframes 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: quoted-printable Message-Id: <20250909-drm-limit-infoframes-v4-6-53fd0a65a4a2@oss.qualcomm.com> References: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> In-Reply-To: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Samuel Holland , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance , Liu Ying , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Daniel Stone X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1717; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=IJZghCboJx+n0r036AP0jF7y3adcwBpcry6IF9spRKw=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBowD8b8ieAgxj637Sq4ws+QM7LjLkOdE7Yn4gby LcXsEN9pQGJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaMA/GwAKCRCLPIo+Aiko 1SNdB/4rCLhDfybuoskGcE1VGyhQHDNRop907iuQ/KfMohI82tNkUxmqn3fcViK1Dvdys80Wyfp VAFYFQHBID4DL59qRb5c/LSwkwDodGdGXF6y07zpgxsnTUegD7KDvUX0gzJjwgj9tZzVv/UQOm6 hFYKV1nXm6oA8QLpbayUSXqTlXnckkVr0Ihc4Za41VQ1aLTz8F/M2jqh+pmgwN9myyOiAZfrt8x 2+zvee2f6gaeDcRIlcvUKZ1zM/HLgIxJ91eERe2/sZ/wV6xMCw5TMRlCArGjeIHU+4Ha9MmneeG bl7XeBkt3LIIaXdjnUXmsUCAPLNsip2K9VKmZWaOQh8k09Hj X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: nBhRujWRWNQyGi6cRWggh5bv8MnUGeM- X-Proofpoint-GUID: nBhRujWRWNQyGi6cRWggh5bv8MnUGeM- X-Authority-Analysis: v=2.4 cv=NdLm13D4 c=1 sm=1 tr=0 ts=68c03f30 cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=8AirrxEcAAAA:8 a=QX4gbG5DAAAA:8 a=EUspDBNiAAAA:8 a=HI3Jv4oHZFu9xgwai2MA:9 a=QEXdDO2ut3YA:10 a=1HOtulTD9v-eNWfpl4qZ:22 a=ST-jHhOKWsTCqRlWije3:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDA2NiBTYWx0ZWRfX7DaE9cMPI+Ow 7lAIXzCWSSq7duVe2uiPQFvG6kZLRk0x6nSqG1NAkxgW9wuGOz8MvfVH4m8H7r+0QKxJ84aFeFK zXcqJwJa6QBIltd1nbL5XibW3v84+42bhAgg0vFOHDjXmE5B24vF9XA99NDYirTkO6uHc3zgDD7 1Ni7I0wCp/XiqtFHi+PiAlMd7MQko5vGwLjakriATwpqBcdexnVU6zwOkM1Ggvq/wVutZaMb4Qx TkuzFt9h+HyVZ2MlrF3rFFANRq0+k5ysQonn2TxcGz1/ZW+Hc0IelaI8D0XvqsHJwhZ+25HjmrG M1zJeo436mgug2VX7zq38xY6euKjV3gXDNl6ABitjFuJtiZ4/afOWBE5JOhKpPoPaz4vEGXShSx UcZ0mlS8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_02,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 adultscore=0 suspectscore=0 phishscore=0 clxscore=1015 impostorscore=0 spamscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509080066 Declare which infoframes are supported via the .hdmi_write_infoframe() interface. Return -EOPNOTSUPP if the driver is asked to write or clear the unsupported InfoFrame. Reviewed-by: Liu Ying Acked-by: Daniel Stone Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c b/drivers/gpu/drm/msm/h= dmi/hdmi_bridge.c index 46fd58646d32fd0611192595826a3aa680bd0d02..f6ba8032904187a2f169456052b= 0e4cbd60ab919 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c @@ -249,6 +249,7 @@ static int msm_hdmi_bridge_clear_infoframe(struct drm_b= ridge *bridge, =20 default: drm_dbg_driver(hdmi_bridge->base.dev, "Unsupported infoframe type %x\n",= type); + return -EOPNOTSUPP; } =20 return 0; @@ -274,7 +275,7 @@ static int msm_hdmi_bridge_write_infoframe(struct drm_b= ridge *bridge, return msm_hdmi_config_hdmi_infoframe(hdmi, buffer, len); default: drm_dbg_driver(hdmi_bridge->base.dev, "Unsupported infoframe type %x\n",= type); - return 0; + return -EOPNOTSUPP; } } =20 @@ -498,6 +499,11 @@ int msm_hdmi_bridge_init(struct hdmi *hdmi) bridge->type =3D DRM_MODE_CONNECTOR_HDMIA; bridge->vendor =3D "Qualcomm"; bridge->product =3D "Snapdragon"; + bridge->supported_infoframes =3D + DRM_CONNECTOR_INFOFRAME_AVI | + DRM_CONNECTOR_INFOFRAME_AUDIO | + DRM_CONNECTOR_INFOFRAME_SPD | + DRM_CONNECTOR_INFOFRAME_VENDOR; bridge->ops =3D DRM_BRIDGE_OP_HPD | DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_HDMI | --=20 2.47.3 From nobody Thu Oct 2 22:52:49 2025 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 25A0034F476 for ; Tue, 9 Sep 2025 14:52:35 +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=1757429556; cv=none; b=qPajExJXi00zHmSL5bu5KXrJ1iRLjoWwUl+TU4sg/ut287kV8vlipSOBN4Ef37qal2QPbzEWGBRg2Ohb/iYEpYL6/8jCOKO5JOb36vxZ6p/gqLw0OlJgZtpLbs7gpkJ3yEFMzDooQSe/o+y//Sjv/d9cWUq61FskJvdIyUR5bcc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757429556; c=relaxed/simple; bh=HjpahnDv4iWzcOH6N/sbIkmNRnbCe4ETkSttnmvYk9Q=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oqIVWDqSwxzCUnmGVUrZNWuOyNqab+LClmqhbjIdJvrYcfKAFhSfMvkhjR4ve3egk/1HjgSnaNJEzCmlUowELaX1nWKQFzLUD0/vCgP+K5e6pZeS0gqogAVIlLQMg1/nOu/VK9aVVvufmCRl1Ttk6W3Flr4xmyIwv/hOsaY8v1U= 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=e6TqS0/s; 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="e6TqS0/s" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899LmA3032449 for ; Tue, 9 Sep 2025 14:52:34 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= 7Ujv5iDRR/UPV1fz0cyEkNiBZUtwrZ71AsQeEvESnh8=; b=e6TqS0/ssnGW24VL j8HX5wKhyBO4sXU9zUir2ZnJHrVMlNS9axjvKQUU5CtMNGYCXedC6vV84tyvOIA+ JK0QHyo5ulNlBcwusOcfhes5nCG28AB4L+FdQ0RfNAo9VUvdV8n9d5pxvH+T2jPQ fywkM9O728VyETuFjOtXkcS67+njKXk9bb9i7prOjA+2W8ChQvUb6xKCmiN1jP/A N/a8zlM9PCHCdc1I4WO3ax+fjXcGUWD1zOmIOrgbQfpVHzoO7vQe5TBdR/GGV039 ilu/g+4fG7gVnFTOsM5UHbqO/miyayN87A9dvsx9NtJtLcfYOynsX+WZEbNsFQ+O G/d05g== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 490bws8pun-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 09 Sep 2025 14:52:34 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-724ee8d2a33so121202756d6.3 for ; Tue, 09 Sep 2025 07:52:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757429553; x=1758034353; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7Ujv5iDRR/UPV1fz0cyEkNiBZUtwrZ71AsQeEvESnh8=; b=ZnacKD/6IFBnqEsK62Tkp6ZOuP/tFMmlQuqAHlkNNmWOOS8X+0L42bPfgFZ/xJDwpD tCyd23aMylwbzeUh3HIaHZ0sPu+t1DAy25fgT+8hC0ihnkT/M1pj7qpMADNzXX3J6rGE I0LHXzP6RedvFS1Q8AEqO7JFe+s97oJZX/AA0a/VY1g5gA8hGKzMCzRQnMiRZeXL0avU 0exSEB2t45wlVZbjMIRXuTExGhxBcGCqZE2ppm7ax+Ohjj2XvwSVlnYJCdO5/bDAP2qQ nPY9ZxdEtTLNVkcVqPOWH/OwC06RP1rUtibmICkNYurexwdKmZ7PIr0U3oTfmysBTwFb p65w== X-Forwarded-Encrypted: i=1; AJvYcCXxkjF9y1x89Yr3F5k0vcO8ert1sAQ7o5rPmf1JZGPH27UBm1qr2h28Tfh0TSTson2w699RAPZPNQ39PVw=@vger.kernel.org X-Gm-Message-State: AOJu0Yz6diPhnTM8UucHmLf7MBig+4pQ7r9y6/RkcEp64kyf/yB/Eujw dyWhgtNlQ5KRpfmIsd1KqoF7YgcUIBeJhJXJUWShYZzv2sLrvvwSnjWGmCoK1VKJ6lEqHtaZIer N0micjEiy/ME7NMAMC9WITW4HgFqq8DsGyEWS429D4mLaV/QDPyuj9OaM4DHDU5vvrL4= X-Gm-Gg: ASbGncs0eM3VtguVXmKUl+ayzpCTxMGhl9+8EhVhXedY+jcIGVlqpq15eShKU2kOZq/ QWwia6697drUh3GjbnZTGvAt4Fc2ExxLzVMAq1R1KoJ0E5GndNlpXhIwNNhe1X32z7HiAGS0LOI YMwtuOQjBAKmhud6pu9v/FvIFwMG3GuD7J/RVTeYt2f2lIE83+FwRdU7kZGXQASkh7tFps+ERAZ fxWLCJriJ9FDKGQ5JSCisKJGZ3MLAckZbu+BUx/88M23Iq1bXSpAHicc86zTqaf+vcDFz5/8xon EZS18NQThSmUb0TvydZ/RqCHqUG2WRw3khHypu6gD/gAB1MDB/FCZOSD7RLX7WrCyiHNbRszkDy /IQTuMjg+250N1IhA9RUbbin/yhOEIkr3EjLvhYLf0Ae86RhPIY0W X-Received: by 2002:a05:6214:48c:b0:70f:a42b:1b60 with SMTP id 6a1803df08f44-739313a7cbemr151871816d6.19.1757429552565; Tue, 09 Sep 2025 07:52:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGDve4l6s2YkUOUAaxLOpnngg8qoLHCn/KPCMWaHyS1kbKSqT06T75VdGjHUIigW6oRqgflOA== X-Received: by 2002:a05:6214:48c:b0:70f:a42b:1b60 with SMTP id 6a1803df08f44-739313a7cbemr151871436d6.19.1757429552086; Tue, 09 Sep 2025 07:52:32 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-337f4c90eb9sm38735781fa.22.2025.09.09.07.52.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Sep 2025 07:52:28 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 09 Sep 2025 17:52:05 +0300 Subject: [PATCH v4 07/10] drm/rockchip: rk3066: declare supported infoframes 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: quoted-printable Message-Id: <20250909-drm-limit-infoframes-v4-7-53fd0a65a4a2@oss.qualcomm.com> References: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> In-Reply-To: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Samuel Holland , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance , Liu Ying , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Daniel Stone X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1731; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=HjpahnDv4iWzcOH6N/sbIkmNRnbCe4ETkSttnmvYk9Q=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBowD8bgkGL4BPgsdX7XjtFIfmizuOXrBZvFf/Oq 7lX1p+1YEyJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaMA/GwAKCRCLPIo+Aiko 1VsPB/4iLFY+wAG/K17zLiP4t3HSa+MqZcXP5RqO4a07Z/ru4qsPjYHy3ln/Unz6WWtPUuxNx1G wC1tqMHE4jiYFw1S2EgG8AvPre4CoyRzfdUgObhEzKFXnQw/ykVIDEfhRDa5WEWOwilzd/fuaFI dS962/TSUBWayf/8939BWRGiFgvjZWtP9QZXMfAOx/19jbhCudCNqXC5rMsqIs6Mf1mOjK7vaB3 jBj3G75QXeNwLmJR0vKiteTYq8y/JCicP/FVXezBdGf23AznSXJFG12fj6irgs8H3H02MFBoKWU kzOW/5U6TFokImtAkLdGpgoG+/2BrclzIiqxM7qKl+sHWghC X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: KMR7HCEXFBWDsdPj_Zo4R1oJglKZzM-K X-Proofpoint-GUID: KMR7HCEXFBWDsdPj_Zo4R1oJglKZzM-K X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA2MDAxOCBTYWx0ZWRfX0OHGqCu4PlM6 r355dlrxPC1VmTmqjmjQz4kG3/eEQbPnjzj37YIHmpD9SYQwHv2jlxTjcmDY6hBxAfyZ+4uWivU YnozrTvrYknRrj7LAYvgY+D7o5EUxO/HMGFcyuaNFS042+c+h/BSdGYxePPV1kyCAZ2u+meag7y NDTlfTNAspPoObpEXDDf+sDhzY2mUXl0SsOp1sfmnRneZCzJ4IOQDezFHDdCYnYWzsiaBYUGO2u r/fgT1Gqx4nWeLvHm5kEZH419OI2vkrmMWr++EipNQPFd9T1y/YVFeUNDO4b7tVmcbCCOWL6zAx NcG1ph4ePde+lAOlVf7I7n4jFTsLIK9P4smrvSdSd4RWwp/m7fXuXw/xaauGP0F0uqxylZ3i5rA +hEalpKy X-Authority-Analysis: v=2.4 cv=G4kcE8k5 c=1 sm=1 tr=0 ts=68c03f32 cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=8AirrxEcAAAA:8 a=QX4gbG5DAAAA:8 a=EUspDBNiAAAA:8 a=jPQHZD_Wlk31EOZy1E4A:9 a=QEXdDO2ut3YA:10 a=OIgjcC2v60KrkQgK7BGD:22 a=ST-jHhOKWsTCqRlWije3:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_02,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 bulkscore=0 suspectscore=0 clxscore=1015 malwarescore=0 adultscore=0 impostorscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509060018 Declare which infoframes are supported via the .hdmi_write_infoframe() interface. Return -EOPNOTSUPP if the driver is asked to write or clear the unsupported InfoFrame. Reviewed-by: Liu Ying Acked-by: Daniel Stone Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/rockchip/rk3066_hdmi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockc= hip/rk3066_hdmi.c index ae4a5ac2299a93a49f87df7604752f6b651c839c..6ac854c0fe4d155b351821782a6= d8bbd550de656 100644 --- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c +++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c @@ -164,7 +164,7 @@ static int rk3066_hdmi_bridge_clear_infoframe(struct dr= m_bridge *bridge, =20 if (type !=3D HDMI_INFOFRAME_TYPE_AVI) { drm_err(bridge->dev, "Unsupported infoframe type: %u\n", type); - return 0; + return -EOPNOTSUPP; } =20 hdmi_writeb(hdmi, HDMI_CP_BUF_INDEX, HDMI_INFOFRAME_AVI); @@ -182,7 +182,7 @@ rk3066_hdmi_bridge_write_infoframe(struct drm_bridge *b= ridge, =20 if (type !=3D HDMI_INFOFRAME_TYPE_AVI) { drm_err(bridge->dev, "Unsupported infoframe type: %u\n", type); - return 0; + return -EOPNOTSUPP; } =20 rk3066_hdmi_bridge_clear_infoframe(bridge, type); @@ -696,6 +696,8 @@ rk3066_hdmi_register(struct drm_device *drm, struct rk3= 066_hdmi *hdmi) hdmi->bridge.type =3D DRM_MODE_CONNECTOR_HDMIA; hdmi->bridge.vendor =3D "Rockchip"; hdmi->bridge.product =3D "RK3066 HDMI"; + hdmi->bridge.supported_infoframes =3D + DRM_CONNECTOR_INFOFRAME_AVI; =20 hdmi->bridge.ddc =3D rk3066_hdmi_i2c_adapter(hdmi); if (IS_ERR(hdmi->bridge.ddc)) --=20 2.47.3 From nobody Thu Oct 2 22:52:49 2025 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 49B3835337E for ; Tue, 9 Sep 2025 14:52:36 +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=1757429557; cv=none; b=SGSOXVnBY9kOG+1aVHUQsto0wIntujS2Y1OoZRD3kE2n73D597h1L8Aaz3z6+jgGmILeY+/N0Wr6cEQH/X03eyyn85mSllWPaHVWmIMu1wZ7C/tu1/MGticOSaAkcWTCkYsyl02cW4jlhZV+W8RPZxfJqXxsF0jGg8GhdKzibHo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757429557; c=relaxed/simple; bh=SH5p1NXLdtPpRbZHLxmXRUJRNEhWUgJZ/FZhGKys6U8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=p9Jhge3ZkHDDqQijzZLLwqQA2nNOe2NcqbN88nTTRV00LI5O2QfO8ZKJGgcJJtW5eyoD3zxbxdhm6oE93wPAi+LdpJcyX5sfPXblAlwtP2ueYGjL/8nt1SvmBbiTef3ILwW3+JgFPdtxerhPlUQBykn2RgCMAUewrlC/r20tEn4= 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=DlhjBKE6; 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="DlhjBKE6" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899LRjv029799 for ; Tue, 9 Sep 2025 14:52:35 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= AqxjcA7v9kQUHsW1dWHX4LPd+nTqAg1ssnBO5hXevIc=; b=DlhjBKE6vXrJs7eF /Ui+StvzdUKZ5fYxSLyNpcJxGo+zkaXklrif3Nr7+EgoHdEfNgbCcj3VRKDSBngm NwGtpxq1eUc5oJyMJcVnhydxdcWM9UCv01QJWRMHrAJnWGYd+tQ3KTqQoZlCv1KO L3HlGgYLVuvx5i/B62w6ulRsPYaK/4BxjsXISYjXwg0T/wwdC96XrP3jptrwWy2M aIBLZGVh7YhQ4mQeenJdK661KOiQ4sToqjxDOZy48fj/i1bpTZ/Tb94+xt+Psdss oYgcc+CsvngX7nnMSzqby8cYWdZahm3SUZ/vAccW19867zrbmO9G6Xtr+IRV9tiS MOoJ0A== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 491t37w21u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 09 Sep 2025 14:52:35 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4b5fb1f057fso40404931cf.0 for ; Tue, 09 Sep 2025 07:52:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757429554; x=1758034354; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AqxjcA7v9kQUHsW1dWHX4LPd+nTqAg1ssnBO5hXevIc=; b=mPWglMRosrgOfMTWF3AMzl3vnQZCblG4IWlfotV6UMb35PH5esYn1q2WMKPWhtyeip yqbXRIcMF8eYxzOmK9tedwp3SOUc0UPW+48Marvo4x+dfGZfgusya5o/Uoxx/XOr/LNq GExCKPM6KYc6qJ7TercKjMSV4+eihMkOqcfO3lldPVxpgQMgSNSCa0VDZZ7F5+3OFJvD cNplQBaXcbKXskcNGybzmVfRs3A0oQQrHb256UulobfD7ZDWeKj8Q1BKMN+YD/P5FyLE ay7WataJGaNiryEUDTU03zAcRKTj6CaZBOovdclmdc70WSQDFlls5gvjCBk6/Xz0+XNL 9a4Q== X-Forwarded-Encrypted: i=1; AJvYcCWiOntheO66RN0Bu12LVeA6cpClPl6Q6U0cosmqK1hIhMT8iAqYRdhS2GwXsH3McaxdipRHi6S54AKjuco=@vger.kernel.org X-Gm-Message-State: AOJu0Yx5fhUT5477SH3uwvE8ij+mKxscctcI9EpLNfyxq1UfP9eF9hHD A4bZ9KgyAGxRnqB/DM1TK5Drz1OpfyhbGl4qD9PggvHiLJLs4xfZaomRzcvb+AgO6SYL+Rgd1tt Ot/ZgVwwDHJHvareB7aKAaAfDorsn0JCuVfA0iqzarJKW0cYq5tOhjILlg6AcfdEUS7M= X-Gm-Gg: ASbGncuxiFfrdTNio7C7CEO0X/E3LjaaDN5+ywW6MSREqy/P81jOlyTw7l9h/BTWo4k dbYnxL6CyjpDomuYBjX4UhH6IpD/2AdwYD0bL86dn3hu3VEUUdvtSTmPpDlxEJUiUEiXRCXsP4j JvCgTCg2whanA8uDWMP7KPmpGg6sf+M1g+5TfCrb8JV5agh1zX1Wbm3tf56ZxUsKz6SG1kkhdXn gnjbqlK447iNPFdfxAF2l2qvVnOvl+316/KDrHl8Yh80B8ZaBpJNJ+yEVwostEugPbfH7D2tjHQ nW4g73POFssP/AS9+ZWdlIjZiy68nRkFj99OuI10SCvPY+aPTwCAn6OCGaplJGwVGumppvVULpM alx1iNlR0+o1O/OMZcRKn4Vk+ZeYRy3926G3/++x1takPzbQvzNLA X-Received: by 2002:a05:6214:21e9:b0:709:cf54:2cb6 with SMTP id 6a1803df08f44-73924e24079mr131513966d6.16.1757429554138; Tue, 09 Sep 2025 07:52:34 -0700 (PDT) X-Google-Smtp-Source: AGHT+IELvHh+YLlPgh4Yd5dwaizGOKRDtwIRu4dOckQfLSj453ZKMPo3ZARJmUDs6l5WC0UTNyT2YA== X-Received: by 2002:a05:6214:21e9:b0:709:cf54:2cb6 with SMTP id 6a1803df08f44-73924e24079mr131513396d6.16.1757429553493; Tue, 09 Sep 2025 07:52:33 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-337f4c90eb9sm38735781fa.22.2025.09.09.07.52.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Sep 2025 07:52:32 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 09 Sep 2025 17:52:06 +0300 Subject: [PATCH v4 08/10] drm/display: bridge_connector: drop default list for HDMI Infoframes 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: quoted-printable Message-Id: <20250909-drm-limit-infoframes-v4-8-53fd0a65a4a2@oss.qualcomm.com> References: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> In-Reply-To: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Samuel Holland , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance , Liu Ying , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Daniel Stone X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1387; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=SH5p1NXLdtPpRbZHLxmXRUJRNEhWUgJZ/FZhGKys6U8=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBowD8blvrwI5L8dQHSUz/xZ6GHVeuDdbZGULZMV WuEhl8+3y6JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaMA/GwAKCRCLPIo+Aiko 1TrPB/4iqW/Wm2SYljGHlxILyUx1w3ArHNHCeDStNLT25ZG6XUwvH3rLYMRzQQCcX3XYeP9w7/n br7LaRGkE7OOakFZ28SR+/IG8O9407EpzXyWAjNajt3AwRuXMI1ceXUB70WoQYyiQ2p86sx2sD8 rk96tIGNTj+Qk3LLtNOfFhhU2mKk8vZ+7IJmun34/LLVdMgr6WGEYUI0HHvcXsWauvVUd9QcMXW 48EwXLxeCxs4iM+SI02SHlOAp3svBZc/AL4f0u89V/Pxi6cQuvVzavQ1SrBcuQHP8kYGG5WVMlS yLTVNPBw8cDByk+YH6FlumiErNCqzW648OHti/7E+XtKyrw6 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: sZQglFD4zmFBuwFV-GDNyQak9i260fES X-Proofpoint-GUID: sZQglFD4zmFBuwFV-GDNyQak9i260fES X-Authority-Analysis: v=2.4 cv=NdLm13D4 c=1 sm=1 tr=0 ts=68c03f33 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=8AirrxEcAAAA:8 a=QX4gbG5DAAAA:8 a=EUspDBNiAAAA:8 a=uJ1-o3tuYwvhD5ZCdfEA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=ST-jHhOKWsTCqRlWije3:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDA2NiBTYWx0ZWRfX2tEwnjVTlk7I vQxQZUyknMyYSVm7rP5l0wWm/5plLYiKS5rkT7unuJ5E9WlF2RggHQ5uFz1dP/eO0P9+j3A45gh /2DYeN83xQ2Heth7mVS3XMZK3y/830U3IFdKw0HSjObwPeWg2MYyd972cLmsYG+M49ZmLqG5Nz4 rDSyPAGWp7t/RI0nSpSSGcdnmZfzbHOGrGPhOGqdxd9zdPkDhnTwHn+V0F+7PQkd3jjORGtlMKw UFGBIAiErvrMVVnAvYdkGfJKSL5ADxPVoRD3cNmQ8M19h5F4hMTJWsD0/9C59XSeCUbTF77FrsW 7KQXRiMc6P3v100zlCeJ7dZoLo+8aX10qmc/xEyCLh5YpLEoiZ3zdavYuoxhDrAH22WnQwiQI2j RdvInIed X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_02,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 adultscore=0 suspectscore=0 phishscore=0 clxscore=1015 impostorscore=0 spamscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509080066 Now as all bridges are updated to list supported HDMI InfoFrames, drop the default value from drm_bridge_connector_init(). All HDMI bridges now have to declare all supported InfoFrames. Reviewed-by: Liu Ying Acked-by: Daniel Stone Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/display/drm_bridge_connector.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/gpu/drm/display/drm_bridge_connector.c b/drivers/gpu/d= rm/display/drm_bridge_connector.c index 55bf5ac53739fda098be69a5c61e4934704ce046..05dc2b61643af5316df431a3cbf= 53b86139a63e9 100644 --- a/drivers/gpu/drm/display/drm_bridge_connector.c +++ b/drivers/gpu/drm/display/drm_bridge_connector.c @@ -783,12 +783,7 @@ struct drm_connector *drm_bridge_connector_init(struct= drm_device *drm, &drm_bridge_connector_hdmi_funcs, connector_type, ddc, supported_formats, - bridge->supported_infoframes ? | - DRM_CONNECTOR_INFOFRAME_AUDIO | - DRM_CONNECTOR_INFOFRAME_AVI | - DRM_CONNECTOR_INFOFRAME_DRM | - DRM_CONNECTOR_INFOFRAME_SPD | - DRM_CONNECTOR_INFOFRAME_VENDOR, + bridge->supported_infoframes, max_bpc); if (ret) return ERR_PTR(ret); --=20 2.47.3 From nobody Thu Oct 2 22:52:49 2025 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 0CD09350D77 for ; Tue, 9 Sep 2025 14:52:38 +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=1757429559; cv=none; b=bvX0LkHocfJdD+B10djec495b8MxOnWx8g2cXg0o95GEo4lzFMO/EQeWZCD/hJ8gxrTYvnaeGuw8AIF3ijLwLpqE9F7gxhwT82yx0PKWEGv8GTc9DJ2Vjzuys+3JImrFjHMwToyRhLOi8lBoNtSAZavxYHi2nwFGpMhV2YIPYZ4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757429559; c=relaxed/simple; bh=GCdbmTwssKDcXNKgdZbInJ/IsWBy3ZWBjV1zBKp4r0k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LLu0PoymDeGucRlamN9MFQhyroq00xX4YLA7uH0voncanPGaxiflvpaDcxDj22lEhq0Yx3qvPGVqeXAOQ7Kq453Ls2ufruDET9Z5SgNkJK5c6J0FFoHqwa3Bo867OTflBx6U4XE9YGVwGX36sBeDcyI6kohLzqzW195cQnkD18w= 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=LOVxT9wR; 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="LOVxT9wR" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899LRdt032042 for ; Tue, 9 Sep 2025 14:52:37 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= 6ppe/L523pX1O8Slf7FEFSs+VXXiz+Rko9uu4CzdmWc=; b=LOVxT9wRqIMsdtxq cndOMoifYWVHpZc62EvmN7rj0LDQWAcqL3g7/Sl4DM4EXUog/Mxwe/VyUg0QzT2B z3MXkIFFVU1vvUsjuf2Q8uF46tuSQ2B8hUQoQZTMElD1fpy5TVBv6EfWoGO/86o4 0adpamYkKQP5nECPo7ebms3B9bJmH3QuhNBuSAmhzI6LviBqhrZEuxVnF3eTVh87 DvvYXvQ/4JxGujIctjPv2XB+Yo/1U1cQGa8IO9F894uEnE378XvCuYToH0angsNJ qOnafF9a54OBsWShEhA+PnaZ3Cs8DU0kqPeHqfR+38PTVJvvh+jNfOHZqhyzY7sU ii+zMw== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 490e4m0f74-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 09 Sep 2025 14:52:37 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-7296c012f6bso116936326d6.3 for ; Tue, 09 Sep 2025 07:52:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757429556; x=1758034356; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6ppe/L523pX1O8Slf7FEFSs+VXXiz+Rko9uu4CzdmWc=; b=UVQY/eyCIh4ZCy7hatwQxEgm/rzAiMF/ZUltk02oH7qE1r+zEZ3TDbAv9+gXJBmEHa fFFwppM4efNOLndjp0JbgqLpfFqPYu2GFcuOCPWbnVO2v9RiDLVhaQpThqFmWwnZ4EIY NBSohhIoqy8b7TOdTbcddQinSeGvJEAAjfiqy9y7ZOcxgIRDoPABhGBzKb+rDGxr+7nu us8E2DLrw8svLvrKuRh1w28NTPfOYXgQ1e78ATBI4V2J45nvkI3dLxNULXgKp3FgrsBY jAKfuZ5d4thNxt/CX+MPgb38OnDCLsZS4brcbOCaZ2C4PsenmTsbQRWxBpab8ySK+2UV bl9Q== X-Forwarded-Encrypted: i=1; AJvYcCViR7ftdqD1NytM7j0ZvN3o/+qQYoOEa8WvZGNzyY8/lz6/B1+e9DdYegyAFkUgQZb92dfk5MuGUcW3UXg=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/9I1N1QcCHTr5+DgCKipycCqu++8mfMWw4HIxQcUi0D2nL/CW fpMUAkWBFJOo+i44yIxTaBwth1joZDE3WgeDQJNESmdZ3ubmEhcaDDltJjaFqy93z/D/jRUp705 QA1of5fu+qzpZ3TIxYeqTFfx+FnjwonjsYDVaykHK21vbx3/LrgRBO+TSo+REksg0v2F/0sa35A Y= X-Gm-Gg: ASbGnct5UvTEKki5LbvUa1vagjsBnmQ4t/3htVCN4TXwgjZDphPErEEtcCiI/r2NYPV 4UPKL4urxKEztbxIJ7ahOMGKVfO04nnExIgDCZQHpvGlhfFXG8fgC3COwiEyyzmaH3tVj4MkCry TONpCfRHsM2igbNn6FcjqqX0aBPU8+tVaQhYftFScyhyX3CH/OfUS5fwyqVX2/CmFspOBECVaFp YzDd6LSMkiq6UJKMupDj4AWXoegFKBna/kMF6dS6yx5ITOJZBEd6OTiZebjDunzn7HDBV2QFZfg a2jxZUjYTkntBas+TAfOTH7W+hTLgIfHP4u/xXacvjvzSX2oxb6Ffytdtu8kqRXPREKQSsnYuy2 pBvDNMpNp6hxE8iQnP+VIaWPvX4UGoHKrLCQ+EoWuSbMdGyyMKVra X-Received: by 2002:a05:6214:5192:b0:719:12cf:50ef with SMTP id 6a1803df08f44-739203491camr137707086d6.28.1757429555427; Tue, 09 Sep 2025 07:52:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHvay4HegD7TczvnDmBbJppLQ/NXiZM/9CH2gAkzzaVEPN2RKdPsH+OPvsw7n0MbNu3XwLaHw== X-Received: by 2002:a05:6214:5192:b0:719:12cf:50ef with SMTP id 6a1803df08f44-739203491camr137706716d6.28.1757429554861; Tue, 09 Sep 2025 07:52:34 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-337f4c90eb9sm38735781fa.22.2025.09.09.07.52.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Sep 2025 07:52:34 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 09 Sep 2025 17:52:07 +0300 Subject: [PATCH v4 09/10] drm/connector: verify that HDMI connectors support necessary InfoFrames 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: quoted-printable Message-Id: <20250909-drm-limit-infoframes-v4-9-53fd0a65a4a2@oss.qualcomm.com> References: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> In-Reply-To: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Samuel Holland , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance , Liu Ying , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Daniel Stone X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1240; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=GCdbmTwssKDcXNKgdZbInJ/IsWBy3ZWBjV1zBKp4r0k=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBowD8bLgmA9Afor/SCSMBp6lvcMJNLH+y+3RLsg Edds4lkZH6JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaMA/GwAKCRCLPIo+Aiko 1bQjB/wIC+5fSLnstfGoZMGUfVuruiseL2SNqJJstUfTxGaowQkInoHQfnrNqiPYpowcSvPCRNl UHnaRFcqNgqF2eWsCXtVaCx10y4Xj3MtGesm0e5fNl/X47wnuZX1RlKVA+7gTnlshcZ1F1PyHq7 4O3HqSqvwF+066FKwZL94tPSzVrV5ca4n9uB3H4tEJ1CodYONpSf5XEXIbVmBHdBZz6F5Gns117 nYTWg54k1WItlRdXqTB1OhJ/BoctGr79fhRFb8LTSDBfGG/G7xLshm7FznkSl5DmrmqCsv9fJqw 58UPBF9WUpSazqCvVhovhZ2tXkAQKvB4Xu+5lsWd/6WbhhXH X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA2MDAzOCBTYWx0ZWRfXybv+ho5sFlQO FeeCvey6uc7TkH7BR0XfreQdGzq71CHJimqpDUJV/XgYQFYG4tsbOLF+8HW6FGTRya3uKdKwH4t SqCTqjCS8A2U31viAfe3WdaUVEQWgUXqEujWWMoZlwyYQItzsVwqqAI1V3ZODjJP6uC6SHQDu+a BBnV0rDRH0z7SHUjKiDvzeBNRVWcV9dl/YiU+KOQfxaGv9m5nWkIpO5qLicSd1j6J1JD3ZRy8e5 2++wx6llnBeh1R/UvQcJPoIPElBpAtTRGRaqOWALqVBjah6vsH53wK7xb5YfmJcH3kvi1mHFDp9 cWGnsmB5/XAwQCbsmKx3Hb6OrqPJon4HBDCWIbCkbRWrcgmTbT1cSdGmXGD/lA8w8Kvn3Cczbuk P/5621KO X-Authority-Analysis: v=2.4 cv=J66q7BnS c=1 sm=1 tr=0 ts=68c03f35 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=VwQbUJbxAAAA:8 a=QX4gbG5DAAAA:8 a=EUspDBNiAAAA:8 a=NnPSNIktjdB4Ge1gQTIA:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-GUID: SAVjnv98mi5G4w3zjEx1wEnX7R2vaqeJ X-Proofpoint-ORIG-GUID: SAVjnv98mi5G4w3zjEx1wEnX7R2vaqeJ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_02,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 clxscore=1015 spamscore=0 phishscore=0 adultscore=0 priorityscore=1501 suspectscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509060038 Check that connector initialized by drmm_connector_hdmi_init() supports AVI InfoFrames and warn if it doesn't support Vendor-Specific InfofRames (HDMI InfoFrames are more or less required). Suggested-by: Maxime Ripard Acked-by: Daniel Stone Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/drm_connector.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connecto= r.c index 92a75684a0f7375d3a94e8c666cb71064ecc8035..222a0ef66d9fdbdb56108ceeb40= e7f369d810350 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -602,6 +602,13 @@ int drmm_connector_hdmi_init(struct drm_device *dev, if (!(max_bpc =3D=3D 8 || max_bpc =3D=3D 10 || max_bpc =3D=3D 12)) return -EINVAL; =20 + /* AVI is required */ + if (!(supported_infoframes & DRM_CONNECTOR_INFOFRAME_AVI)) + return -EINVAL; + + if (!(supported_infoframes & DRM_CONNECTOR_INFOFRAME_VENDOR)) + drm_info(dev, "HDMI connector with no support for Vendor-Specific InfoFr= ame\n"); + ret =3D drmm_connector_init(dev, connector, funcs, connector_type, ddc); if (ret) return ret; --=20 2.47.3 From nobody Thu Oct 2 22:52:49 2025 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 43696343217 for ; Tue, 9 Sep 2025 14:52:39 +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=1757429560; cv=none; b=XnttIuZJYjVfc6Dv/8C1cuw5KMrfYBLzNTsF5WwSNBoEUBSTZ5qHRYx14G4rOsbx2pU05lyVpDb8vRnuouyXvaA+W8fyPbEZrFNEXDbGLbY69eSHw8JodYPhcmXDNoxwFCyFJZJyFEqO3FyWynO7SAAVcQu5vq73tqrQp3X5Bqw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757429560; c=relaxed/simple; bh=WvduT1qbRYo9sMATdr0cfogagyWfZym9JAGpyIFdd7M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=A9sVUAGqQPzKcdBPRL2hkCoaRgJ1yuPQ+6lyoOCFKxWeeRKi5G/O+tU2j1s8k72vpVW94nDxSo23I5i/I5tArY/DAUPYI/8XMQeffklCZtpRKIxOV8A8OF9gVIBlnmiPZ767WZ5E9boIGmPtONT/j73EArcu2FCLk10MQ1zW/oQ= 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=SZw9Owat; 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="SZw9Owat" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899LRk1029799 for ; Tue, 9 Sep 2025 14:52:38 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= l9Z5uObkfX17ytwtS/hkOYbgTcwQucmA5+CIhqYDVSI=; b=SZw9Owat7M+hPDde VLW9jWV25LxsHJnfoY0WWEIgpl/+7gBglGj6T5phhPYTcfVZwEPc/IiBBzNeVnx8 csnr5Bb18zMPGvmsnGRvV1vnFb49dzTsm04WcUvDxnDmHwoUB8OEdWLNqL19hvtf 6MXOzwVHtnlyniNHCJWc6gNHXlnYtF1gbMXb8IsaZ2J4lwHDMdti12ekoSkw2DJI gVF82yZFmarm4vR5Y6iHgbikS3sNa17WPnLnsk8B3odF09EDzEjWXjfHNxNrQnSn O6X5x6KJOV/PIJHC80pZOfwoe6EFvufRqQktUI1DRaFDHmmqsFkqukgYLQ83ocib Ab2elA== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 491t37w22c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 09 Sep 2025 14:52:38 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-724ee8d2a33so121204246d6.3 for ; Tue, 09 Sep 2025 07:52:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757429557; x=1758034357; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=l9Z5uObkfX17ytwtS/hkOYbgTcwQucmA5+CIhqYDVSI=; b=ucR6g+dvfRl9nrcRpTn1/wC5nn7iKmVS5NztN+r1GzKRe3aBp3ScqkApteRHWkpaWa 9TsD8EqywVA1MGcRU0NSuAMdcOKjBTGeXViKN8QQ3yrtIv+0DE719msZBukvIp2Saxs1 Sn9ZWif0X8xcuLft1RUPsYtnBi0IcnYObNiEyGpUXvDWiV+IrPc50zLN3UgluGZbsCHX J8YYaVVtwIUQGfbU33UaEXie7ErxLq9eNzOjQDPFKwASU44H95V19bWJRGiLBxI1yjCG KiK32cQhv1m2p6Us7JmWZr0ZPmVEfpePywN39tJDMkqrtshBQrBauKAWwzew515nP4Kl LOhQ== X-Forwarded-Encrypted: i=1; AJvYcCW+eykZmq2ZDbghkZwZGBXnSqZbFNBX0dpWgnWGeA3W6ABBISfpFxEEQAKHqJATZLqol7+u6irj3QrAGXc=@vger.kernel.org X-Gm-Message-State: AOJu0YwfJAhaXq42OkevYU1RpjvFuPJccA17FNqe/2reivOxHJPUlrTF a34kucoRFn48fstWeGQhmQKOqr5M/tJAJAaNc6WpyAsBFM02kmAbHqIkAsfMGqRM6i71XXviHMJ KPF8InLjBgksbtGddTIpSKwrCc4JTSCNnZ6q0dtB9d/1FV85QQZnQylT/m9jnD22ACIg= X-Gm-Gg: ASbGncv6FyNB4p9beHZG/Xqj13K0x5/HgjtMFlgdiOHttOTULuGBy2X1+C+gJ5Oca5b DrU+YwW6H/CrLMP6MiHoGSEgy2Q8GIfJXaf3tVzGOeyncGu3UqNLdr6HM7eYhaqTpJ+PQFtSck7 sD69vTrt8WLs1stbMa0WhwWFi8h9SVAhWbNby+0C/9FYmgauM7j0sSJCDYwiz8Dvu3F5Rc59Y1j yyvHJdvUruDYTtI4iXLRoIdhZdfq6jx6l3EbssLRnGVJhfle8NxRq7S1pMKq0sV9Y6c57tpLQdR frC3oVHKfUO84orId7d7ArhviWGpDLOSqJTcSbbKT4UpFosNwH6oLKejDXffB2HwaANB0w4vK0G +ykXa7/mAwGL95H5WiFUwl/YSb1nGvqtr4+Y/ku5g8TAApEHyVUuz X-Received: by 2002:a05:6214:4009:b0:720:4a66:d3ca with SMTP id 6a1803df08f44-73933639a08mr113606716d6.24.1757429556940; Tue, 09 Sep 2025 07:52:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGPHL4NfJJ/zE5chnvOJ1HeidR9Kl8e6gYNpoM3SLwwaEavBYImkLXu+5zH8Ed3CkO98L4A0w== X-Received: by 2002:a05:6214:4009:b0:720:4a66:d3ca with SMTP id 6a1803df08f44-73933639a08mr113606016d6.24.1757429556265; Tue, 09 Sep 2025 07:52:36 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-337f4c90eb9sm38735781fa.22.2025.09.09.07.52.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Sep 2025 07:52:35 -0700 (PDT) From: Dmitry Baryshkov Date: Tue, 09 Sep 2025 17:52:08 +0300 Subject: [PATCH v4 10/10] drm/display: hdmi-audio: warn if HDMI connector doesn't support Audio IF 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: quoted-printable Message-Id: <20250909-drm-limit-infoframes-v4-10-53fd0a65a4a2@oss.qualcomm.com> References: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> In-Reply-To: <20250909-drm-limit-infoframes-v4-0-53fd0a65a4a2@oss.qualcomm.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Samuel Holland , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance , Liu Ying , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Daniel Stone X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1648; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=WvduT1qbRYo9sMATdr0cfogagyWfZym9JAGpyIFdd7M=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBowD8b4ByVcFhNzN6vL9g+i6Xr5Ru20ekBbEAdJ +90fSIYze6JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaMA/GwAKCRCLPIo+Aiko 1WdkB/42MgipULdDGBHhJLj9Rn2m9Z+xg8n2+dwVvzMmGYgpA+PltLj7B5uOaXeKjVbIhMn7eYy Tzms6FQKTMnjfCE/3nJUZbGUl9kN8NBaJn9uXq14HKdFTcm7/m9nN2XW/f50ds9jrb83lrS+WzG 1d9IvcNI2kh9ls+VF2uX750NKeykqE9uqnwxU88frDB1V/0wW632N6YQOrfX47F59xl3Xx5H9Mn nLXDnZAAIRGfTxDehtuvZo4ncNgOzGciZR6MuZQi0E/gquRXdMuCez2EHR03zdWeJWONeOAx8KL XZfA2cwtxgOTNy+164ThuwnMGvRhfMoUF7t/uJwK4H8+Gh+O X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: Trr6-nfABLjFCCCqv5wBYpEnogLnqYZt X-Proofpoint-GUID: Trr6-nfABLjFCCCqv5wBYpEnogLnqYZt X-Authority-Analysis: v=2.4 cv=NdLm13D4 c=1 sm=1 tr=0 ts=68c03f36 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=VwQbUJbxAAAA:8 a=QX4gbG5DAAAA:8 a=EUspDBNiAAAA:8 a=Yc4j0DFJudTMt519TXkA:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDA2NiBTYWx0ZWRfX7YNF4U7RTCzw Ohw9eejhD8FixFT7Pp7GmUGGdpyArKeHPYyPKxIdpLxYk8Os/EUXG3oakqLrEYecPNaufDZEs2J q6jQElh0pfajaFAQLRzHxl1nPhKQA7mTszq3+bGksb0i/MsrBinKUrDVsko0kOS6lkJaNe5qgzk n3T1ldY8eq3McMUpkH7H09KDM/vKW1uzJ55C4ZS87GihLP/f0g+xKFjV+HbWygbE2BgbfsyE6Tj wBx9IMVuXgVBe2I63M8skWfzTJfQ73G7pBC/ny9MZ7aRl2WiavtcDKvpdumKpCCS/Awgb6Kdp3i uk7oqiFg+0FIeCLwb2gLqMdm7QX15ssjsqvZ3xGIJG21jHRw3ymxR2KytlwS/TO/jgGgj/ZE2aY pOGjIohr X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_02,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 adultscore=0 suspectscore=0 phishscore=0 clxscore=1015 impostorscore=0 spamscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509080066 Sending Audio InfoFrames is mandatory for getting audio to work over the HDMI link. Warn if the driver requests HDMI audio support for the HDMI connector, but there is no support for Audio InfoFrames. Suggested-by: Maxime Ripard Acked-by: Daniel Stone Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/display/drm_hdmi_audio_helper.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/gpu/drm/display/drm_hdmi_audio_helper.c b/drivers/gpu/= drm/display/drm_hdmi_audio_helper.c index 7d78b02c144621de528b40b1425f25e465edd1ae..35e0e79cb683a68af813344aa86= c154c3a5531fe 100644 --- a/drivers/gpu/drm/display/drm_hdmi_audio_helper.c +++ b/drivers/gpu/drm/display/drm_hdmi_audio_helper.c @@ -10,6 +10,7 @@ =20 #include #include +#include #include =20 #include @@ -178,6 +179,17 @@ int drm_connector_hdmi_audio_init(struct drm_connector= *connector, !funcs->shutdown) return -EINVAL; =20 + if (connector->connector_type =3D=3D DRM_MODE_CONNECTOR_HDMIA || + connector->connector_type =3D=3D DRM_MODE_CONNECTOR_HDMIB) { + unsigned long supported_infoframes =3D + connector->hdmi.supported_infoframes; + + if (supported_infoframes && + !(supported_infoframes & DRM_CONNECTOR_INFOFRAME_AUDIO)) + drm_warn(connector->dev, "HDMI Audio with no support for Audio InfoFram= es\n"); + } + + connector->hdmi_audio.funcs =3D funcs; connector->hdmi_audio.dai_port =3D dai_port; =20 --=20 2.47.3