Re: [EXT] Re: [PATCH v6 4/8] phy: Add HDMI configuration options

From: Dmitry Baryshkov
Date: Mon Jul 10 2023 - 04:06:09 EST


On Mon, 10 Jul 2023 at 11:01, Sandor Yu <sandor.yu@xxxxxxx> wrote:
>
>
>
> > -----Original Message-----
> > From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
> > Sent: 2023年7月10日 15:44
> > To: Sandor Yu <sandor.yu@xxxxxxx>; andrzej.hajda@xxxxxxxxx;
> > neil.armstrong@xxxxxxxxxx; robert.foss@xxxxxxxxxx;
> > Laurent.pinchart@xxxxxxxxxxxxxxxx; jonas@xxxxxxxxx;
> > jernej.skrabec@xxxxxxxxx; airlied@xxxxxxxxx; daniel@xxxxxxxx;
> > robh+dt@xxxxxxxxxx; krzysztof.kozlowski+dt@xxxxxxxxxx;
> > shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx; festevam@xxxxxxxxx;
> > vkoul@xxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx;
> > devicetree@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> > linux-kernel@xxxxxxxxxxxxxxx; linux-phy@xxxxxxxxxxxxxxxxxxx
> > Cc: kernel@xxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>; Oliver Brown
> > <oliver.brown@xxxxxxx>
> > Subject: Re: [EXT] Re: [PATCH v6 4/8] phy: Add HDMI configuration options
> >
> >
> > On 10/07/2023 10:28, Sandor Yu wrote:
> > > Hi Dmitry,
> > >
> > > Thanks for your comments,
> > >
> > >> From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> On 15/06/2023
> > >> 04:38, Sandor Yu wrote:
> > >>> 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>
> > >>> ---
> > >>> include/linux/phy/phy-hdmi.h | 38
> > >> ++++++++++++++++++++++++++++++++++++
> > >>> include/linux/phy/phy.h | 7 ++++++-
> > >>> 2 files changed, 44 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
> > >>> 000000000000..5765aa5bc175
> > >>> --- /dev/null
> > >>> +++ b/include/linux/phy/phy-hdmi.h
> > >>> @@ -0,0 +1,38 @@
> > >>> +/* SPDX-License-Identifier: GPL-2.0 */
> > >>> +/*
> > >>> + * Copyright 2022 NXP
> > >>> + */
> > >>> +
> > >>> +#ifndef __PHY_HDMI_H_
> > >>> +#define __PHY_HDMI_H_
> > >>> +
> > >>> +/**
> > >>> + * Pixel Encoding as HDMI Specification
> > >>> + * RGB, YUV422, YUV444:HDMI Specification 1.4a Section 6.5
> > >>> + * YUV420: HDMI Specification 2.a Section 7.1 */ enum
> > >>> +hdmi_phy_colorspace {
> > >>> + HDMI_PHY_COLORSPACE_RGB, /* RGB 4:4:4 */
> > >>> + HDMI_PHY_COLORSPACE_YUV422, /* YCbCr 4:2:2 */
> > >>> + HDMI_PHY_COLORSPACE_YUV444, /* YCbCr 4:4:4 */
> > >>> + HDMI_PHY_COLORSPACE_YUV420, /* YCbCr 4:2:0 */
> > >>> + HDMI_PHY_COLORSPACE_RESERVED4,
> > >>> + HDMI_PHY_COLORSPACE_RESERVED5,
> > >>> + HDMI_PHY_COLORSPACE_RESERVED6, };
> > >>
> > >> This enum duplicates enum hdmi_colorspace from <linux/hdmi.h> HDMI
> > >> 2.0 defines '7' to be IDO-defined.
> > >>
> > >> Would it be better to use that enum instead?
> > > Accept. I will create head file hdmi_colorspace.h to reuse enum
> > hdmi_colorspace in <linux/hdmi.h>.
> >
> > Excuse me, it was supposed to be a question.
> >
> > Do you need another header file to reuse this enum?
> I'm not sure community whether would accept the patch that simply include <linux/hdmi.h> in phy-hdmi.h
> because there are lots of other definition in <linux/hdmi.h> that not need by phy-hdmi.h.
> If the answer is yes, I happy to follow.

In my opinion it's a better alternative to creating yet another header.

>
> >
> > >
> > > B.R
> > > Sandor
> > >>
> > >>> +
> > >>> +/**
> > >>> + * 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_phy_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_phy_colorspace color_space; };
> > >>> +
> > >>> +#endif /* __PHY_HDMI_H_ */
> > >>
> > >> [skipped the rest]
> > >>
> > >> --
> > >> With best wishes
> > >> Dmitry
> > >
> >
> > --
> > With best wishes
> > Dmitry
>
> B.R
> Sandor
>


--
With best wishes
Dmitry