From patchwork Tue Sep 9 14:51:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 1053 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 441982DA75F for ; Tue, 9 Sep 2025 14:52:20 +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=1757429542; cv=none; b=G80SyyjgHYf+YEnMLMU66qBYYwBcB6zBUwrby8wF2XCwof8TlJRP+/tbAPb1KqzE08h3Mv5fJl1mydnyN+pYDJWlx1FIqpIxXKeoA9xaJj9n11NTyLKMP35jYnvg6+PK6osrDXyjK3zyt3SJ/kGiuR9Z0tcvNbAn7OwaiYcCeck= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757429542; c=relaxed/simple; bh=mP/H5Pi0Ywh3c712kU9hSqtr5Ew0pjrLOLw+OxDtaCQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TBWt9uW5SLYcbvxcDvj04cbmhWmjt2RGSvDE0PRNxistz8k2VGRLqJf6KWd7Aai4haRAvYCxW1n/S6nBVC9YpbCNxFtZevT0RZmNk9wDtBf1H0HhJyMj932GQuEqwSIfYMSJHWaUCBC65LOHO9yDrbPEXZ0bmGPR33Bkx7euxvg= 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 (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899Lngs020739 for ; Tue, 9 Sep 2025 14:52:19 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 490e8a8g44-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 09 Sep 2025 14:52:19 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-70edbfb260fso121453456d6.1 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=CTKUC2CAk2N5mpHtGXJzqIpI7rPp/WNTCI9nQlR8RnK4bTKnKGJ08W7zm29K2EKaWP jtJ+yfjQeW5oEbkSYz8RHh/3vNDHYqsSQFiVEib0j8bdC+/wxtaeJCuue9F1TKxaTUk6 4nZKlwM5R2V+UKMU5xwWgAK3/RHtT7BFFfl7nv6m0RYEiKkHB0ZZhXPZalPdcpS3OjJK 3adPAkJi9N8/fu9VXNVaiSO3wE98VRrNlzGim+geFT37bLGDrhkNnLw/FgTUzRFlcs+B 5OAVDXu5r5VcLK7DJHeP1Ra+KdsWCh02+8skL7XneP7wm+5xzW3mc11l5xgYeaJTIuL5 eEQQ== X-Forwarded-Encrypted: i=1; AJvYcCXE7kAyipGjb+FmKcTeNrBsRXGg3I5Z0tkGVV4nOahagXotvc0ZlfleEL4pmk8RQ/1XvG53KOotDDH5JA==@lists.linux.dev X-Gm-Message-State: AOJu0YyZk4fXqvIx6lox8qgCHZ6I6vC5aRUSyzO1nY1h8SLipbhShQvn ZocQbIpjpTr8NTnBD71x7e1StTD8ykPjxyDy/0uw7pxpzbVqtdiZNi9Z2czQ9GA50A7EHvzmY91 WMz79JTtZXTPMijRRBXklYXutcR9CC+9sMBow0HjUsLvIDO+iBsLBFxRFKEdMgmjgIQ== X-Gm-Gg: ASbGnctn8zBgk+mOqsEMC4WRWWg4UkvlEak0oN2YiLW+jLgKpDXYRTVwDLgA2h5rMbN AvYBOas/EkNMzWmOrsrxN1wXrA0YHEDoLnPkEQluMiFib6nRlcsWNbImPK1kQgIeOpeT8LuxFlH ZnLeMVhrGj/XnUQyw41hmf1NhbBdygzERqMhZxthVtzAssR6R9PD6Prnx2tjs6H5YBDf+Z7nZ2Y CLlaTDQiBOKh4J1XscCCjUGfHCBpuXxnrk2NxmMLwZovDZn8o0itWe8XHyo5q/Jxy/27n73HjOF 3rt4H5wEc7Xg2Lh4jRDMHEvnEaQsU8a/1gQZasmQXD8NDr7yoZ0USrEn6TCkOcNTwKJjnsF+OEl vQv4N1/r/hAA/9tosyIlZWttEmiqHpy43BXdPxXUVZL9zN1FGpZdY X-Received: by 2002:a05:6214:485:b0:712:8b65:d37a with SMTP id 6a1803df08f44-7393d42bbcbmr132608636d6.43.1757429535777; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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-Authority-Analysis: v=2.4 cv=H7Dbw/Yi c=1 sm=1 tr=0 ts=68c03f23 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-GUID: njpFyqrWNsbQxLuu_A06esF3JgKjql4C X-Proofpoint-ORIG-GUID: njpFyqrWNsbQxLuu_A06esF3JgKjql4C X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA2MDAzOSBTYWx0ZWRfX8NQ4tE62vqVd SxD+vcn9c0KaosLRWfMNi+nrbJAVsVlaQsQ6SgX8zs2KS3IrK+vPhW/uHNWIP0S4b/fxgIH74IN NVzHMra5C1tF/FODnfPjavu9EZ3/E2LlmrehD95yM02kRSPtHLMWz7gll7+tdrhoMsxVS8vgn4B fkOrwkIyzc80dSOqC+BxmuE1zTbKU750tNwLy9onqzXN7wkcpSHajr26iZBVf7VNXsTaFIg11BY XSqpgkyVyUs1hlhbmn66K33xr9On+FIPGmmQw8lDmSMZgOYEH440cODZN7n/YalF5cS+kPJdtlD +yT9FgoYznBJ9c06X0GBYkd+8OR5A9TNPwtwG//cR0zUxPWdjse3VLOBapXpdzLOlFJ8hSn1+DX xFKiyHkn 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 impostorscore=0 adultscore=0 phishscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509060039 Status: O 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/drm/display/drm_bridge_connector.c index baacd21e7341fca95ef3e5b793930ffde9d4d4e3..55bf5ac53739fda098be69a5c61e4934704ce046 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..9ae996b5a2acf27d23da7108865b721cc8975dbf 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, infoframe->set = false; + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYPE_AVI)) + return 0; + ret = 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, infoframe->set = false; + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYPE_SPD)) + return 0; + ret = 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, infoframe->set = false; + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYPE_DRM)) + return 0; + if (connector->max_bpc < 10) return 0; @@ -771,6 +780,9 @@ static int hdmi_generate_hdmi_vendor_infoframe(const struct drm_connector *conne infoframe->set = false; + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYPE_VENDOR)) + return 0; + if (!info->has_hdmi_infoframe) return 0; @@ -898,13 +910,18 @@ static int clear_device_infoframe(struct drm_connector *connector, struct drm_device *dev = connector->dev; int ret; - 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; } + 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 = 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_connector *connector, union hdmi_infoframe *frame) { const struct drm_connector_hdmi_funcs *funcs = connector->hdmi.funcs; + enum hdmi_infoframe_type type = frame->any.type; struct drm_device *dev = connector->dev; u8 buffer[HDMI_INFOFRAME_SIZE(MAX)]; int ret; int len; - 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; } + 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 = hdmi_infoframe_pack(frame, buffer, sizeof(buffer)); if (len < 0) return len; - ret = funcs->write_infoframe(connector, frame->any.type, buffer, len); + ret = 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_infoframe(struct drm_connector *co struct drm_display_info *info = &connector->display_info; int ret; + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYPE_AUDIO)) { + drm_warn_once(connector->dev, "Audio Infoframe not supported, bailing.\n"); + return -EOPNOTSUPP; + } + if (!info->is_hdmi) return 0; @@ -1102,6 +1130,11 @@ drm_atomic_helper_connector_hdmi_clear_audio_infoframe(struct drm_connector *con struct drm_display_info *info = &connector->display_info; int ret; + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYPE_AUDIO)) { + drm_warn_once(connector->dev, "Audio Infoframe not supported, bailing.\n"); + return -EOPNOTSUPP; + } + if (!info->is_hdmi) return 0; diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index 272d6254ea4784e97ca894ec4d463beebf9fdbf0..92a75684a0f7375d3a94e8c666cb71064ecc8035 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 output formats + * @supported_infoframes: Bitmask of @DRM_CONNECTOR_INFOFRAME listing Infoframes 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, connector->hdmi.funcs = hdmi_funcs; + connector->hdmi.supported_infoframes = 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..0bf70164550b4eb0551aeab026d5bf1131739a02 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; + if (!drm_hdmi_connector_supported_infoframe(connector, HDMI_INFOFRAME_TYPE_AUDIO)) + return 0; + file = debugfs_create_file("audio", 0400, parent, connector, &audio_infoframe_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; } -#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_TYPE_ ## _F)) \ + return 0; \ + \ file = debugfs_create_file(#_f, 0400, parent, connector, &_f ## _infoframe_fops); \ if (IS_ERR(file)) \ return PTR_ERR(file); \ @@ -733,10 +739,10 @@ static int create_hdmi_## _f ## _infoframe_file(struct drm_connector *connector, return 0; \ } -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); 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/rockchip/inno_hdmi.c index 1ab3ad4bde9ea7305021186ea221d2ff9057fdbb..31d742b7627b8b31ebbd7056c9d44a0454407d6d 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 != HDMI_INFOFRAME_TYPE_AVI) { drm_err(connector->dev, "Unsupported infoframe type: %u\n", type); - return 0; + return -EOPNOTSUPP; } 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 != HDMI_INFOFRAME_TYPE_AVI) { drm_err(connector->dev, "Unsupported infoframe type: %u\n", type); - return 0; + return -EOPNOTSUPP; } 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); 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..f4c8ff60d78250d0100e210210d4e9a64a903af5 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_connector *connector, if (type != HDMI_INFOFRAME_TYPE_AVI) { drm_err(connector->dev, "Unsupported infoframe type: %u\n", type); - return 0; + return -EOPNOTSUPP; } for (i = 0; i < len; i++) @@ -640,6 +640,7 @@ static int sun4i_hdmi_bind(struct device *dev, struct device *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/tests/drm_connector_test.c index 22e2d959eb31459f9981fef488228904d67cb6f9..fd28ed2bf8bcecabaabc67f2f8f5ccc1f42525d3 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_register_test_suite = { .test_cases = drm_connector_dynamic_register_tests, }; +#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 kunit *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(struct 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(struct 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(struct 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(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, @@ -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(struct 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(struct 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 kunit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_EQ(test, ret, 0); @@ -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); @@ -1035,6 +1056,7 @@ static void drm_test_connector_hdmi_init_bpc_12(struct kunit *test) DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 12); KUNIT_EXPECT_EQ(test, ret, 0); @@ -1071,6 +1093,7 @@ static void drm_test_connector_hdmi_init_formats_empty(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_rgb(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_yuv420_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(struct 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_rgb_property_hdmi_connector( DRM_MODE_CONNECTOR_HDMIA, &priv->ddc, BIT(HDMI_COLORSPACE_RGB), + DRM_CONNECTOR_ALL_INFOFRAMES, 8); KUNIT_EXPECT_EQ(test, ret, 0); diff --git a/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c b/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c index 8bd412735000cb18e66aeca21433b2ebbefe2b44..2901fcb6b12ee318a4a9c727a62d5290d7c9aa84 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_connector_funcs = { .reset = dummy_hdmi_connector_reset, }; +#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); diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c index 07c91b450f93ab9e795d040d6f60f485ac71cfe8..2098d04c95e7e733307c90bb9ab5e2631f6f5df0 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..a3e3518905a06835f61a1a60bd2f165820f57918 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; + /** + * @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..7849a2343771ee869cd1e38b30f34d0c2237f4d7 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; + /** + * @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); +#define DRM_CONNECTOR_INFOFRAME(type) ((type) > 0x80 ? BIT((type) - 0x80) : 0) + +#define DRM_CONNECTOR_INFOFRAME_AUDIO DRM_CONNECTOR_INFOFRAME(HDMI_INFOFRAME_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_INFOFRAME_TYPE_VENDOR) + +static inline bool +drm_hdmi_connector_supported_infoframe(const struct drm_connector *connector, + enum hdmi_infoframe_type type) +{ + return connector->hdmi.supported_infoframes & DRM_CONNECTOR_INFOFRAME(type); +} + /** * struct drm_tile_group - Tile group metadata * @refcount: reference count From patchwork Tue Sep 9 14:52:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 1052 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 451E935206D for ; Tue, 9 Sep 2025 14:52:22 +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 5899LS4t032346 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-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 490e4m0f5b-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-f70.google.com with SMTP id 6a1803df08f44-7507804a7f7so36408506d6.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=fh9dgO1IB/oT/2BtgGt+5I5cVplNTAZwNi/qHQP0m6ccd4ENWkM/o/tuhHaSsvsmEd dEjd+jKvno/7gIadVyN5izsoOaTUqln1gAArFcMujUzZTcctJYyZ7eOklmwiVthUKEHy x/veu5wwFWlNKfd5KDJZEAaYRYl99gmaiX3JvXiSnZnOaXofn7MwLJAHPhTGw47foHo1 Q+YMyHc8o+8N7OyIjVNI6oTvtspoqiaKYRYN7utNbJCKxoD9FlLPYtRS+P0LXjfgp1X6 WNrS5K0lhWCH54rspLsZtAEONrsUIwEbjVHm1dR1+JPAZmWttXzdQ3ZYoexnqbJcWJWa cbFg== X-Forwarded-Encrypted: i=1; AJvYcCXYqrlq5KIymSdXozaNPk4VgsY2CRtEboSwril4Hy26jerZNxvNLk99r8eWucoO/CCbYuG3DqG84X0Ssg==@lists.linux.dev X-Gm-Message-State: AOJu0YzGAgIRsM1qrdQnQ+8Au4uuu7lauq9SlEOFT4zuR874m9r71f7o d2AalCRCdtmKVIg2vawkOUbm4cLnpSRCT8SbRcipI6j4zY7sf21lacgRVYHvY2XUoqfD5yiYPSv xT5FO1CkIDm0Y25W3POWJlSpWYSZLV6IvAZz3iWNNgVkt8aIi/PeZ956mqgvpn4wV/g== X-Gm-Gg: ASbGncvDNe1K2EfsY0k50hnWfKhIKgT2dk/N9I8y4vZsvKfsLye+gGni58QAq+Nders r1qGceYgPYsYOrGJMgq3fEXpY+im+eJTPG7h7xgFuP8dwWXAv2YGfhjq1mkOlmDMV1KaypETy0q kBswwVI9JVRYS9AIf3Wm4U++PeAvE73Gzace9Wzb6pqPW+6PrRNTbp7lBt6/vhW/Pk8NGXOrI6W DjkrYkIR/KIN1TbLXcq4qRC9ffYUrNdBW/cv/6vHRS9KV6IgsvtTaqCx1opWuc0hEUKSa+1WRk8 gIesDnd2NyyF851FzYNFU0pBPexV+xoVYm+rkOBRlP4ZZ9+D1/5HPsIpcrMHCVvhaIy3A5KfMA3 FWMGZ6p+AjrMO2JF5KKnsfJNkdmJzLGiyJUxWWj2H8wFaObpex4FW X-Received: by 2002:ad4:5de2:0:b0:722:2301:315 with SMTP id 6a1803df08f44-72bc4f93957mr184628106d6.29.1757429537145; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: AW1haW4tMjUwOTA2MDAzOCBTYWx0ZWRfX9UMkQ4B1zG5G dBezNEy6KcLERzYyJClJMy8rzCQ35c1H2pDkjidZCoK7z0h/7QkgGg3CBd52azDWhOkVw8f8rA+ DpCQ+V619e0QYsI2udnn4/RCShFtqwfdTixaSg6xZVnlCzFY0CvN18gxbAPRveG8xNU6qtQb05y hLMtOmfwLNvlfrYsWmS9RWD1VGYBBVVCoiPNBYzAhVPWyIotwfCS6Dz81c1F84dPFW0KG9OfkTP dVVmTw3ik2EXQAyUdoV5n+I7VYVwmDb2okmBjXCeO7Wz1mjNP4menOfsUTPbsu2jLk3BBk2QZSS WG/nyqdLtkp6KXTYPYigeiP/wE5WsidsVS5bB+VZWBOyroinkMSmdcy8eE3b78Eig11qEBey2Kd V0P9CinI X-Authority-Analysis: v=2.4 cv=J66q7BnS c=1 sm=1 tr=0 ts=68c03f25 cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==: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=iYH6xdkBrDN1Jqds4HTS:22 a=ST-jHhOKWsTCqRlWije3:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-GUID: Uhr-7exgKW9NnXKJKZuo1PNROTImxcZy X-Proofpoint-ORIG-GUID: Uhr-7exgKW9NnXKJKZuo1PNROTImxcZy 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 Status: O 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..280a5f82ebb0c792a0667e9f55af103f29ff2948 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 drm_bridge *bridge, break; default: drm_dbg_driver(adv7511->bridge.dev, "Unsupported HDMI InfoFrame %x\n", type); - break; + return -EOPNOTSUPP; } return 0; @@ -967,7 +967,7 @@ static int adv7511_bridge_hdmi_write_infoframe(struct drm_bridge *bridge, break; default: drm_dbg_driver(adv7511->bridge.dev, "Unsupported HDMI InfoFrame %x\n", type); - break; + return -EOPNOTSUPP; } return 0; @@ -1328,6 +1328,11 @@ static int adv7511_probe(struct i2c_client *i2c) adv7511->bridge.vendor = "Analog"; adv7511->bridge.product = adv7511->info->name; + adv7511->bridge.supported_infoframes = + DRM_CONNECTOR_INFOFRAME_AUDIO | + DRM_CONNECTOR_INFOFRAME_AVI | + DRM_CONNECTOR_INFOFRAME_SPD | + DRM_CONNECTOR_INFOFRAME_VENDOR; #ifdef CONFIG_DRM_I2C_ADV7511_AUDIO adv7511->bridge.ops |= DRM_BRIDGE_OP_HDMI_AUDIO; From patchwork Tue Sep 9 14:52:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 1051 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 76ABF35208A 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 (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899LwPE010079 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= 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-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 491qhdwce1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 09 Sep 2025 14:52:23 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4b5fbf0388eso48016351cf.3 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=hU9nLHJOr+FI8gjjHcytQuyzAgHxWxuXDQEJWaYn3YkP66wNzwZGcB0TKF4tUZPzV3 nS2ct1UQx8KAbfX2D8PWvQEVa5ebWM9ARAGLTPuWgr7yVELBQ2E6XKND2eCEGrD20P7o QPefc55J3oKUMUlmQbwV5OssGzqBxN1KuxU4YAXAlgdyx7uqU4Npk5SuEEusvtB/k7IV 6HNHUOHPQPpIjO/e61Ag1Iufq0wHdLHeZKWbedkxiKeMeedJhiytPQ8iBHEl7flWRxdB 9DToecrFUMcEFQFlUS5BVhc8mxe7J0R6uzsIne3dK6ajFCvmtkVfBRttqVnApskLx61V kvxg== X-Forwarded-Encrypted: i=1; AJvYcCXEkOc7jGuPoVkrxDFcCtXv5QJ6YTlYbGcK8PZxl5QFRYUb05m/XqAQOWs5Epf2BSu96zdzbsXBQcszOA==@lists.linux.dev X-Gm-Message-State: AOJu0Yy+MvTAELy8NnvhEQlorvn9aXc454l9pADSmfdHx6D0H19cOX4V zCJ69vocsg8OsvtrB1der9VYut/OPZk9Fr53yksc1v9ESeD8ASoQbDEDvGNEuZkNYSpxrDoEqTQ jPj9DuXs7/b+SISHVgw+L8dD7w8I6aHK5BFmKE9qfSi934pKi2kHGMHzu6wNT22FpTw== X-Gm-Gg: ASbGncuC0FWF7ERv5mXIs2sVyV5ax0F6JnjrlxoK5S6nJ7g/D5SBRxQ8laXwQdYlg3W Fcn+Lcm3AclsyqVgMZvoKVKZ1O6M1XACClGGYphW2vuqoP9dFeE2L3FVJD0dJfBISVU1sX/mMJn 6GeINDTBGYT23xb8cpF5iY5A5S/SzfbmivLgwzgEiIPnvdyoLItBdMcY6lwyNUPOaw5M/hG+/K6 X92reRdhAEE59jofnzqgyoXuG/kI1GgNS8u/m9S/8xF+rpZHqCZj7UnuEmPXXuoxlicSWDXKO0V nVPfJmzeTfuKAuVm2h+ieKjSGP1cLQS11utf1Ku9luDWAaTGCvOYSAWbEEOes4Ce4GXmBlw0EEy C3i1Rfal/R72z2OuXqhLN3yuC6vEDpP0ZZLyukP0/osaEPCyItNhz X-Received: by 2002:a05:6214:f2d:b0:72a:f29e:72c5 with SMTP id 6a1803df08f44-739323029c7mr114734786d6.24.1757429542268; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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-GUID: D5QbK3QO6nbxsy6iBOW6GJtFCloxVacn X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDAzNCBTYWx0ZWRfXwFoyf/Nrf31j iSQhLYQS8eqGuZOw+HPS8Gkv5SRcqI51nskRZbFpBNVYa5K1LkKRTIZEtN4MO10YLm8rIl6uSzd 4DyellwwKNKXFIzFrecv9MtPHlVL3jszQyDMOTwb25LU9StxWK408IG7XLozfRIy3fgkHR0s3CM brv0bWCIABsj+SOr5/OhRSt4ZBw54NEqnOwAVMuLpIseipkv1eiSDjMocouUJimIJbjmX4uabMX b0imFU69SkirOy6FFZ4YyrkyB7kGd7l6AJldRLubUPVHLAPjQ2lAyUGVTNqobMZd2+JP0aGSUhR 4QXAEitjyVh2Jp1yBlhKVBarQsOLllmCIfJR94gw7sUlKrdIxUPFbJ32BBgcpk36sf/Wnlr6974 Hf/HoZKl X-Authority-Analysis: v=2.4 cv=YOCfyQGx c=1 sm=1 tr=0 ts=68c03f27 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=LFZCy68fuonoWmFi_RYA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=ST-jHhOKWsTCqRlWije3:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-ORIG-GUID: D5QbK3QO6nbxsy6iBOW6GJtFCloxVacn 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 Status: O 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/ite-it6263.c index 2eb8fba7016cbf0dcb19aec4ca8849f1fffaa64c..691e2d8a721bdbf99ca2dd49a45ce508ee7d9591 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_bridge *bridge, break; default: dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type); + return -EOPNOTSUPP; } return 0; @@ -813,6 +814,7 @@ static int it6263_hdmi_write_infoframe(struct drm_bridge *bridge, break; default: dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type); + return -EOPNOTSUPP; } return 0; @@ -899,6 +901,9 @@ static int it6263_probe(struct i2c_client *client) it->bridge.type = DRM_MODE_CONNECTOR_HDMIA; it->bridge.vendor = "ITE"; it->bridge.product = "IT6263"; + it->bridge.supported_infoframes = + DRM_CONNECTOR_INFOFRAME_AVI | + DRM_CONNECTOR_INFOFRAME_VENDOR; return devm_drm_bridge_add(dev, &it->bridge); } From patchwork Tue Sep 9 14:52:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 1050 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 B9728352FCD 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 (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899LRZr032181 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-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 490e4m0f5v-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-f72.google.com with SMTP id 6a1803df08f44-70d7c7e972eso123820776d6.3 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=a3dr/c7soG20DEBJGdgD3P2Z7x2MJ+rBIdyYYHM5QnKhQD4LSgsdRf7ytXfjFBY/2p FwMZhqDwdtyfnbKyz3+xC/TLKkCzhygsvRgsKjzYmGKv82PkajH9gi5zXjOWqhZnsvUV U+8xDFFduChTJdRHDfGCuoJ87slPmVHSiugAhxLuGsQ50EcETRhxitS6MUQUj5sXWQ/g P4Pmgz/pYwspRM7ZCpB7mhBAw77gf4VnjTiFTjQVaI5DfKrpmk+gpg8kdsdru1XRE+Up 2ZxUphha+2ZxoouHJadZF6rJIkQjb+FfDGkLVUrNVc9ap5W6WYMA4ZkyP4kYiaTAKtXD aVjQ== X-Forwarded-Encrypted: i=1; AJvYcCX3ANlCmV+rhsVh/JDosoM1rrR+sHqmq6432dltH00UYmL1+CfMYjHhcosreckujmnrb4y6SMdspL26pw==@lists.linux.dev X-Gm-Message-State: AOJu0YzxeyMOiyGulQ/1pQ8I9JuDCFFo0mo3sueDsom/aqJUEHzNPau1 +CfN+U7v1vxfdwOE+iKW0QYWAMcE6MZeOCObHsrV+2VnFZBmfeRwAZpFTZYiyiC5vV+qKpGwVId aPtXEyjUcoio4+K0qOi9Z7oRSVP73jTUwUBDVCC3BNt8X6lnJ/Ceg+9LUV7UguCjNOA== X-Gm-Gg: ASbGncuPlxdGUbl5RXf6BMw5cMQTauzNgPXY83w7mUTI80AjoQHmD7RPWNCLPbR0yc8 abY+TzlrlZ+aVqnZbRvRju1QuJLYnpd/CCIUMXyeO5vNjdMcCIm9Kj9EGN8Ic9UgV7vOQt0VunU i/zi7S50WZiqgY6pl5oFiPPy9mOhbO7aMai7Qax+9QYt+e5rRiMZdMHgNzObFh/VllLlNyxQll+ TeRGxjTH+wWMFSgbRmwKS3tw8w3aBvQZMKIZM9eVk6u0EyETztekDF/meNGCRTck+HseY1N/2G2 zzXcwWZ+hS1HG8j6pND1bQmO+eatkTQsxFTUQ8UaZoYU49hyFwWvIjg5v23nZdFpkd61FlgXIrV wkV++93QnzFZiPBLGXA2Nq/FWYuNDtG2jL3Vbj+fMjX/ZawXLZ46p X-Received: by 2002:a05:6214:448d:b0:741:12df:785b with SMTP id 6a1803df08f44-74112df7c16mr114471316d6.43.1757429544069; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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-Spam-Details-Enc: AW1haW4tMjUwOTA2MDAzOCBTYWx0ZWRfX6Aqehdz/WnCT rBF1WIvTQLqwzlg2KQtXgMr4iLfr1Fr6qhd6H6lbX1xn82o97In6qMwumopH56uLHVTg0+ujIwV VD5RxjBKbLuYvMo8nQMCY+DJ7pNA8IL12DFwpL/NE137j/Tk7xIKklDXtqD1dYV82KrIL2dYxIH eEUS4q4x7kpSCy4b6y24BGW58QfJFZ20IYPLqLCIqU3P8vy33jAezFkYu5j0WC3lZPANizJPiFb cMjymJrpgOuBrQ1kuBnkCTYjPOgtqvqaBj+p8NSs2gGb1g7jMmgj/ga7nEe+YbNyPZmNBiS9WOO z0LONGes2SSDKe0T30bNryJnnnpColbBqNo781tZgjv7WY3bNKgyuxCTrjepuo7byl5Tx70dch7 BEzOK7ht X-Authority-Analysis: v=2.4 cv=J66q7BnS c=1 sm=1 tr=0 ts=68c03f29 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=QX4gbG5DAAAA:8 a=EUspDBNiAAAA:8 a=AMvF8s34Jxw15HKoVo4A:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-GUID: AzOKof-DHa-tu1BYv99-mI3eR7GA7k0W X-Proofpoint-ORIG-GUID: AzOKof-DHa-tu1BYv99-mI3eR7GA7k0W 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 Status: O 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/bridge/lontium-lt9611.c index a2d032ee4744715b88eb66883edf69bab4c274b0..019114eb343764dbc3da36ab02d53ece11f46adc 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_bridge *bridge, default: drm_dbg_driver(lt9611->bridge.dev, "Unsupported HDMI InfoFrame %x\n", type); - mask = 0; - break; + return -EOPNOTSUPP; } if (mask) @@ -911,8 +910,7 @@ static int lt9611_hdmi_write_infoframe(struct drm_bridge *bridge, default: drm_dbg_driver(lt9611->bridge.dev, "Unsupported HDMI InfoFrame %x\n", type); - mask = 0; - break; + return -EOPNOTSUPP; } if (mask) { @@ -1136,6 +1134,11 @@ static int lt9611_probe(struct i2c_client *client) lt9611->bridge.type = DRM_MODE_CONNECTOR_HDMIA; lt9611->bridge.vendor = "Lontium"; lt9611->bridge.product = "LT9611"; + lt9611->bridge.supported_infoframes = + DRM_CONNECTOR_INFOFRAME_AUDIO | + DRM_CONNECTOR_INFOFRAME_AVI | + DRM_CONNECTOR_INFOFRAME_SPD | + DRM_CONNECTOR_INFOFRAME_VENDOR; lt9611->bridge.hdmi_audio_dev = dev; lt9611->bridge.hdmi_audio_max_i2s_playback_channels = 8; lt9611->bridge.hdmi_audio_dai_port = 2; From patchwork Tue Sep 9 14:52:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 1049 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 E9D30352FEE 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 5899LRWO029818 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-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 491t37w20t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 09 Sep 2025 14:52:28 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-718c2590e94so157521866d6.1 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=1757429547; x=1758034347; 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=GNhy9JtVY/6qFcobch+ky/aILupcAz3mKuFI91vlCqhcbw+E9VZrfAtgNXwjJUlpfG WWqGg7bolbtA/FA6voJ5wXDIQQgEsjwya3y8/Xk7SF4YBK7iYRfYmROWiiMNbPlNQhBa HLRqD60B3KlNQHND2KV0nHBDK1C28bWW6y2tOtNy8UImS7y4lWYQ1qpoTQBbxmfqc28K Df2Q4XRRiQC5TrqV7RIq/IXnaFcg+SwgNhjH7syYd8XeCi2NvYaGWvG1TAQoeaOBpzC1 wlajmlOlDaXi2ANBrzKAlEKG1UGpsp7aHWZB5dBZBWm1VpVjwCkWVshwqkXyRy0tbKAP f+9g== X-Forwarded-Encrypted: i=1; AJvYcCXC4+RFIVT9SmCuIzkv/G6VFTqpDpnxwYjh3qk57OmBVlBvuY32ye7TggTKVp9znpd/ZfugB6flZjzLyQ==@lists.linux.dev X-Gm-Message-State: AOJu0YxNc78pyfW8xy/XPzbPXi7csP4u4RbDuy2dgE1DLEevLu3wHtKU rtuTc5NJw3HEH47Zv7MrQ4xfT0Q+tVcN6UvCeQ3lF38825Jw+/veQ7BDi37yr8xHPik5SobKqnJ TVLemLY1iKg/DBPh0BjbyGXRUwMXU9M9hPMDYz26FWe/f7S02Dg4Sk8/JKa3J++IS/Q== X-Gm-Gg: ASbGncsnpvIT46B603Yj1dDH0LKuPN9py+0bmQDdCBgOR1FSIeZySKrlOuXdVbg71GS KSfjGDltC3RQspByeTxNdywu2l2D93BlRVtrDktCJ1wQVsk12mIpuFxIBOIbr7h4HAPK83CloFe Y5rlEGE7mqoifUo0kfqxmY47SuMxRkwRgKrm5sr1XGTwTikhcg1tlet7mC1MsXf9R+1U+VFzsX3 uVDRx4FlqtNR4cfkuBxLDrcZKw4koQ4hV87YxQVUTRC06tHNTbb98VTtPBSF/OwjxjbwjTPJj19 bxJb4x+64qpWrgJ1I2EtD0pLgOeQ3STeMwWl2GAAKnR67R53Q3Pu3TsN2bnCdyVRaBG0/aCwLLn daY2HtyGp+K6wAY6wlwj/kHyCNLVpCO6zVmZ4Jmd4Mw3vR/PeuvaI X-Received: by 2002:ad4:5fc5:0:b0:707:6cf8:5963 with SMTP id 6a1803df08f44-72bbf3fb0b1mr158064516d6.9.1757429545952; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: rFboQ8MhH6k0yehmqZFxofTMllO_3UOm X-Proofpoint-GUID: rFboQ8MhH6k0yehmqZFxofTMllO_3UOm X-Authority-Analysis: v=2.4 cv=NdLm13D4 c=1 sm=1 tr=0 ts=68c03f2c cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==: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=1HOtulTD9v-eNWfpl4qZ:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDA2NiBTYWx0ZWRfX+0KNJlPYPNVh BB3KfvwNGvNwIBIi2EroUc2NzkZZGn1RK5jfQ44MS5ikAk5kZQxp0523bx7Rv0aic6rPm7FGUVq r82hLVUiBoB35Kez/JuMktR+MWJCtn0vQTCM/CkmgO+q3n0rZiEpVa/qMUPhf6qYULnekrtSOyS iBDoAxhUjS2T4Nlus2pWjhdFPLZE/IOBKgpTCZqqol+hDkJZ1G9W9cOTooYbJWf6Grn6C1LsFPZ GATEvjmkA+eLAN49xxQFu14EicUliBUcS3ZWyhZ7pycFq69VLUE8lpKgqN2pWRqffzd5PAjAF37 HA42a7hmxnP+DIIVCMhTRgMfBREFeogUDZyf/+o/cfyOZb2Rh42aFgskqc1L2peFfF5LsDG50Yl Qv7WlAqg 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 Status: O 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..9a195c479bcaf112f67b6a2f085402d0e33896de 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; } return 0; @@ -961,7 +962,7 @@ static int dw_hdmi_qp_bridge_write_infoframe(struct drm_bridge *bridge, default: dev_dbg(hdmi->dev, "Unsupported infoframe type %x\n", type); - return 0; + return -EOPNOTSUPP; } } @@ -1084,6 +1085,10 @@ struct dw_hdmi_qp *dw_hdmi_qp_bind(struct platform_device *pdev, hdmi->bridge.type = DRM_MODE_CONNECTOR_HDMIA; hdmi->bridge.vendor = "Synopsys"; hdmi->bridge.product = "DW HDMI QP TX"; + hdmi->bridge.supported_infoframes = + DRM_CONNECTOR_INFOFRAME_AUDIO | + DRM_CONNECTOR_INFOFRAME_AVI | + DRM_CONNECTOR_INFOFRAME_DRM; hdmi->bridge.ddc = dw_hdmi_qp_i2c_adapter(hdmi); if (IS_ERR(hdmi->bridge.ddc)) From patchwork Tue Sep 9 14:52:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 1048 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 5A63735334B for ; Tue, 9 Sep 2025 14:52:30 +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=1757429551; cv=none; b=AZJ3nqBTp5WyzM3EvIyVWJDHgG+Rfq2fZDbj8iSJlQqzDZ47vNYiHvIlhsHhPL7OeXULAx8a67mgYLPEkxJ9smaYaQ7ediKnAj7l7DO+ejKfpQrNpYIPZCMOBYlPecZvM8eGLD59NmQm4gnZ0H+yCaYSZlNKGHgGcOyYLKtX3SY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757429551; c=relaxed/simple; bh=IJZghCboJx+n0r036AP0jF7y3adcwBpcry6IF9spRKw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Qe6+UmLhMSO/4d79BIDvraC6baN7pIdFgCbU86FeXEEIdLxYBUhgN8JKPZUmGAeSDjG/6cdigu8RQtUQKzNABHa+vKgbRvm9wUie5uOowHPEBL8KMq1BRK6fCajdzgv5vsgWvYatXFdGEkIb0ks2ngtLVF9fvo9JSIwl/XNXRrk= 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 (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899M2h6002298 for ; Tue, 9 Sep 2025 14:52:30 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-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 490dqg0e02-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 09 Sep 2025 14:52:29 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-7296c012f6bso116933666d6.3 for ; Tue, 09 Sep 2025 07:52:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757429548; x=1758034348; 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=Ml2rEDIZvyKFhjmeYslXWsRDreuMg83ZsN8fW3RN5cuIzPm7KFnt1pqYuLrfVLrFGe FOe6Jin1UXie8VTebuMMPZZW/OEcmWSnR1wMw9g6OxgZuVYVcwz15rt76jPipS06N3ta I//wYN+x5evhrOLHLC8IpfjZvJcfwDt1ystu1AGsL1SMuwyx8blG/4MST+5VVHz8vkEk PrBYoSQEErUc9xlaPLjqBntY0IVH3mHeq4K6CQtfc6ueYtICsDIwwPkUuw/ijQSmFont uaXfqAW5FHXuIR4PkMoe8RGPiP/u/navKXqVm52hGLCnNqgtHg2Gcz8F2+alQn/Rs8r2 ICFw== X-Forwarded-Encrypted: i=1; AJvYcCUNCAI0z26Qf4y2A91cWTDv+jZe/q3AXboQMz3tbxSy8XLMycGW6C0L1e/mbxXxzYdegDICzPZEvsnpWA==@lists.linux.dev X-Gm-Message-State: AOJu0YyqNEF4d5wInss+4DVVeWwo934r1ohOh3qIG+eHXckhp5cJA+zX kVqoBjKm8Q7w5AcxfKTZyuavFmpPpPVjvB8/gEaUNw6X8kKd/yNKWXLdIXFPK9cXeNgO8QxG5h9 lwYfhrbCx/Vmbu+FIWBk4DRj60MtF5bl/Rn5dPH03QkYBkEMHcbTOV50xq4MwCUrFhw== X-Gm-Gg: ASbGncvi4sZoNtWagBnnRFGSt7ceSdViNAFuw8+de5DYaaNIf38ZwE0oZ6kD6Ww6KFG CDvmojodp0Cxeh+607bW5STJltTeaUg88n4m3Cqx3ChAXBVyVn7s9MiriHORoEHUgkcDb/mIk4M 3TLCEy6UXDNIu3OO0x3vyAHlMGRT9je4MVrg17ukAr6ckkoX3HdrfHECFZmKtEeMQf/ziwrseSK POneDu91xWmIJgeraTtC2mGgct9LyJKhrDAu3uPGbjqb7H/yqLzd0iuHLjok9muzBp84IEhYCH/ akEqnxSRVgzZLHNsTz+eIxr5EZEUhi+LNUiC/illvD6oIbIF10uHFkeXHjh/sHvlcQwKIVvOXI/ 8i3oCL9XXdfCXJIzsydRUthg1i8MJddCqvr1SN9kO0amfuZNjvciE X-Received: by 2002:a05:6214:20aa:b0:732:10ae:d55d with SMTP id 6a1803df08f44-73919c9e239mr146164446d6.4.1757429548181; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: mfT-zqVDKeU48sbqq35NFbzuvNrHdJWZ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA2MDAzNSBTYWx0ZWRfX9bUdT6qdNqhL FAFddIWfwXh+tJMWnfbbqIQjk1/mMFDp1GUow6vAlcWmk/d4Mp4YE/m5K0lLzqzRH5o5M33SB7C eeWsr8aYXQWcQ+n7cz1stBkrVy9Ogou+6ws/0/yDzY76MLrYM7RIeCm07NeWhSfZCAbaZ1skwMU jyR+e8qiHyppNjxBOb2GM4XuDQ3pyS+OsGabF42nv/0m+1vsUr7hhLzVJFyQVEawz/YrtH8GTYy 9JDmkgPmbzDaO9VIIdz1Gf0Dm0SFjhRn2c0GbGe+rCLzYnKO8Ge7F0X8g2qhZ8PoZRWuVVD6eol hOE0ECStw7Ez8tiDBzgi7h5LDElzsR45dFDQ27qYW6gavjItHqCWdZL9dkDf3WTFVUO0CvOFkk6 hdMWx4AG X-Proofpoint-GUID: mfT-zqVDKeU48sbqq35NFbzuvNrHdJWZ X-Authority-Analysis: v=2.4 cv=N8UpF39B c=1 sm=1 tr=0 ts=68c03f2d 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=HI3Jv4oHZFu9xgwai2MA: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 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 Status: O 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/hdmi/hdmi_bridge.c index 46fd58646d32fd0611192595826a3aa680bd0d02..f6ba8032904187a2f169456052b0e4cbd60ab919 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_bridge *bridge, default: drm_dbg_driver(hdmi_bridge->base.dev, "Unsupported infoframe type %x\n", type); + return -EOPNOTSUPP; } return 0; @@ -274,7 +275,7 @@ static int msm_hdmi_bridge_write_infoframe(struct drm_bridge *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; } } @@ -498,6 +499,11 @@ int msm_hdmi_bridge_init(struct hdmi *hdmi) bridge->type = DRM_MODE_CONNECTOR_HDMIA; bridge->vendor = "Qualcomm"; bridge->product = "Snapdragon"; + bridge->supported_infoframes = + DRM_CONNECTOR_INFOFRAME_AVI | + DRM_CONNECTOR_INFOFRAME_AUDIO | + DRM_CONNECTOR_INFOFRAME_SPD | + DRM_CONNECTOR_INFOFRAME_VENDOR; bridge->ops = DRM_BRIDGE_OP_HPD | DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_HDMI | From patchwork Tue Sep 9 14:52:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 1047 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 E84A4243951 for ; Tue, 9 Sep 2025 14:52:34 +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 (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899LQKV020143 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-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 490e8a8g6g-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-f71.google.com with SMTP id 6a1803df08f44-71fe8dd89c6so133513056d6.2 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=ska1uLh0Qz6O1uk8/2PUgPoVD1s5ob4bSUCSvjf6sbWpPqSAlcJFCJpCOJCIyTrqZ4 0hzrbnmCGeqZ7j+xqtxJ3nZmjQ29enDOpVdWMXG5Q2IL3Jw4R+PdEa7Ak2tP6lvjfm6p +i4xJmysftmqcCG43ksiF51glfJO1cQtC/l40QUIVd9mD6gjNB/Wdcgj39WW92FvK3VL IceGL/WYpl5f//BQwYENyw8A6r903QUlR5M7PKlhuxh8w4b4v7GpruFJxFA9enQiWnhZ fTagdEphv2AVCJf4XanIKzZujGYcjSjNqT76ob15tu04bDN3twe2hYOk9Ag1+slIg1v8 AfJA== X-Forwarded-Encrypted: i=1; AJvYcCXhlj8tYBU8pqjAHEO6zNLnMeoQwjSTyItXxlKyDbk5bmgwvGgiIeNZgwuWJZwlC5YcT8rZOUQVczhHEQ==@lists.linux.dev X-Gm-Message-State: AOJu0YwNSZivxdxIvPAq7cb0VvwD0wlZUUOi6aeTIy/DzZ2sAlPM7b8w 2nFxqz7Tnwhd/x8JvzsHwL8vcNVpK9Zu08zJ0Lq/E2fh9XDsfSeNNehrwfMMnJR4YYthrQ99aH/ KRY9MhEcI1EurhZWyCbRahMUb5RcxxODiHWIheu3hAADJ8MDZfE2ftOjo2/HddcQY+w== X-Gm-Gg: ASbGncuSeA4c27bNuH5rwSO1Li1zH/SzjixBIQGD7ZTZMOXQPJ9H7fene/855Lk8uKO TzNbZKjKWTJx2+roa96PYpEWTMFoCwtA03bwd5DgUXqfNWBm66eemupW7kRHNO5rVm6/myb0g9W 9Hnl4pKWuCkaxXj9rLZfuFfuayyewPjN0w1x8Xd9HBzXQ152OfiDckEfJCASmGRPGMLVRBJdN5o w8ttkI+ITwXmLrb5AiL2glt8qZjN38lNdK247orkNMCgcVz2MNCL6Vv7nLyNAqG+GHnq/RGL+pX MrKeeMf3Z19npdtnpa/Z6CN8ezalFLTBGmw4QyJoVvrBM7fjXx2o/Ba/zO9jUeNuBgbAxzEWfUP vcVjEZVqMsz1mJ71bN2iq38jTi9p5+9kDp8muxDNZAcJkFgWtQVHb X-Received: by 2002:a05:6214:48c:b0:70f:a42b:1b60 with SMTP id 6a1803df08f44-739313a7cbemr151871996d6.19.1757429552592; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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-Authority-Analysis: v=2.4 cv=H7Dbw/Yi c=1 sm=1 tr=0 ts=68c03f32 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=jPQHZD_Wlk31EOZy1E4A:9 a=QEXdDO2ut3YA:10 a=1HOtulTD9v-eNWfpl4qZ:22 a=ST-jHhOKWsTCqRlWije3:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-GUID: 6-b3ead2lLkuwdrZI7kc2KN-OgE6IM4F X-Proofpoint-ORIG-GUID: 6-b3ead2lLkuwdrZI7kc2KN-OgE6IM4F X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA2MDAzOSBTYWx0ZWRfX8aFDYOFlRIjJ Gyah2G3DO3GJRQmKGllKwqfKFcA7kqxRBImfauMEf8p5wu+/WV4r/JaeczmwZ0Ium6ZcmfkhLjp QukUTR7l+Ta6y4lOkW0d4HDOWXqFmAuXtCK7Y/ZKw2PDpZEPQByz/fMLrIoYPm1SnWyhbrvzRHm jOxju1zjPpSNKjAvEXe3wA3ZL97sAY1vWDDNOfjeQ3RXBakoe/mRJYSB82z63OoVDO59veAV7p5 +jAQYZzWZ2HQqeSB4tIpAnMGuz5I6G+JkhW8vI4LFlYdoDw56XlRojr55IQpk83MFwQT11NJv7W WP8tHr8NCYripT2jCjkcr3OO48E/XbUk8sNhKUE6h+Zf1gsVMdKjyPWxKZph7A3zh1K23AfpJRs T1QDaE0x 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 impostorscore=0 adultscore=0 phishscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509060039 Status: O 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/rockchip/rk3066_hdmi.c index ae4a5ac2299a93a49f87df7604752f6b651c839c..6ac854c0fe4d155b351821782a6d8bbd550de656 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 drm_bridge *bridge, if (type != HDMI_INFOFRAME_TYPE_AVI) { drm_err(bridge->dev, "Unsupported infoframe type: %u\n", type); - return 0; + return -EOPNOTSUPP; } hdmi_writeb(hdmi, HDMI_CP_BUF_INDEX, HDMI_INFOFRAME_AVI); @@ -182,7 +182,7 @@ rk3066_hdmi_bridge_write_infoframe(struct drm_bridge *bridge, if (type != HDMI_INFOFRAME_TYPE_AVI) { drm_err(bridge->dev, "Unsupported infoframe type: %u\n", type); - return 0; + return -EOPNOTSUPP; } rk3066_hdmi_bridge_clear_infoframe(bridge, type); @@ -696,6 +696,8 @@ rk3066_hdmi_register(struct drm_device *drm, struct rk3066_hdmi *hdmi) hdmi->bridge.type = DRM_MODE_CONNECTOR_HDMIA; hdmi->bridge.vendor = "Rockchip"; hdmi->bridge.product = "RK3066 HDMI"; + hdmi->bridge.supported_infoframes = + DRM_CONNECTOR_INFOFRAME_AVI; hdmi->bridge.ddc = rk3066_hdmi_i2c_adapter(hdmi); if (IS_ERR(hdmi->bridge.ddc)) From patchwork Tue Sep 9 14:52:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 1046 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 8E8483568FD 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=1757429558; cv=none; b=JJd0Td0xI9Wy+uxDQ9b0qB12SGd4AoAe2QBo3jn4msrwl1gEutYkNOFIK+PHtlZI+HrnKyQL4gkRTaW1q//aO5YJNrUgVpqEJ2P43Gmth4guoqmipDkgLiHJEXArblmWzx26ftRQcEIfHZxGRtXz1bSE9LXTAjgVzyMPRe8ywjw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757429558; c=relaxed/simple; bh=SH5p1NXLdtPpRbZHLxmXRUJRNEhWUgJZ/FZhGKys6U8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IY4tmPruwAgspnJW51DZWJxCb8r0BWAigzHkesgBomrwrSkjyTpj9hH6EcmL5UydYtAPTZbzaM4W1hhQ/WWSS5VWgvbCn1+/c7AcYh6Z85PgTXDtt9CXTXWY3NaShiz8cYebDC3XZPXgHznx0Bl5V0XiQI+fA065hiMleG6M7Cs= 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 (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899LSeX031510 for ; Tue, 9 Sep 2025 14:52:36 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-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 490bws8puu-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-f198.google.com with SMTP id d75a77b69052e-4b5fb1f057fso40404941cf.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=SuhFZGjzDmjCvisja0O3Kmuhih6j6RWZvJpw54EHThYu7UUt+X6NMAW182Usp2207e hUfMoF8Pyzgt2sYHpGzk61eXgD4ol5j21IZsuHIl+ImMVsvoVSDJeQrZWRpns4MNRghY 1QNM2IL8buQt1+OZOjeOLZ06MInmSovO1VQvsc1rqus5NNjLx2yUBYlk6BmM5RRnkijI 5S1djoRZtDCo0LeyU+8xsO2110EDAvC5clzRC5PMWcSzhduawL6XbenH2tyrYnyw4Qm+ W6LRitIfwDjeErlmLT4ivMR2BmGQsOPzD4AcluhhwDwA7vy++PUtmzm3o5argcJcrONf Ydew== X-Forwarded-Encrypted: i=1; AJvYcCVFkYDVmmR7Qr7ZjFMRRHWLtKtrbi+ifJDE/nxH2bCGcC1zMRAfeiwJfVZk3BIuud1Y38jyFImYPLtS1w==@lists.linux.dev X-Gm-Message-State: AOJu0Yx+ee46X2llKinixGw6YWiae9i6t5LVGOj3cy5GD7gn2ILotxfy zv7T7Oy9utM7EDiOOlIfqEcfgxFf25kGGwumDNYkzyCQn6MZOx2rNlAS2tSUaGIko39SNiz+wiX CjipJ8atsbrC0lK6dun+0d7h6UtTi1WV7R8Xgw79NQLC68TK1DMilQeC3WdSpaV9Ghw== X-Gm-Gg: ASbGncsdf50I6zTF1yRYZDWSqbAgJVvFhfUaadn/WtgdSbv4jXMp5Ejdmu7Ksc1ISJQ H6CWmCWtEbO2SGexr3jaerkmyrPiJxVrcjcvylpSPuzD16gUXgfqepWVVcP4vD92U9IYayhC/P8 P1Au5vGSm20dEJpU4lQGsCZZL7USFMGtrQAS8I8QV7VB6Z8cGyBXd3hE6AkW//wzUL1iPv7cif7 zgrW6vbzlD/MqkJ3c+xzYlvcJ7l1yZRd8NzTJ8B/oy623+JFY5JAFzBBtR2Wq9+PhGV63SlASiH nqcPk4hbUAJdzCKLVUUCu/Uj7fkHB/sEfCWSLYfRSf/VjzY8VTkrqPyC/yVwyWwslU7LMw9Bazj cGtB2gJaqgFtbKF/AT1+acmWUhC8D6U8w91ddyTBEdrwfaVxJlxNd X-Received: by 2002:a05:6214:21e9:b0:709:cf54:2cb6 with SMTP id 6a1803df08f44-73924e24079mr131513756d6.16.1757429554104; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 47vVa6exTEYFpzwmGaeQQvC_FhDQDgMg X-Proofpoint-GUID: 47vVa6exTEYFpzwmGaeQQvC_FhDQDgMg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA2MDAxOCBTYWx0ZWRfXwvCwnqgbXLar jY29fYGIbF74Lrg1NK7nj2eVsx5Uqxh4D7lOe/8FXKDd+fif5AaTjm+h0eLiWswdI3eSJNzgD7A INZHtl+xBO/9Pdx14OSQ7eKohQH25KKITYoGD0z7ozmUQicBqGoeSp/vxoF9htHncFv29vdRxVR tuwLXggrGDbEwCQlejXCNb/xiProz08nYLDndP7IRNODFLL0EXbWv9aSl3l8j+yAGmQm1HXUdYo zPjR3nO5urS4G4588P7bO15P3qJjQOedE0Ab5mqjxz1vhqVVaNbwySKvY+IxBZ7dL/r9h58HcFA Oc65q9SeljwByj5zoPHy2UI6y3ZFBrW20RtLkNO1MM0diVG+cUNxlmAQV052yjnU6tM9KXXPBjA 3JuvheKT X-Authority-Analysis: v=2.4 cv=G4kcE8k5 c=1 sm=1 tr=0 ts=68c03f33 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==: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=dawVfQjAaf238kedN5IG: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 Status: O 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/drm/display/drm_bridge_connector.c index 55bf5ac53739fda098be69a5c61e4934704ce046..05dc2b61643af5316df431a3cbf53b86139a63e9 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); From patchwork Tue Sep 9 14:52:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 1045 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 CFE0A356918 for ; Tue, 9 Sep 2025 14:52:37 +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 (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5899LQWf009097 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-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 491qhdwcg6-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-f71.google.com with SMTP id 6a1803df08f44-73b7a12ee87so67499756d6.0 for ; Tue, 09 Sep 2025 07:52:36 -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=g1fc6xVBPHhcjClQ/16ztButZqHneNs3tmJqCUlqi4/u/+rybqtJlv9gzLkFttguSv yl8ZOLpI9j0815wNCWtv9qpVZyxDu6OdQnzMZUQT5CRVsIt//wIuCVT4P4hU7YTm67tt opXfF5kwwEA4HQQb4PebF4J/utbvpKMKlRC+Tf92auP42EYN/U67ZmasHLr55L2pw78E SoSeX7+14TraEE8U6RRlGRw2pr3e7Ws/cip87RFO+qDkuQjKZB+v98oWgkd32SF6LVks SGGeXc8QOtjbjHDhYmjc9oQcvshXysIY019ChfvmHdMlSVkomNhChth10sctTy6q179T 14/Q== X-Forwarded-Encrypted: i=1; AJvYcCX4PceR4RDMZiY7Jbr0xLc7l1nmjmHPpWYeX6n5u7Z6xoy3L+xic+hK/7pGrHxHhUXrp7mXxTj4GS6HwA==@lists.linux.dev X-Gm-Message-State: AOJu0Yxde3Q/aKhn0yviq98XTAjWrS1wyFLMonDacXG3B9ywyT7x9cvd 6kAUDxwnbbb+5/F89JZdCuSNpnwFkt+e7x3U0fZww08XjabwwuajFD+zsVOFqpI+g3Ql3q6xepx YeKwsecmXNPqHEiUkLMIc7J9BEelLsYA5N1vtpnqIGB9ln4FWSIalVCydPPVHcpeapQ== X-Gm-Gg: ASbGncuhlzh7itmGBPYdrGpvd17p4L5OtxvfdXtY/w+WquM+1VCtLRlm6dHpcKJbgs2 UV5RhdMKseN9qStYgkBi52K3RDzXElfTSV4+T6crMqLj14eZumzSHmZ4Sm6tMuNoiuqI5FD93Lb xm+P4mfA+yodtPuA1Bjd+51jmJQTI+zDDbhZiS0iMcb11kN8Wc2JyvWjkOZ0YCtjgNrK09q0rsk 41ZxoVp+OtXH3Rbrgy05Y4l21vlfvhRnm0vfh5oU2XnboOiLAN8KKWNfBofFjpGNoSHd9XtYVfF R0sHv/6OX8hBv1U72HPI2aGzmbqM0lhWZZectV1oIm0bAb7JC4Jj4oHKGwRbHug/qUSWn+nNJB7 ddWUGgDK0zzR96W44xJhAn5VNhsGcbrgQyVrZkA8r3kdtii7W7dhY X-Received: by 2002:a05:6214:5192:b0:719:12cf:50ef with SMTP id 6a1803df08f44-739203491camr137707196d6.28.1757429555445; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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-GUID: D4z2Nztd6ibzG6LkdAYauOzUQiXxyxJA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDAzNCBTYWx0ZWRfXx1mvrWs8t+h3 zTavf/btXk+QDioigNgmtfBUW4vvl8fvi7CMiwOmfYcEkZLysjZsLFD2pPqzhxUixlrC+ZeOgtK cX1lT6HGAXGhHa/Vhzi4l4uUgwCurs2dzR5aSfuz5OolCRB/3cS4fOWLHMlorF/T5x8+JA9sNgp rZc6YU2ftx4B/sTa3ycyds2HA9gDFh8b60VQTBp0M6b4nlOTbOapEiK+StqnYIgi9q2fMINETVu MoE5V9UdXwGLaCNPnvgJjWnWabZl8nkeKJKjha7ejyrNN5bHz/A8AAiFYJULIUhxnJNfc3q7jEU nKB85DrUCN2DD6In0ekiv3GgDPVV3tVA2NvcNGEgN3c1j9bQBIr2sK/ujf59yC3nSaRnFtYMtR3 Q1/WaxMo X-Authority-Analysis: v=2.4 cv=YOCfyQGx c=1 sm=1 tr=0 ts=68c03f35 cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==: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=1HOtulTD9v-eNWfpl4qZ:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-ORIG-GUID: D4z2Nztd6ibzG6LkdAYauOzUQiXxyxJA 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 Status: O 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_connector.c index 92a75684a0f7375d3a94e8c666cb71064ecc8035..222a0ef66d9fdbdb56108ceeb40e7f369d810350 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 == 8 || max_bpc == 10 || max_bpc == 12)) return -EINVAL; + /* 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 InfoFrame\n"); + ret = drmm_connector_init(dev, connector, funcs, connector_type, ddc); if (ret) return ret; From patchwork Tue Sep 9 14:52:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 1044 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 77B753570CF 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=1757429561; cv=none; b=GcATlwZpRNDSVn/i2aTU76CWn2jpTde/cA8grJUDJwA3KjU4spAlBX94eL6pg7uCLNSju/dhMQOdzPNJMDCe4vPP0RLoVCEr1HggQDrWOcpqkRqfZPJYzQvB04goN8/I/YA0Xd4Mq6dHZtahaN2Yg9Tx3OjghQ9oXDktBPUumow= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757429561; c=relaxed/simple; bh=WvduT1qbRYo9sMATdr0cfogagyWfZym9JAGpyIFdd7M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=E6skYjYEFg2DaREXzgFqvqOpItaLwS5v3W7t/BlOGFiSZBSCy3SLO5YU6JAFF13JNCnkzuCmoFnGsV1Iuu2ieiAnWMgYnCYMYhf2LMKRCVkyAxIqvP/6/7tuz04ts21k0LHXVYD4UHox+VPSJsN5Ob/o9P8EKd+V0TmVYjGV6sU= 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 5899LRWT029818 for ; Tue, 9 Sep 2025 14:52:39 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-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 491t37w22g-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-f71.google.com with SMTP id 6a1803df08f44-7585b6deccaso11463556d6.0 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=c8M1CwMbWHVWWH/zNGUNZHfqKH5ntv5v+dxlZ+sO2DWivqU8yWZ/GOWY/0EBaqwOS2 gFXUJ5qaPlDjeWnV6TDshJXX25JL9q9sPswBlEGddQb3cv33vFgE/JVaAUdxEZrnFRFL 29oOvAI8wQiThZFUvUSgAnAZPPhDXTVn8umCoqOqcACs21x52GaTYv1OUfwAB3NTBKq7 yRG3BU6wPj+OcW5YLbcnSVqn1sFxMB/fpgj4rimes4cRbox0r0B/oVCZY8SQBL5ulJyW F8C0wdqxVO7VwzXoXy1YkYwBh+rppymw5uK8llEJ6urzOb5RCKgNsNdhivaKAB93ENjb iWYQ== X-Forwarded-Encrypted: i=1; AJvYcCU3ii2RAWgnXeZ4GUO8HP4Q0EIrE02ebPZgTRgnCyAfaHbXoqDksl2Ms8x+/EgvvfOmCyoZ13xomBQHiQ==@lists.linux.dev X-Gm-Message-State: AOJu0YyFIkMbzULe0ZFgsVTcEOzMpgkvJ6yVrDFyINTSrrKj/Yq641Dm rTNq+rm88Y0EZrqJZj5JzQ3dWVkYVpK4rXJEoJEpGpv5Nr4YNd9v9+WJVxg21Suw0+quv/73GjT fzF6/iLP4K6hARG2R4KwnXtvKCRDLOkYrZiWC2EyWPYU/atMDQCFl/dljPuY/YJcLQQ== X-Gm-Gg: ASbGncu/hbefRocwXnf+sVCcyRvnHE80hFI7qgO1YKNoZE+ELd04ud6LRj9XFvD97RV qaXwDKEj2RmNsLGLjif9xoyKLy+hW9bCoqAPUJY8Mneptk9PDEuT2uNWXB2ohH2mHo3AVEfE2Hy pdKA2M89r8J29/DWAfW7QIniw6VPlMe8fky+4KykxZ55vohw34vq3AdIcvAjmizUcVr7ZJPAcvq Z3yZxP5lovEubT1OUOwuZEbwzP999ELN+RVKvUjT5EizBCxmXOKihn4ECmNf7jyDO+V5uyfKDmM UgJ0ZmnlvdHb4bTr6QtAlUFJU5OxUHkhdblUV0gR0X+4DJMtZGvkDUKphK3J5JHWNs5NX+e4BwY VkwCo3T+EShuW+GL9wBUDBBRRiv7uTo+fzR92YunCxRpYHxdcXcjO X-Received: by 2002:a05:6214:4009:b0:720:4a66:d3ca with SMTP id 6a1803df08f44-73933639a08mr113606676d6.24.1757429556939; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: ULaSHqHcNiE5F3_Jpjo7AUwinNKlT6uf X-Proofpoint-GUID: ULaSHqHcNiE5F3_Jpjo7AUwinNKlT6uf X-Authority-Analysis: v=2.4 cv=NdLm13D4 c=1 sm=1 tr=0 ts=68c03f36 cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==: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=1HOtulTD9v-eNWfpl4qZ:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDA2NiBTYWx0ZWRfX6PRR0azbW+rK Hl+wF4boX9OPV97pAf0gka6vdMsA/Olmt5oMDCHxl2Znnd/cmLyj//1OJ4J/LrKuUehmpZ3BwE5 5sa40766TdZlA9lWWX2aoOCATRFcpBKMCnQehZZakztCH3HP6jCVW472iFBlDgRvmHIe2Xd2sED jBujJ8vHnsQJOGbw9/JmtKA/As74NNp7gYQ9epb7BCRWagRpojSeDbT6ZJYCl/sZpZgmSd/BMtj eddNn8jOh53yACfjeC56WHyobpKrPoupu6ffCH1dqUiaDGDsCTqco0YU7n4/oI8Ht4XbFZcUahH N21DQTbTykje2fE/S7pBrPT+xQ78do3jEKFu6H1RUNgwLbYBkzTl4/+PRVCH+0utO0okJqtm2By mXqEBRom 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 Status: O 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..35e0e79cb683a68af813344aa86c154c3a5531fe 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 @@ #include #include +#include #include #include @@ -178,6 +179,17 @@ int drm_connector_hdmi_audio_init(struct drm_connector *connector, !funcs->shutdown) return -EINVAL; + if (connector->connector_type == DRM_MODE_CONNECTOR_HDMIA || + connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) { + unsigned long supported_infoframes = + connector->hdmi.supported_infoframes; + + if (supported_infoframes && + !(supported_infoframes & DRM_CONNECTOR_INFOFRAME_AUDIO)) + drm_warn(connector->dev, "HDMI Audio with no support for Audio InfoFrames\n"); + } + + connector->hdmi_audio.funcs = funcs; connector->hdmi_audio.dai_port = dai_port;