2021-11-17 02:07:36

by Peter Collingbourne

[permalink] [raw]
Subject: [PATCH] lontium-lt9611: check a different register bit for HDMI sensing

It has been observed that with certain monitors such as the HP Z27n,
the register 0x825e reads a value of 0x79 when the HDMI cable is
connected and 0x78 when it is disconnected, i.e. bit 0 appears
to correspond to the HDMI connection status and bit 2 is never
set. Therefore, change the driver to check bit 0 instead of bit 2.

Signed-off-by: Peter Collingbourne <[email protected]>
Link: https://linux-review.googlesource.com/id/I7e76411127e1ce4988a3f6d0c8ba5f1c3d880c23
---
N.B. I don't currently have easy access to a monitor that works
with the existing driver, so it would be great if people with
monitors that currently work could test this patch to make sure
that it doesn't introduce any regressions. Otherwise I will change
it to check both bits.

drivers/gpu/drm/bridge/lontium-lt9611.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/bridge/lontium-lt9611.c b/drivers/gpu/drm/bridge/lontium-lt9611.c
index 29b1ce2140ab..71f1db802916 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9611.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9611.c
@@ -586,7 +586,7 @@ lt9611_connector_detect(struct drm_connector *connector, bool force)
int connected = 0;

regmap_read(lt9611->regmap, 0x825e, &reg_val);
- connected = (reg_val & BIT(2));
+ connected = (reg_val & BIT(0));

lt9611->status = connected ? connector_status_connected :
connector_status_disconnected;
@@ -926,7 +926,7 @@ static enum drm_connector_status lt9611_bridge_detect(struct drm_bridge *bridge)
int connected;

regmap_read(lt9611->regmap, 0x825e, &reg_val);
- connected = reg_val & BIT(2);
+ connected = reg_val & BIT(0);

lt9611->status = connected ? connector_status_connected :
connector_status_disconnected;
--
2.34.0.rc1.387.gb447b232ab-goog



2021-11-17 04:47:58

by John Stultz

[permalink] [raw]
Subject: Re: [PATCH] lontium-lt9611: check a different register bit for HDMI sensing

On Tue, Nov 16, 2021 at 6:07 PM Peter Collingbourne <[email protected]> wrote:
>
> It has been observed that with certain monitors such as the HP Z27n,
> the register 0x825e reads a value of 0x79 when the HDMI cable is
> connected and 0x78 when it is disconnected, i.e. bit 0 appears
> to correspond to the HDMI connection status and bit 2 is never
> set. Therefore, change the driver to check bit 0 instead of bit 2.
>
> Signed-off-by: Peter Collingbourne <[email protected]>
> Link: https://linux-review.googlesource.com/id/I7e76411127e1ce4988a3f6d0c8ba5f1c3d880c23
> ---
> N.B. I don't currently have easy access to a monitor that works
> with the existing driver, so it would be great if people with
> monitors that currently work could test this patch to make sure
> that it doesn't introduce any regressions. Otherwise I will change
> it to check both bits.

So very interesting! I gave this a spin with my monitors and it works fine.

Vinod: Can you check the datasheet to see if the wrong bit is being used here?

thanks
-john

2021-11-17 05:09:10

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH] lontium-lt9611: check a different register bit for HDMI sensing

On 16-11-21, 22:49, Anibal Limon wrote:
> Dmitry,
>
> May be this is the reason of my HP monitor not working in RB5.

Rb5 has Lt9611UXC


