From nobody Mon Oct 6 13:38:26 2025 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 B86EC2DECD2 for ; Mon, 21 Jul 2025 17:39:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753119560; cv=none; b=XI65eUk59hCLFvKcdzx2Ggeo3+sQPij3wfMuCZiPo0P1LYBQDtjKshT03Cdtg1E8XLbOtWLCpKqiGP7OrNNwybuP2ywwfdOOZ/cqa8SFA61YC+U3WotWnQn61wBpiJXYCCa3MlNWP2z8+y8TlVpHHBL1R9X17OqY6TMRhOVLgDs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753119560; c=relaxed/simple; bh=kYEq0F90njnkcI6R84CDEdZRsEjUQbwOGs4hs3pzXxU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lSNeyXAFZ932qGvM112mVQXcrlKnE/IaFQ8j4z1oersy++JZWh/c6rBcwO3jyYljatj8kHIPBuS6YVFyaoiHO37yQMRYo4Nu3CWUUf8WUH0iJ+9T+wp+2x+dJzM/GkdHIIJQHA3Q544vh0T/oVAlqJrWgPxHa6IUOeFqPzv3FNg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=oIiqkPIJ; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="oIiqkPIJ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1753119557; bh=kYEq0F90njnkcI6R84CDEdZRsEjUQbwOGs4hs3pzXxU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=oIiqkPIJ7qeciaSXJgV5xbEFBQ44SrFgo7o9cDO9lqmAcwgjIsJGtbkARYsq+t77V kaHFGQd8kR8UzIYhWJMIa8QVuellSejcnhsc25q4RJ7iJBFXMqyU0KNcuTbFufZKjB xJhiIxHQ61KalT5TSK1daeIWYhgvF0YnHS5uWIm08IQFDlSo5ZE0iS9CgAdMdD2vx3 4ObiNscn+lHZs6xMLHp42zBrilbTylOu4VXag3pPF67ALPqTVbRr9sv9H5HYi5bCaU FDD4C+pC+lP93Iw+LSOrXBOagbx/gqWBG/KNufB9B9TnYYdMepznKyryKJ0H40PpZt 0Bz0azmiTy9nA== Received: from localhost (unknown [82.79.138.60]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with UTF8SMTPSA id 08F8917E129E; Mon, 21 Jul 2025 19:39:17 +0200 (CEST) From: Cristian Ciocaltea Date: Mon, 21 Jul 2025 20:39:05 +0300 Subject: [PATCH 2/5] drm/bridge: dw-hdmi-qp: Handle platform supported formats and color depth Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250721-rk3588-10bpc-v1-2-e95a4abcf482@collabora.com> References: <20250721-rk3588-10bpc-v1-0-e95a4abcf482@collabora.com> In-Reply-To: <20250721-rk3588-10bpc-v1-0-e95a4abcf482@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec Cc: kernel@collabora.com, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 Extend struct dw_hdmi_qp_plat_data to include the supported display output formats and maximum bits per color channel. When provided by the platform driver, use them to setup the HDMI bridge accordingly. Additionally, improve debug logging in dw_hdmi_qp_bridge_atomic_enable() to also show the current HDMI output format and bpc. Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 11 +++++++++-- include/drm/bridge/dw_hdmi_qp.h | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c b/drivers/gpu/drm= /bridge/synopsys/dw-hdmi-qp.c index 39332c57f2c54296f39e27612544f4fbf923863f..25edb35feb0a1c9861fdd4ca5fa= b5c08d44af356 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c @@ -848,8 +848,9 @@ static void dw_hdmi_qp_bridge_atomic_enable(struct drm_= bridge *bridge, return; =20 if (connector->display_info.is_hdmi) { - dev_dbg(hdmi->dev, "%s mode=3DHDMI rate=3D%llu\n", - __func__, conn_state->hdmi.tmds_char_rate); + dev_dbg(hdmi->dev, "%s mode=3DHDMI %s rate=3D%llu bpc=3D%u\n", __func__, + drm_hdmi_connector_get_output_format_name(conn_state->hdmi.output_forma= t), + conn_state->hdmi.tmds_char_rate, conn_state->hdmi.output_bpc); op_mode =3D 0; hdmi->tmds_char_rate =3D conn_state->hdmi.tmds_char_rate; } else { @@ -1085,6 +1086,12 @@ struct dw_hdmi_qp *dw_hdmi_qp_bind(struct platform_d= evice *pdev, hdmi->bridge.vendor =3D "Synopsys"; hdmi->bridge.product =3D "DW HDMI QP TX"; =20 + if (plat_data->supported_formats) + hdmi->bridge.supported_formats =3D plat_data->supported_formats; + + if (plat_data->max_bpc) + hdmi->bridge.max_bpc =3D plat_data->max_bpc; + hdmi->bridge.ddc =3D dw_hdmi_qp_i2c_adapter(hdmi); if (IS_ERR(hdmi->bridge.ddc)) return ERR_CAST(hdmi->bridge.ddc); diff --git a/include/drm/bridge/dw_hdmi_qp.h b/include/drm/bridge/dw_hdmi_q= p.h index e9be6d507ad9cdc55f5c7d6d3ef37eba41f1ce74..09c86a053136251c25237751e66= 564386dafdb3c 100644 --- a/include/drm/bridge/dw_hdmi_qp.h +++ b/include/drm/bridge/dw_hdmi_qp.h @@ -23,6 +23,10 @@ struct dw_hdmi_qp_plat_data { const struct dw_hdmi_qp_phy_ops *phy_ops; void *phy_data; int main_irq; + /* Supported output formats: bitmask of @hdmi_colorspace */ + unsigned int supported_formats; + /* Maximum bits per color channel: 8, 10 or 12 */ + unsigned int max_bpc; }; =20 struct dw_hdmi_qp *dw_hdmi_qp_bind(struct platform_device *pdev, --=20 2.50.0