Re: [PATCH v16 2/8] phy: Add HDMI configuration options
From: Dmitry Baryshkov <hidden>
Date: 2024-09-21 20:28:26
Also in:
dri-devel, linux-devicetree, linux-phy, lkml
On Tue, Jul 02, 2024 at 08:22:34PM GMT, Sandor Yu wrote:
quoted hunk ↗ jump to hunk
Allow HDMI PHYs to be configured through the generic functions through a custom structure added to the generic union. The parameters added here are based on HDMI PHY implementation practices. The current set of parameters should cover the potential users. Signed-off-by: Sandor Yu <redacted> --- v15->v16: - Remove pixel_clk_rate, bpc and color_space fields from struct phy_configure_opts_hdmi, they were replaced by unsigned long long tmds_char_rate. - Remove r-b and a-c tags because this patch have important change. v9->v15: *No change. include/linux/phy/phy-hdmi.h | 20 ++++++++++++++++++++ include/linux/phy/phy.h | 7 ++++++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 include/linux/phy/phy-hdmi.hdiff --git a/include/linux/phy/phy-hdmi.h b/include/linux/phy/phy-hdmi.h new file mode 100644 index 000000000000..dd923e19d17c --- /dev/null +++ b/include/linux/phy/phy-hdmi.h@@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright 2022 NXP + */ + +#ifndef __PHY_HDMI_H_ +#define __PHY_HDMI_H_ + +#include <linux/hdmi.h>
This header is not neccessary anymore. With it removed: Reviewed-by: Dmitry Baryshkov <redacted> Maxime, is this patch fine with you? Vinod, could you please pick up this patch for 6.13 and possibly provide an immutable tag for it? I see drm drivers using bad workarounds because we don't have this in the API yet.
quoted hunk ↗ jump to hunk
+/** + * struct phy_configure_opts_hdmi - HDMI configuration set + * @tmds_char_rate: HDMI TMDS Character Rate in Hertz. + * + * This structure is used to represent the configuration state of a HDMI phy. + */ +struct phy_configure_opts_hdmi { + unsigned long long tmds_char_rate; +}; + +#endif /* __PHY_HDMI_H_ */diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h index 03cd5bae92d3..4ac486b101fe 100644 --- a/include/linux/phy/phy.h +++ b/include/linux/phy/phy.h@@ -17,6 +17,7 @@ #include <linux/regulator/consumer.h> #include <linux/phy/phy-dp.h> +#include <linux/phy/phy-hdmi.h> #include <linux/phy/phy-lvds.h> #include <linux/phy/phy-mipi-dphy.h>@@ -42,7 +43,8 @@ enum phy_mode { PHY_MODE_MIPI_DPHY, PHY_MODE_SATA, PHY_MODE_LVDS, - PHY_MODE_DP + PHY_MODE_DP, + PHY_MODE_HDMI, }; enum phy_media {@@ -60,11 +62,14 @@ enum phy_media { * the DisplayPort protocol. * @lvds: Configuration set applicable for phys supporting * the LVDS phy mode. + * @hdmi: Configuration set applicable for phys supporting + * the HDMI phy mode. */ union phy_configure_opts { struct phy_configure_opts_mipi_dphy mipi_dphy; struct phy_configure_opts_dp dp; struct phy_configure_opts_lvds lvds; + struct phy_configure_opts_hdmi hdmi; }; /**-- 2.34.1
-- With best wishes Dmitry