>
> Regards,
> Anibal
>
> El mar., 16 de noviembre de 2021 20:07, Peter Collingbourne <[email protected]>
> escribi?:
>
> > It has been observed that with certain monitors such as the HP Z27n,
> > the register 0x825e reads a value of 0x79 when the HDMI cable is
> > connected and 0x78 when it is disconnected, i.e. bit 0 appears
> > to correspond to the HDMI connection status and bit 2 is never
> > set. Therefore, change the driver to check bit 0 instead of bit 2.
> >
> > Signed-off-by: Peter Collingbourne <[email protected]>
> > Link:
> > https://linux-review.googlesource.com/id/I7e76411127e1ce4988a3f6d0c8ba5f1c3d880c23
> > ---
> > N.B. I don't currently have easy access to a monitor that works
> > with the existing driver, so it would be great if people with
> > monitors that currently work could test this patch to make sure
> > that it doesn't introduce any regressions. Otherwise I will change
> > it to check both bits.
> >
> > drivers/gpu/drm/bridge/lontium-lt9611.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/bridge/lontium-lt9611.c
> > b/drivers/gpu/drm/bridge/lontium-lt9611.c
> > index 29b1ce2140ab..71f1db802916 100644
> > --- a/drivers/gpu/drm/bridge/lontium-lt9611.c
> > +++ b/drivers/gpu/drm/bridge/lontium-lt9611.c
> > @@ -586,7 +586,7 @@ lt9611_connector_detect(struct drm_connector
> > *connector, bool force)
> > int connected = 0;
> >
> > regmap_read(lt9611->regmap, 0x825e, &reg_val);
> > - connected = (reg_val & BIT(2));
> > + connected = (reg_val & BIT(0));
> >
> > lt9611->status = connected ? connector_status_connected :
> > connector_status_disconnected;
> > @@ -926,7 +926,7 @@ static enum drm_connector_status
> > lt9611_bridge_detect(struct drm_bridge *bridge)
> > int connected;
> >
> > regmap_read(lt9611->regmap, 0x825e, &reg_val);
> > - connected = reg_val & BIT(2);
> > + connected = reg_val & BIT(0);
> >
> > lt9611->status = connected ? connector_status_connected :
> > connector_status_disconnected;
> > --
> > 2.34.0.rc1.387.gb447b232ab-goog
> >
> >

--
~Vinod

2021-11-17 05:10:44

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH] lontium-lt9611: check a different register bit for HDMI sensing

Hi John,

On 16-11-21, 20:47, John Stultz wrote:
> On Tue, Nov 16, 2021 at 6:07 PM Peter Collingbourne <[email protected]> wrote:
> >
> > It has been observed that with certain monitors such as the HP Z27n,
> > the register 0x825e reads a value of 0x79 when the HDMI cable is
> > connected and 0x78 when it is disconnected, i.e. bit 0 appears
> > to correspond to the HDMI connection status and bit 2 is never
> > set. Therefore, change the driver to check bit 0 instead of bit 2.
> >
> > Signed-off-by: Peter Collingbourne <[email protected]>
> > Link: https://linux-review.googlesource.com/id/I7e76411127e1ce4988a3f6d0c8ba5f1c3d880c23
> > ---
> > N.B. I don't currently have easy access to a monitor that works
> > with the existing driver, so it would be great if people with
> > monitors that currently work could test this patch to make sure
> > that it doesn't introduce any regressions. Otherwise I will change
> > it to check both bits.
>
> So very interesting! I gave this a spin with my monitors and it works fine.
>
> Vinod: Can you check the datasheet to see if the wrong bit is being used here?

Well the document I have does not list this register :(

I have asked Lontium folks about this register description, will update
if I hear back. Meanwhile we can get this patch tested with different
monitors.

Thanks
--
~Vinod

2021-11-30 05:30:59

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH] lontium-lt9611: check a different register bit for HDMI sensing

On 16-11-21, 18:07, Peter Collingbourne wrote:
> It has been observed that with certain monitors such as the HP Z27n,
> the register 0x825e reads a value of 0x79 when the HDMI cable is
> connected and 0x78 when it is disconnected, i.e. bit 0 appears
> to correspond to the HDMI connection status and bit 2 is never
> set. Therefore, change the driver to check bit 0 instead of bit 2.

So we have got limited information on this but BIT-2 seems to be related
to HPD and empirical data from various monitors supports this, so this
seems the right thing to do.

Reviewed-by: Vinod Koul <[email protected]>

--
~Vinod

2021-11-30 12:17:50

by Robert Foss

[permalink] [raw]
Subject: Re: [PATCH] lontium-lt9611: check a different register bit for HDMI sensing

On Tue, 30 Nov 2021 at 06:30, Vinod Koul <[email protected]> wrote:
>
> On 16-11-21, 18:07, Peter Collingbourne wrote:
> > It has been observed that with certain monitors such as the HP Z27n,
> > the register 0x825e reads a value of 0x79 when the HDMI cable is
> > connected and 0x78 when it is disconnected, i.e. bit 0 appears
> > to correspond to the HDMI connection status and bit 2 is never
> > set. Therefore, change the driver to check bit 0 instead of bit 2.
>
> So we have got limited information on this but BIT-2 seems to be related
> to HPD and empirical data from various monitors supports this, so this
> seems the right thing to do.
>
> Reviewed-by: Vinod Koul <[email protected]>
>

Applied to drm-misc-next