Message ID | 20241203172129.778123-1-tommaso.merciai.xr@bp.renesas.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Kieran Bingham |
Headers | show |
Series | drm/bridge: ite-it6263: Support VESA input format | expand |
On Tue, Dec 03, 2024 at 06:21:29PM +0100, tomm.merciai@gmail.com wrote: > From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > Introduce it6263_is_input_bus_fmt_valid() and refactor the > it6263_bridge_atomic_get_input_bus_fmts() function to support VESA > format by selecting the LVDS input format based on the LVDS data mapping > and thereby support both JEIDA and VESA input formats. For the patch itself, Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> A more generic question: is the bridge limited to 4 lanes or does it support 3-lane or 5-lane configurations? > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > --- > drivers/gpu/drm/bridge/ite-it6263.c | 25 ++++++++++++++++++++++--- > 1 file changed, 22 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/ite-it6263.c b/drivers/gpu/drm/bridge/ite-it6263.c > index cbabd4e20d3e..83d1db29157a 100644 > --- a/drivers/gpu/drm/bridge/ite-it6263.c > +++ b/drivers/gpu/drm/bridge/ite-it6263.c > @@ -48,6 +48,7 @@ > #define REG_COL_DEP GENMASK(1, 0) > #define BIT8 FIELD_PREP(REG_COL_DEP, 1) > #define OUT_MAP BIT(4) > +#define VESA BIT(4) > #define JEIDA 0 > #define REG_DESSC_ENB BIT(6) > #define DMODE BIT(7) > @@ -428,12 +429,30 @@ static inline void it6263_lvds_reset(struct it6263 *it) > fsleep(10000); > } > > +static bool it6263_is_input_bus_fmt_valid(u32 input_fmt) > +{ > + switch (input_fmt) { > + case MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA: > + case MEDIA_BUS_FMT_RGB888_1X7X4_SPWG: > + return true; > + } > + return false; > +} > +
On 12/04/2024, tomm.merciai@gmail.com wrote: > From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > Introduce it6263_is_input_bus_fmt_valid() and refactor the > it6263_bridge_atomic_get_input_bus_fmts() function to support VESA > format by selecting the LVDS input format based on the LVDS data mapping > and thereby support both JEIDA and VESA input formats. ite,it6263.yaml says IT6263 supports vesa-24 and vesa-30, while this patch actually only adds vesa-24 support. So, to be more specific, the patch subject and commit message should reflect this rather than claim "Support VESA input format". > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> Can you please send this patch with your Renesas email address instead of Gmail email address? Otherwise, add a Signed-off-by tag with your Gmail email address. > --- > drivers/gpu/drm/bridge/ite-it6263.c | 25 ++++++++++++++++++++++--- > 1 file changed, 22 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/ite-it6263.c b/drivers/gpu/drm/bridge/ite-it6263.c > index cbabd4e20d3e..83d1db29157a 100644 > --- a/drivers/gpu/drm/bridge/ite-it6263.c > +++ b/drivers/gpu/drm/bridge/ite-it6263.c > @@ -48,6 +48,7 @@ > #define REG_COL_DEP GENMASK(1, 0) > #define BIT8 FIELD_PREP(REG_COL_DEP, 1) > #define OUT_MAP BIT(4) > +#define VESA BIT(4) > #define JEIDA 0 > #define REG_DESSC_ENB BIT(6) > #define DMODE BIT(7) > @@ -428,12 +429,30 @@ static inline void it6263_lvds_reset(struct it6263 *it) > fsleep(10000); > } > > +static bool it6263_is_input_bus_fmt_valid(u32 input_fmt) 1) Inline this small function. 2) Change the argument input_fmt type from u32 to int to match the type of it->lvds_data_mapping. static inline bool it6263_is_input_bus_fmt_valid(int input_fmt) > +{ > + switch (input_fmt) { > + case MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA: > + case MEDIA_BUS_FMT_RGB888_1X7X4_SPWG: > + return true; > + } > + return false; > +} > + > static inline void it6263_lvds_set_interface(struct it6263 *it) > { > + u8 fmt; > + > /* color depth */ > regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, REG_COL_DEP, BIT8); > + > + if (it->lvds_data_mapping == MEDIA_BUS_FMT_RGB888_1X7X4_SPWG) > + fmt = VESA; > + else > + fmt = JEIDA; > + > /* output mapping */ > - regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, OUT_MAP, JEIDA); > + regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, OUT_MAP, fmt); > > if (it->lvds_dual_link) { > regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, DMODE, DISO); > @@ -714,14 +733,14 @@ it6263_bridge_atomic_get_input_bus_fmts(struct drm_bridge *bridge, > > *num_input_fmts = 0; > > - if (it->lvds_data_mapping != MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA) > + if (!it6263_is_input_bus_fmt_valid(it->lvds_data_mapping)) > return NULL; > > input_fmts = kmalloc(sizeof(*input_fmts), GFP_KERNEL); > if (!input_fmts) > return NULL; > > - input_fmts[0] = MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA; > + input_fmts[0] = it->lvds_data_mapping; > *num_input_fmts = 1; > > return input_fmts;
On 12/04/2024, Dmitry Baryshkov wrote: > On Tue, Dec 03, 2024 at 06:21:29PM +0100, tomm.merciai@gmail.com wrote: >> From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> >> >> Introduce it6263_is_input_bus_fmt_valid() and refactor the >> it6263_bridge_atomic_get_input_bus_fmts() function to support VESA >> format by selecting the LVDS input format based on the LVDS data mapping >> and thereby support both JEIDA and VESA input formats. > > For the patch itself, > > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > A more generic question: is the bridge limited to 4 lanes or does it > support 3-lane or 5-lane configurations? According to ite,it6263.yaml, the bridge supports all the data mappings(jeida-{18,24,30} and vesa-{24,30}) listed in lvds-data-mapping.yaml. lvds-data-mapping.yaml specifies the data lanes(3/4/5) used by each of the data mappings. So, the bridge supports 3, 4 or 5 data lanes. > >> >> Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> >> --- >> drivers/gpu/drm/bridge/ite-it6263.c | 25 ++++++++++++++++++++++--- >> 1 file changed, 22 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/gpu/drm/bridge/ite-it6263.c b/drivers/gpu/drm/bridge/ite-it6263.c >> index cbabd4e20d3e..83d1db29157a 100644 >> --- a/drivers/gpu/drm/bridge/ite-it6263.c >> +++ b/drivers/gpu/drm/bridge/ite-it6263.c >> @@ -48,6 +48,7 @@ >> #define REG_COL_DEP GENMASK(1, 0) >> #define BIT8 FIELD_PREP(REG_COL_DEP, 1) >> #define OUT_MAP BIT(4) >> +#define VESA BIT(4) >> #define JEIDA 0 >> #define REG_DESSC_ENB BIT(6) >> #define DMODE BIT(7) >> @@ -428,12 +429,30 @@ static inline void it6263_lvds_reset(struct it6263 *it) >> fsleep(10000); >> } >> >> +static bool it6263_is_input_bus_fmt_valid(u32 input_fmt) >> +{ >> + switch (input_fmt) { >> + case MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA: >> + case MEDIA_BUS_FMT_RGB888_1X7X4_SPWG: >> + return true; >> + } >> + return false; >> +} >> + >
Hi Liu Ying, > -----Original Message----- > From: Liu Ying <victor.liu@nxp.com> > Sent: 04 December 2024 03:34 > To: tomm.merciai@gmail.com > Subject: Re: [PATCH] drm/bridge: ite-it6263: Support VESA input format > > On 12/04/2024, tomm.merciai@gmail.com wrote: > > From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > > > Introduce it6263_is_input_bus_fmt_valid() and refactor the > > it6263_bridge_atomic_get_input_bus_fmts() function to support VESA > > format by selecting the LVDS input format based on the LVDS data > > mapping and thereby support both JEIDA and VESA input formats. > > ite,it6263.yaml says IT6263 supports vesa-24 and vesa-30, while this patch actually only adds vesa-24 > support. So, to be more specific, the patch subject and commit message should reflect this rather > than claim "Support VESA input format". > > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > Can you please send this patch with your Renesas email address instead of Gmail email address? > Otherwise, add a Signed-off-by tag with your Gmail email address. If I am correct, you can clearly see the Renesas email address after subject. So, the procedure followed by Tommaso is correct. You can use gmail account for send patch, but you just need to add From tag and SoB tag after subject with company address. Please shout if anyone think this procedure is wrong. <snippet> Subject: Re: [PATCH] drm/bridge: ite-it6263: Support VESA input format From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> Introduce it6263_is_input_bus_fmt_valid() and refactor the </snippet> Cheers, Biju
Hi Liu Ying, > -----Original Message----- > From: Liu Ying <victor.liu@nxp.com> > Sent: 04 December 2024 03:43 > Subject: Re: [PATCH] drm/bridge: ite-it6263: Support VESA input format > > On 12/04/2024, Dmitry Baryshkov wrote: > > On Tue, Dec 03, 2024 at 06:21:29PM +0100, tomm.merciai@gmail.com wrote: > >> From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > >> > >> Introduce it6263_is_input_bus_fmt_valid() and refactor the > >> it6263_bridge_atomic_get_input_bus_fmts() function to support VESA > >> format by selecting the LVDS input format based on the LVDS data > >> mapping and thereby support both JEIDA and VESA input formats. > > > > For the patch itself, > > > > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > > > A more generic question: is the bridge limited to 4 lanes or does it > > support 3-lane or 5-lane configurations? > > According to ite,it6263.yaml, the bridge supports all the data mappings(jeida-{18,24,30} and vesa- > {24,30}) listed in lvds-data-mapping.yaml. lvds-data-mapping.yaml specifies the data lanes(3/4/5) > used by each of the data mappings. So, the bridge supports 3, 4 or 5 data lanes. In Renesas SMARC RZ/G3E LVDS add on board, only 4 LVDS Rx lanes connected. The 5th one is unconnected. What is the situation in your board Liu Ying? Cheers, Biju
On 12/04/2024, Biju Das wrote: > Hi Liu Ying, Hi Biju, > >> -----Original Message----- >> From: Liu Ying <victor.liu@nxp.com> >> Sent: 04 December 2024 03:34 >> To: tomm.merciai@gmail.com >> Subject: Re: [PATCH] drm/bridge: ite-it6263: Support VESA input format >> >> On 12/04/2024, tomm.merciai@gmail.com wrote: >>> From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> >>> >>> Introduce it6263_is_input_bus_fmt_valid() and refactor the >>> it6263_bridge_atomic_get_input_bus_fmts() function to support VESA >>> format by selecting the LVDS input format based on the LVDS data >>> mapping and thereby support both JEIDA and VESA input formats. >> >> ite,it6263.yaml says IT6263 supports vesa-24 and vesa-30, while this patch actually only adds vesa-24 >> support. So, to be more specific, the patch subject and commit message should reflect this rather >> than claim "Support VESA input format". >> >>> >>> Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> >> >> Can you please send this patch with your Renesas email address instead of Gmail email address? >> Otherwise, add a Signed-off-by tag with your Gmail email address. > > If I am correct, you can clearly see the Renesas email address after subject. Yes. > So, the procedure followed by Tommaso is correct. No, I think it's wrong. We don't know whether the person(s) behind the two Email addresses are the same Tommaso. Likely it's a person from two different domains - still kind of two people. AFAIK, sending other's patch needs to add sender's SoB tag. > > You can use gmail account for send patch, but you just need to add From tag and SoB tag > after subject with company address. Again, we don't know sender and author are the same person if their Email addresses are different. > > Please shout if anyone think this procedure is wrong. > > <snippet> > Subject: Re: [PATCH] drm/bridge: ite-it6263: Support VESA input format > > From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > Introduce it6263_is_input_bus_fmt_valid() and refactor the > </snippet> > > > Cheers, > Biju
-----Original Message----- From: tomm.merciai@gmail.com <tomm.merciai@gmail.com> Sent: Tuesday, December 3, 2024 6:21 PM To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org; dri-devel@lists.freedesktop.org; Biju Das <biju.das.jz@bp.renesas.com>; Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>; Liu Ying <victor.liu@nxp.com>; Andrzej Hajda <andrzej.hajda@intel.com>; Neil Armstrong <neil.armstrong@linaro.org>; Robert Foss <rfoss@kernel.org>; laurent.pinchart <laurent.pinchart@ideasonboard.com>; Jonas Karlman <jonas@kwiboo.se>; Jernej Skrabec <jernej.skrabec@gmail.com>; Maarten Lankhorst <maarten.lankhorst@linux.intel.com>; Maxime Ripard <mripard@kernel.org>; Thomas Zimmermann <tzimmermann@suse.de>; David Airlie <airlied@gmail.com>; Simona Vetter <simona@ffwll.ch>; linux-kernel@vger.kernel.org Subject: [PATCH] drm/bridge: ite-it6263: Support VESA input format From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> Introduce it6263_is_input_bus_fmt_valid() and refactor the it6263_bridge_atomic_get_input_bus_fmts() function to support VESA format by selecting the LVDS input format based on the LVDS data mapping and thereby support both JEIDA and VESA input formats. Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> --- drivers/gpu/drm/bridge/ite-it6263.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/bridge/ite-it6263.c b/drivers/gpu/drm/bridge/ite-it6263.c index cbabd4e20d3e..83d1db29157a 100644 --- a/drivers/gpu/drm/bridge/ite-it6263.c +++ b/drivers/gpu/drm/bridge/ite-it6263.c @@ -48,6 +48,7 @@ #define REG_COL_DEP GENMASK(1, 0) #define BIT8 FIELD_PREP(REG_COL_DEP, 1) #define OUT_MAP BIT(4) +#define VESA BIT(4) #define JEIDA 0 #define REG_DESSC_ENB BIT(6) #define DMODE BIT(7) @@ -428,12 +429,30 @@ static inline void it6263_lvds_reset(struct it6263 *it) fsleep(10000); } +static bool it6263_is_input_bus_fmt_valid(u32 input_fmt) { + switch (input_fmt) { + case MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA: + case MEDIA_BUS_FMT_RGB888_1X7X4_SPWG: + return true; + } + return false; +} + static inline void it6263_lvds_set_interface(struct it6263 *it) { + u8 fmt; + /* color depth */ regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, REG_COL_DEP, BIT8); + + if (it->lvds_data_mapping == MEDIA_BUS_FMT_RGB888_1X7X4_SPWG) + fmt = VESA; + else + fmt = JEIDA; + /* output mapping */ - regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, OUT_MAP, JEIDA); + regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, OUT_MAP, fmt); if (it->lvds_dual_link) { regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, DMODE, DISO); @@ -714,14 +733,14 @@ it6263_bridge_atomic_get_input_bus_fmts(struct drm_bridge *bridge, *num_input_fmts = 0; - if (it->lvds_data_mapping != MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA) + if (!it6263_is_input_bus_fmt_valid(it->lvds_data_mapping)) return NULL; input_fmts = kmalloc(sizeof(*input_fmts), GFP_KERNEL); if (!input_fmts) return NULL; - input_fmts[0] = MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA; + input_fmts[0] = it->lvds_data_mapping; *num_input_fmts = 1; return input_fmts; -- 2.34.1 Acked-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Hi Liu Ying, Thanks for your review. On Wed, Dec 04, 2024 at 11:34:23AM +0800, Liu Ying wrote: > On 12/04/2024, tomm.merciai@gmail.com wrote: > > From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > > > Introduce it6263_is_input_bus_fmt_valid() and refactor the > > it6263_bridge_atomic_get_input_bus_fmts() function to support VESA > > format by selecting the LVDS input format based on the LVDS data mapping > > and thereby support both JEIDA and VESA input formats. > > ite,it6263.yaml says IT6263 supports vesa-24 and vesa-30, while > this patch actually only adds vesa-24 support. So, to be more > specific, the patch subject and commit message should reflect > this rather than claim "Support VESA input format". Fully agree, thanks. I will fix that in v2 specifying vesa-24 like you suggest. > > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > Can you please send this patch with your Renesas email address > instead of Gmail email address? > Otherwise, add a Signed-off-by tag with your Gmail email address. Thanks, for the point. What about adding Acked-by: from my renesas email address? > > > --- > > drivers/gpu/drm/bridge/ite-it6263.c | 25 ++++++++++++++++++++++--- > > 1 file changed, 22 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/bridge/ite-it6263.c b/drivers/gpu/drm/bridge/ite-it6263.c > > index cbabd4e20d3e..83d1db29157a 100644 > > --- a/drivers/gpu/drm/bridge/ite-it6263.c > > +++ b/drivers/gpu/drm/bridge/ite-it6263.c > > @@ -48,6 +48,7 @@ > > #define REG_COL_DEP GENMASK(1, 0) > > #define BIT8 FIELD_PREP(REG_COL_DEP, 1) > > #define OUT_MAP BIT(4) > > +#define VESA BIT(4) > > #define JEIDA 0 > > #define REG_DESSC_ENB BIT(6) > > #define DMODE BIT(7) > > @@ -428,12 +429,30 @@ static inline void it6263_lvds_reset(struct it6263 *it) > > fsleep(10000); > > } > > > > +static bool it6263_is_input_bus_fmt_valid(u32 input_fmt) > > 1) Inline this small function. > 2) Change the argument input_fmt type from u32 to int to > match the type of it->lvds_data_mapping. Will fix that in v2, thanks :) > > static inline bool it6263_is_input_bus_fmt_valid(int input_fmt) > > > +{ > > + switch (input_fmt) { > > + case MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA: > > + case MEDIA_BUS_FMT_RGB888_1X7X4_SPWG: > > + return true; > > + } > > + return false; > > +} > > + > > static inline void it6263_lvds_set_interface(struct it6263 *it) > > { > > + u8 fmt; > > + > > /* color depth */ > > regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, REG_COL_DEP, BIT8); > > + > > + if (it->lvds_data_mapping == MEDIA_BUS_FMT_RGB888_1X7X4_SPWG) > > + fmt = VESA; > > + else > > + fmt = JEIDA; > > + > > /* output mapping */ > > - regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, OUT_MAP, JEIDA); > > + regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, OUT_MAP, fmt); > > > > if (it->lvds_dual_link) { > > regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, DMODE, DISO); > > @@ -714,14 +733,14 @@ it6263_bridge_atomic_get_input_bus_fmts(struct drm_bridge *bridge, > > > > *num_input_fmts = 0; > > > > - if (it->lvds_data_mapping != MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA) > > + if (!it6263_is_input_bus_fmt_valid(it->lvds_data_mapping)) > > return NULL; > > > > input_fmts = kmalloc(sizeof(*input_fmts), GFP_KERNEL); > > if (!input_fmts) > > return NULL; > > > > - input_fmts[0] = MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA; > > + input_fmts[0] = it->lvds_data_mapping; > > *num_input_fmts = 1; > > > > return input_fmts; > > -- > Regards, > Liu Ying Thanks & Regards, Tommaso >
On Wed, Dec 04, 2024 at 11:37:05AM +0100, Tommaso Merciai wrote: > Hi Liu Ying, > Thanks for your review. > > On Wed, Dec 04, 2024 at 11:34:23AM +0800, Liu Ying wrote: > > On 12/04/2024, tomm.merciai@gmail.com wrote: > > > From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > > > > > Introduce it6263_is_input_bus_fmt_valid() and refactor the > > > it6263_bridge_atomic_get_input_bus_fmts() function to support VESA > > > format by selecting the LVDS input format based on the LVDS data mapping > > > and thereby support both JEIDA and VESA input formats. > > > > ite,it6263.yaml says IT6263 supports vesa-24 and vesa-30, while > > this patch actually only adds vesa-24 support. So, to be more > > specific, the patch subject and commit message should reflect > > this rather than claim "Support VESA input format". > > Fully agree, thanks. > I will fix that in v2 specifying vesa-24 like you suggest. > > > > > > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > > > Can you please send this patch with your Renesas email address > > instead of Gmail email address? > > Otherwise, add a Signed-off-by tag with your Gmail email address. > > Thanks, for the point. > What about adding Acked-by: from my renesas email address? Acked-by has a different meaning. I'd say that generally it's okay to have this light mismatch, see [1] or any of the emails that B4 generates for web-based submission. [1] https://lore.kernel.org/dri-devel/20241121164858.457921-1-robdclark@gmail.com/ >
Hi Dmitry, On Wed, Dec 04, 2024 at 01:53:44PM +0200, Dmitry Baryshkov wrote: > On Wed, Dec 04, 2024 at 11:37:05AM +0100, Tommaso Merciai wrote: > > Hi Liu Ying, > > Thanks for your review. > > > > On Wed, Dec 04, 2024 at 11:34:23AM +0800, Liu Ying wrote: > > > On 12/04/2024, tomm.merciai@gmail.com wrote: > > > > From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > > > > > > > Introduce it6263_is_input_bus_fmt_valid() and refactor the > > > > it6263_bridge_atomic_get_input_bus_fmts() function to support VESA > > > > format by selecting the LVDS input format based on the LVDS data mapping > > > > and thereby support both JEIDA and VESA input formats. > > > > > > ite,it6263.yaml says IT6263 supports vesa-24 and vesa-30, while > > > this patch actually only adds vesa-24 support. So, to be more > > > specific, the patch subject and commit message should reflect > > > this rather than claim "Support VESA input format". > > > > Fully agree, thanks. > > I will fix that in v2 specifying vesa-24 like you suggest. > > > > > > > > > > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > > > > > Can you please send this patch with your Renesas email address > > > instead of Gmail email address? > > > Otherwise, add a Signed-off-by tag with your Gmail email address. > > > > Thanks, for the point. > > What about adding Acked-by: from my renesas email address? > > Acked-by has a different meaning. I'd say that generally it's okay to > have this light mismatch, see [1] or any of the emails that B4 generates > for web-based submission. > > [1] https://lore.kernel.org/dri-devel/20241121164858.457921-1-robdclark@gmail.com/ Thanks for sharing this example and for the clarification. This is similar to my case :) Then v1 procedure is correct? I can use the same formatting (From: Sob:) for sending v2? Thanks & Regards, Tommaso > > > > > -- > With best wishes > Dmitry
On Wed, Dec 04, 2024 at 02:11:28PM +0100, Tommaso Merciai wrote: > Hi Dmitry, > > On Wed, Dec 04, 2024 at 01:53:44PM +0200, Dmitry Baryshkov wrote: > > On Wed, Dec 04, 2024 at 11:37:05AM +0100, Tommaso Merciai wrote: > > > Hi Liu Ying, > > > Thanks for your review. > > > > > > On Wed, Dec 04, 2024 at 11:34:23AM +0800, Liu Ying wrote: > > > > On 12/04/2024, tomm.merciai@gmail.com wrote: > > > > > From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > > > > > > > > > Introduce it6263_is_input_bus_fmt_valid() and refactor the > > > > > it6263_bridge_atomic_get_input_bus_fmts() function to support VESA > > > > > format by selecting the LVDS input format based on the LVDS data mapping > > > > > and thereby support both JEIDA and VESA input formats. > > > > > > > > ite,it6263.yaml says IT6263 supports vesa-24 and vesa-30, while > > > > this patch actually only adds vesa-24 support. So, to be more > > > > specific, the patch subject and commit message should reflect > > > > this rather than claim "Support VESA input format". > > > > > > Fully agree, thanks. > > > I will fix that in v2 specifying vesa-24 like you suggest. > > > > > > > > > > > > > > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > > > > > > > Can you please send this patch with your Renesas email address > > > > instead of Gmail email address? > > > > Otherwise, add a Signed-off-by tag with your Gmail email address. > > > > > > Thanks, for the point. > > > What about adding Acked-by: from my renesas email address? > > > > Acked-by has a different meaning. I'd say that generally it's okay to > > have this light mismatch, see [1] or any of the emails that B4 generates > > for web-based submission. > > > > [1] https://lore.kernel.org/dri-devel/20241121164858.457921-1-robdclark@gmail.com/ > > Thanks for sharing this example and for the clarification. > This is similar to my case :) > > Then v1 procedure is correct? > I can use the same formatting (From: Sob:) for sending v2? I think so > > Thanks & Regards, > Tommaso > > > > > > > > > -- > > With best wishes > > Dmitry
On Wed, Dec 04, 2024 at 03:33:09PM +0200, Dmitry Baryshkov wrote: > On Wed, Dec 04, 2024 at 02:11:28PM +0100, Tommaso Merciai wrote: > > Hi Dmitry, > > > > On Wed, Dec 04, 2024 at 01:53:44PM +0200, Dmitry Baryshkov wrote: > > > On Wed, Dec 04, 2024 at 11:37:05AM +0100, Tommaso Merciai wrote: > > > > Hi Liu Ying, > > > > Thanks for your review. > > > > > > > > On Wed, Dec 04, 2024 at 11:34:23AM +0800, Liu Ying wrote: > > > > > On 12/04/2024, tomm.merciai@gmail.com wrote: > > > > > > From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > > > > > > > > > > > Introduce it6263_is_input_bus_fmt_valid() and refactor the > > > > > > it6263_bridge_atomic_get_input_bus_fmts() function to support VESA > > > > > > format by selecting the LVDS input format based on the LVDS data mapping > > > > > > and thereby support both JEIDA and VESA input formats. > > > > > > > > > > ite,it6263.yaml says IT6263 supports vesa-24 and vesa-30, while > > > > > this patch actually only adds vesa-24 support. So, to be more > > > > > specific, the patch subject and commit message should reflect > > > > > this rather than claim "Support VESA input format". > > > > > > > > Fully agree, thanks. > > > > I will fix that in v2 specifying vesa-24 like you suggest. > > > > > > > > > > > > > > > > > > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > > > > > > > > > Can you please send this patch with your Renesas email address > > > > > instead of Gmail email address? > > > > > Otherwise, add a Signed-off-by tag with your Gmail email address. > > > > > > > > Thanks, for the point. > > > > What about adding Acked-by: from my renesas email address? > > > > > > Acked-by has a different meaning. I'd say that generally it's okay to > > > have this light mismatch, see [1] or any of the emails that B4 generates > > > for web-based submission. > > > > > > [1] https://lore.kernel.org/dri-devel/20241121164858.457921-1-robdclark@gmail.com/ > > > > Thanks for sharing this example and for the clarification. > > This is similar to my case :) > > > > Then v1 procedure is correct? > > I can use the same formatting (From: Sob:) for sending v2? > > I think so Oks, thanks for the feedback. Regards, Tommaso > > > > > Thanks & Regards, > > Tommaso > > > > > > > > > > > > > -- > > > With best wishes > > > Dmitry > > -- > With best wishes > Dmitry
On 12/04/2024, Biju Das wrote: > Hi Liu Ying, Hi Biju, > >> -----Original Message----- >> From: Liu Ying <victor.liu@nxp.com> >> Sent: 04 December 2024 03:43 >> Subject: Re: [PATCH] drm/bridge: ite-it6263: Support VESA input format >> >> On 12/04/2024, Dmitry Baryshkov wrote: >>> On Tue, Dec 03, 2024 at 06:21:29PM +0100, tomm.merciai@gmail.com wrote: >>>> From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> >>>> >>>> Introduce it6263_is_input_bus_fmt_valid() and refactor the >>>> it6263_bridge_atomic_get_input_bus_fmts() function to support VESA >>>> format by selecting the LVDS input format based on the LVDS data >>>> mapping and thereby support both JEIDA and VESA input formats. >>> >>> For the patch itself, >>> >>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> >>> >>> A more generic question: is the bridge limited to 4 lanes or does it >>> support 3-lane or 5-lane configurations? >> >> According to ite,it6263.yaml, the bridge supports all the data mappings(jeida-{18,24,30} and vesa- >> {24,30}) listed in lvds-data-mapping.yaml. lvds-data-mapping.yaml specifies the data lanes(3/4/5) >> used by each of the data mappings. So, the bridge supports 3, 4 or 5 data lanes. > > In Renesas SMARC RZ/G3E LVDS add on board, only 4 LVDS Rx lanes connected. The 5th one is unconnected. > What is the situation in your board Liu Ying? The adapter cards I'm using to connect with i.MX8MP EVK have only 4 LVDS data lanes routed out. > > Cheers, > Biju
On Thu, 5 Dec 2024 at 11:01, Liu Ying <victor.liu@nxp.com> wrote: > > On 12/04/2024, Biju Das wrote: > > Hi Liu Ying, > > Hi Biju, > > > > >> -----Original Message----- > >> From: Liu Ying <victor.liu@nxp.com> > >> Sent: 04 December 2024 03:43 > >> Subject: Re: [PATCH] drm/bridge: ite-it6263: Support VESA input format > >> > >> On 12/04/2024, Dmitry Baryshkov wrote: > >>> On Tue, Dec 03, 2024 at 06:21:29PM +0100, tomm.merciai@gmail.com wrote: > >>>> From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > >>>> > >>>> Introduce it6263_is_input_bus_fmt_valid() and refactor the > >>>> it6263_bridge_atomic_get_input_bus_fmts() function to support VESA > >>>> format by selecting the LVDS input format based on the LVDS data > >>>> mapping and thereby support both JEIDA and VESA input formats. > >>> > >>> For the patch itself, > >>> > >>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > >>> > >>> A more generic question: is the bridge limited to 4 lanes or does it > >>> support 3-lane or 5-lane configurations? > >> > >> According to ite,it6263.yaml, the bridge supports all the data mappings(jeida-{18,24,30} and vesa- > >> {24,30}) listed in lvds-data-mapping.yaml. lvds-data-mapping.yaml specifies the data lanes(3/4/5) > >> used by each of the data mappings. So, the bridge supports 3, 4 or 5 data lanes. > > > > In Renesas SMARC RZ/G3E LVDS add on board, only 4 LVDS Rx lanes connected. The 5th one is unconnected. > > What is the situation in your board Liu Ying? > > The adapter cards I'm using to connect with i.MX8MP EVK have only 4 > LVDS data lanes routed out. What about the bridge SoC. I don't understand why the driver gets limited by a particular add-on card.
Hi Dmitry Baryshkov, > -----Original Message----- > From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > Sent: 05 December 2024 11:43 > Subject: Re: [PATCH] drm/bridge: ite-it6263: Support VESA input format > > On Thu, 5 Dec 2024 at 11:01, Liu Ying <victor.liu@nxp.com> wrote: > > > > On 12/04/2024, Biju Das wrote: > > > Hi Liu Ying, > > > > Hi Biju, > > > > > > > >> -----Original Message----- > > >> From: Liu Ying <victor.liu@nxp.com> > > >> Sent: 04 December 2024 03:43 > > >> Subject: Re: [PATCH] drm/bridge: ite-it6263: Support VESA input > > >> format > > >> > > >> On 12/04/2024, Dmitry Baryshkov wrote: > > >>> On Tue, Dec 03, 2024 at 06:21:29PM +0100, tomm.merciai@gmail.com wrote: > > >>>> From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > >>>> > > >>>> Introduce it6263_is_input_bus_fmt_valid() and refactor the > > >>>> it6263_bridge_atomic_get_input_bus_fmts() function to support > > >>>> VESA format by selecting the LVDS input format based on the LVDS > > >>>> data mapping and thereby support both JEIDA and VESA input formats. > > >>> > > >>> For the patch itself, > > >>> > > >>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > >>> > > >>> A more generic question: is the bridge limited to 4 lanes or does > > >>> it support 3-lane or 5-lane configurations? > > >> > > >> According to ite,it6263.yaml, the bridge supports all the data > > >> mappings(jeida-{18,24,30} and vesa- > > >> {24,30}) listed in lvds-data-mapping.yaml. lvds-data-mapping.yaml > > >> specifies the data lanes(3/4/5) used by each of the data mappings. So, the bridge supports 3, 4 > or 5 data lanes. > > > > > > In Renesas SMARC RZ/G3E LVDS add on board, only 4 LVDS Rx lanes connected. The 5th one is > unconnected. > > > What is the situation in your board Liu Ying? > > > > The adapter cards I'm using to connect with i.MX8MP EVK have only 4 > > LVDS data lanes routed out. > > What about the bridge SoC. I don't understand why the driver gets limited by a particular add-on card. Bridge SoC supports up to 5 Rx Lanes. But vendors do the wiring to bridge SoC and currently as far as we know there are 2 boards with ITE 6263 bridge SoC and both of them has 4 LVDS rx lanes connected and both vesa-24 and Jeida-24 formats are tested. Cheers, Biju
diff --git a/drivers/gpu/drm/bridge/ite-it6263.c b/drivers/gpu/drm/bridge/ite-it6263.c index cbabd4e20d3e..83d1db29157a 100644 --- a/drivers/gpu/drm/bridge/ite-it6263.c +++ b/drivers/gpu/drm/bridge/ite-it6263.c @@ -48,6 +48,7 @@ #define REG_COL_DEP GENMASK(1, 0) #define BIT8 FIELD_PREP(REG_COL_DEP, 1) #define OUT_MAP BIT(4) +#define VESA BIT(4) #define JEIDA 0 #define REG_DESSC_ENB BIT(6) #define DMODE BIT(7) @@ -428,12 +429,30 @@ static inline void it6263_lvds_reset(struct it6263 *it) fsleep(10000); } +static bool it6263_is_input_bus_fmt_valid(u32 input_fmt) +{ + switch (input_fmt) { + case MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA: + case MEDIA_BUS_FMT_RGB888_1X7X4_SPWG: + return true; + } + return false; +} + static inline void it6263_lvds_set_interface(struct it6263 *it) { + u8 fmt; + /* color depth */ regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, REG_COL_DEP, BIT8); + + if (it->lvds_data_mapping == MEDIA_BUS_FMT_RGB888_1X7X4_SPWG) + fmt = VESA; + else + fmt = JEIDA; + /* output mapping */ - regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, OUT_MAP, JEIDA); + regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, OUT_MAP, fmt); if (it->lvds_dual_link) { regmap_write_bits(it->lvds_regmap, LVDS_REG_2C, DMODE, DISO); @@ -714,14 +733,14 @@ it6263_bridge_atomic_get_input_bus_fmts(struct drm_bridge *bridge, *num_input_fmts = 0; - if (it->lvds_data_mapping != MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA) + if (!it6263_is_input_bus_fmt_valid(it->lvds_data_mapping)) return NULL; input_fmts = kmalloc(sizeof(*input_fmts), GFP_KERNEL); if (!input_fmts) return NULL; - input_fmts[0] = MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA; + input_fmts[0] = it->lvds_data_mapping; *num_input_fmts = 1; return input_fmts;