From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 1EBD335AC20 for ; Fri, 3 Jul 2026 14:19:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783088347; cv=none; b=MIK0BjjDO3gzWQwX6FA8NgGVejsbytJHbxGVg9gLsLy0oIyBnJtEywuvdLplxDs3K1NG4plCR4/F8jEsI30E7gJHWkAV/UrZctz0Jv7bKlUXOUQQQB77aqagfeEBDDDizxW/i7UHffCPZXw0mjnJ+dfcWSwwO5AepYAYKAG+kqs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783088347; c=relaxed/simple; bh=5IEadXn3NTE3nO3+6ZwsNC4S/o2FOejwzewBB828bOk=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=WEEjqzTZ+zP9Jf8plj9WoR5szcHtABUIFkClgH85jIMWEgSkmRxldMp+WitswtTzb7/6zkzenctcfos8tSAw8AToVChxk7/bSHKx0H9VpWM8D1Rp4gif0oSgd31abwxmx2H47vC/A8amBWHEd1kpGAH6TlBaV7OzPr2psjfcvYQ= 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=X+a0dWsQ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=V0XoWh7P; arc=none smtp.client-ip=205.220.180.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="X+a0dWsQ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="V0XoWh7P" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 663BWKma2994873 for ; Fri, 3 Jul 2026 14:19:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=qcppdkim1; bh=YKo6OPhVEgyLPX0yHK/easdg O+usCoQyvOamCjz3XwA=; b=X+a0dWsQ9cZuaaIyMj61+0hDJJZjyCRiqV/fZMJg dE+L7cUwNkPgEwelSfjEIG+7ea9v/gkwaIwvaJTiUF/lL6FWGSn1DPYWYtv9d5tK Q+ecSfKBk/yLVLIQBKxFLnhfn32t1/a9JPdfsf4bNzRSipOSWrAAo44yfRnV7f+M 3E+Fds1MRs2t0WCK0a1cn06e22yQWBbA5S591GPqKd8Rdzv47tEJKWDeoU2dthkp GBbJC1i/3OzRAwbWPS+lRXgrA++g2Lkv5wmPHCrRmsHp8fRjlPTQNka6uwPNgKJV RJrUCeN+XZSgorizlNgs1FZ0QBiw2wmA6g+a85xmnPn5tA== Received: from mail-vk1-f198.google.com (mail-vk1-f198.google.com [209.85.221.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f648n2ra4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 03 Jul 2026 14:19:04 +0000 (GMT) Received: by mail-vk1-f198.google.com with SMTP id 71dfb90a1353d-5bd83569844so831640e0c.2 for ; Fri, 03 Jul 2026 07:19:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783088344; x=1783693144; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=YKo6OPhVEgyLPX0yHK/easdgO+usCoQyvOamCjz3XwA=; b=V0XoWh7Phd66cFqbpWviPx98qY1s3xbgqN36nnOULQRvKo0WAtqj14BSIpTRCpKHxr QKBZkgPnE7ITOYASmuqKfowhSfkN33dQBnNxxGwHLhMKF+WiiqOp03K5A42y0vMEXgLj s0smTMKlQpaoqgRZtgKp+ld2g71K0VhTWp51GPhaLcdR7FgykJD/8pBaNc0mpVDVx5r9 VTuEmR506LZDdjzKPBz7tMSiP63ts0+1adxVBN4rtYd7DGi7nMrnVLCmtRkBEBVEmegH fGvjYY3mzfiBMaTE3AD9yLKDHPVfNIo5BUUEa124Iz9fkK8Knj8yVcNQO82+aLVQqCqM 9QaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783088344; x=1783693144; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YKo6OPhVEgyLPX0yHK/easdgO+usCoQyvOamCjz3XwA=; b=Cs0cpbbA/JuBmEIb/+3O3G4OR3VAaO/aQGAAYWAYqp/W0elg9Ei3LpWIcdX4sd2Y6G yybRNncBNw07N2z3tWXTewhVnwfEaVAWhG8t/q+LU/Op53y6NtDBlqO5GSdCYEYmq+cx NLSlRN5ACmnUezjl+BNjyXfy8JBnOdXpDiM/6rE21pz2ajHlrvL4PvtO3uekh9Slxe2v DsdW56mBfpk8o3vUw+dKbODd28T1zREAHAIa6w2vf/6fFqbDp/0Y+O4MHnOV3iq8thJc ckNnqX/e0jGZDTZV+JnELg8Nfbu1sVBhI0bCEpPGqyvegZ8c+VHvI1yBH7px8JjebkuI 4uuw== X-Forwarded-Encrypted: i=1; AHgh+Ro0RkyKONvYHAOVmB+Ss1J0esLKdhMdiSclvCoEqMZOVgs7HfGPGEnmQux6OVJMJ5d4iUzDtW0/1wDprk4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz2eiFrrc90LWYg5SHTk2jPpDfccuxq70KDlj0QI4DN8SGNC+hg fY3Wwd2M9GxaiuIzRKtmzh1Hba+qgmKjrQMRlKVXnOBjLQ8zmm4pcC9BI43KLL0SvTbBZC1Am0r 2yVfIt10LFy6S/RX4kpZ/4LNnuPWy2Ls+3SPhOwM6+6vvNF9GX0VuDcRL5epXwGZXr+8= X-Gm-Gg: AfdE7cndJ6qQcVFsSLYCmip3p3W5wOZFbRao5hlX9hNTmalg4MPleX2h/yLPqEMvYHy /M+MIRqYKgeqWdMUo/3tPsm0xqEGN/fPnE7K2UJmUzXbo7FI79PeHVdto2d5tljsmEIIVA3cyqa dPfYS9+IPyBYESSILZi4+OsG9JrZDcKle5Zj7pGLFEiX+i72affDeVoYgm3gGReDeSi6Isd3o6x 78E8B3Recr7QrgUDY3Vp+/hH/RXEbY5e0LqwE98UXbzTVuBmde0T8ViNexirjE+D+FlaMDxNouq Q7LtkbyCIYBKzo0UseBVal5CM2L8uEpHcPFI7JV95zyKA1Ppn5kcz2EWNEXHSS4nhwoL3Fe4eM/ LZ91KxLUa5aLNpI2aUTz0z0S0+/V2k583dpXbOk2tNse+zmsDXnVim2oo4/+o+LDziaafzYiQjc eciaawedbgkmUG2LoaXwOAQNd5 X-Received: by 2002:a05:6122:8b0f:b0:567:4e8a:fb13 with SMTP id 71dfb90a1353d-5bddf5de64amr4308818e0c.8.1783088343836; Fri, 03 Jul 2026 07:19:03 -0700 (PDT) X-Received: by 2002:a05:6122:8b0f:b0:567:4e8a:fb13 with SMTP id 71dfb90a1353d-5bddf5de64amr4308805e0c.8.1783088343359; Fri, 03 Jul 2026 07:19:03 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5aed1377180sm514920e87.33.2026.07.03.07.19.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Jul 2026 07:19:02 -0700 (PDT) Date: Fri, 3 Jul 2026 17:19:00 +0300 From: Dmitry Baryshkov To: Cristian Ciocaltea Cc: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Luca Ceresoli , Sandy Huang , Heiko =?utf-8?Q?St=C3=BCbner?= , Andy Yan , Daniel Stone , Dave Stevenson , =?utf-8?B?TWHDrXJh?= Canal , Raspberry Pi Kernel Maintenance , kernel@collabora.com, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org Subject: Re: [PATCH v8 03/39] drm/display: bridge_connector: Pass HDMI capabilities through caps struct Message-ID: References: <20260702-dw-hdmi-qp-scramb-v8-0-d79890d00b6a@collabora.com> <20260702-dw-hdmi-qp-scramb-v8-3-d79890d00b6a@collabora.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260702-dw-hdmi-qp-scramb-v8-3-d79890d00b6a@collabora.com> X-Proofpoint-Spam-Info: AW1haW4tMjYwNzAzMDE0MCBTYWx0ZWRfX2OvhRsZzYR2w FtXvy3jqK1tZxJnzUYsZXsa09HYqGe1GY+mQIGkXXi1ghKwBc1SlaCgk5KwYvblnGmv/VqkGB7o ijky6Sq80Kpjc/VpCWHagfc0JgfuPkE= X-Proofpoint-ORIG-GUID: 3_bMfq-XIm8HGqy6COaGVU51huvIQHxm X-Authority-Analysis: v=2.4 cv=O4wJeh9W c=1 sm=1 tr=0 ts=6a47c4d8 cx=c_pps a=1Os3MKEOqt8YzSjcPV0cFA==:117 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=QX4gbG5DAAAA:8 a=VsKdElH_S0EtIKHoY5UA:9 a=CjuIK1q_8ugA:10 a=hhpmQAJR8DioWGSBphRh:22 a=AbAUZ8qAyYyZVLSsDulk:22 X-Proofpoint-GUID: 3_bMfq-XIm8HGqy6COaGVU51huvIQHxm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzAzMDE0MCBTYWx0ZWRfX9MXSBxYd7KlP Zy0GfA/DZP2qdKDZ1DYODM7dPUN3vLXuGxc+rcFFPiXEptw2Edfn+HT5RkWFUPK7m0NZVtYPaue WY6NvnnNNO208fFiX3Vjd4hWdbcZbuiTC3VhiARu2t+p3RosmgIcb2hw7/03ubQHL154TFmKXGC NvOQIWdf5NJZMIucQWIVS6RihBQDm+WsANekkQkzhKIRQj3sjtPKf+b2VShC5rYEYdLDNQWR2FQ o2l3gXmeZy/nbuldfPqlsFbmyp8dUDvr2HKzDBWu/wRcgwnfPPc3VTIBchgofCIs0Hki71xn0RM T9Gv7hp3ceVb0K1K+XPGA49OP9+pIHRhLR8hxnu2++LHZAllaLW7eaLdUr1n8aF/lu54Xtb+lpw oj3vB8fyxzviTxjHOS1RP1c9lj+m35mlk6JcpqLC1J5+uduEQj2OlM1v+sxwgvxFFAqeyKrJMvz wRLLmO1yVLa7i99tXgA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-07-03_02,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 phishscore=0 suspectscore=0 malwarescore=0 spamscore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607030140 On Thu, Jul 02, 2026 at 05:46:16PM +0300, Cristian Ciocaltea wrote: > Switch drm_bridge_connector_init() to > drmm_connector_hdmi_init_with_caps(), collecting the bridge's HDMI > properties into a stack drm_connector_hdmi_caps so future HDMI 2.x > capabilities can be plumbed without growing the argument list. > > Introduce struct drm_bridge::supported_hdmi_ver to let bridges declare > the HDMI specification version they are conformant with, and forward it > to the connector layer through the new caps struct so HDMI 2.x features > can be gated on real source capability rather than guesswork. And it's left uninitialized by the bridges, which doesn't mean anything. If you don't want to touch all bridge drivers in one commit, please provide some migration path and hopefully get rid of it by the end of the series. At least, there should be a drm_warn() if the version in unsspecified. > > Signed-off-by: Cristian Ciocaltea > --- > drivers/gpu/drm/display/drm_bridge_connector.c | 29 ++++++++++++++------------ > include/drm/drm_bridge.h | 6 ++++++ > 2 files changed, 22 insertions(+), 13 deletions(-) > > diff --git a/drivers/gpu/drm/display/drm_bridge_connector.c b/drivers/gpu/drm/display/drm_bridge_connector.c > index 92f8a2d7aab4..796069dbf1a1 100644 > --- a/drivers/gpu/drm/display/drm_bridge_connector.c > +++ b/drivers/gpu/drm/display/drm_bridge_connector.c > @@ -823,8 +823,10 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm, > struct drm_connector *connector; > struct i2c_adapter *ddc = NULL; > struct drm_bridge *panel_bridge __free(drm_bridge_put) = NULL; > - unsigned int supported_formats = BIT(DRM_OUTPUT_COLOR_FORMAT_RGB444); > - unsigned int max_bpc = 8; > + struct drm_connector_hdmi_caps caps = { > + .supported_formats = BIT(DRM_OUTPUT_COLOR_FORMAT_RGB444), > + .max_bpc = 8, > + }; I'm really not sure that we need separate caps. But if we do, it would make sense to embed it as is in the drm_bridge instead of having the scattered fields. > bool support_hdcp = false; > int connector_type; > int ret; > diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h > index 18f3db367dc1..2d8b5e4c64ba 100644 > --- a/include/drm/drm_bridge.h > +++ b/include/drm/drm_bridge.h > @@ -1176,6 +1176,12 @@ struct drm_bridge { > */ > const char *product; > > + /** > + * @supported_hdmi_ver: HDMI version the bridge is conformant with. > + * This is only relevant if @DRM_BRIDGE_OP_HDMI is set. > + */ > + enum hdmi_version supported_hdmi_ver; > + > /** > * @supported_formats: Bitmask of @drm_output_color_format listing > * supported output formats. This is only relevant if > > -- > 2.54.0 > -- With best wishes Dmitry