On Fri, Apr 05, 2024 at 07:54:46PM +0530, Vinod Koul wrote: > On 06-03-24, 15:48, Maxime Ripard wrote: > > Hi Alexander, > > > > On Wed, Mar 06, 2024 at 11:16:19AM +0100, Alexander Stein wrote: > > > From: Sandor Yu <Sandor.yu@xxxxxxx> > > > > > > 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 <Sandor.yu@xxxxxxx> > > > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > > > Acked-by: Vinod Koul <vkoul@xxxxxxxxxx> > > > --- > > > include/linux/phy/phy-hdmi.h | 24 ++++++++++++++++++++++++ > > > include/linux/phy/phy.h | 7 ++++++- > > > 2 files changed, 30 insertions(+), 1 deletion(-) > > > create mode 100644 include/linux/phy/phy-hdmi.h > > > > > > diff --git a/include/linux/phy/phy-hdmi.h b/include/linux/phy/phy-hdmi.h > > > new file mode 100644 > > > index 0000000000000..b7de88e9090f0 > > > --- /dev/null > > > +++ b/include/linux/phy/phy-hdmi.h > > > @@ -0,0 +1,24 @@ > > > +/* SPDX-License-Identifier: GPL-2.0 */ > > > +/* > > > + * Copyright 2022 NXP > > > + */ > > > + > > > +#ifndef __PHY_HDMI_H_ > > > +#define __PHY_HDMI_H_ > > > + > > > +#include <linux/hdmi.h> > > > +/** > > > + * struct phy_configure_opts_hdmi - HDMI configuration set > > > + * @pixel_clk_rate: Pixel clock of video modes in KHz. > > > + * @bpc: Maximum bits per color channel. > > > + * @color_space: Colorspace in enum hdmi_colorspace. > > > + * > > > + * This structure is used to represent the configuration state of a HDMI phy. > > > + */ > > > +struct phy_configure_opts_hdmi { > > > + unsigned int pixel_clk_rate; > > > + unsigned int bpc; > > > + enum hdmi_colorspace color_space; > > > +}; > > > > Does the PHY actually care about the pixel clock rate, color space and > > formats, or does it only care about the character rate? > > Nope it should not After taking a look at the Cadence PHY driver, I share the feeling that hdptx_hdmi_feedback_factor() should be reworked into drm_display helper and then the struct phy_configure_opts_hdmi can be limited to having a single unsigned long char_freq or bit_rate field. I'm not sure whether we need anything corresponding to the TMDS Bit Clock Ratio control. As far as I understand, it can be deduced from the Bit Rate. -- With best wishes Dmitry