lkml.org 
[lkml]   [2022]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.19 0319/1157] drm/bridge: lt9611: Use both bits for HDMI sensing
    Date
    From: John Stultz <jstultz@google.com>

    [ Upstream commit 649eb3828fb22e829e222ebd83f4e11dc503a565 ]

    In commit 19cf41b64e3b ("lontium-lt9611: check a different
    register bit for HDMI sensing"), the bit flag used to detect
    HDMI cable connect was switched from BIT(2) to BIT(0) to improve
    compatibility with some monitors that didn't seem to set BIT(2).

    However, with that change, I've seen occasional issues where the
    detection failed, because BIT(2) was set, but not BIT(0).

    Unfortunately, as I understand it, the bits and their function
    was never clearly documented. So lets instead check both
    (BIT(2) | BIT(0)) when checking the register.

    Cc: Yongqin Liu <yongqin.liu@linaro.org>
    Cc: Amit Pundir <amit.pundir@linaro.org>
    Cc: Peter Collingbourne <pcc@google.com>
    Cc: Vinod Koul <vkoul@kernel.org>
    Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
    Cc: Robert Foss <robert.foss@linaro.org>
    Cc: kernel-team@android.com
    Fixes: 19cf41b64e3b ("lontium-lt9611: check a different register bit for HDMI sensing")
    Signed-off-by: John Stultz <jstultz@google.com>
    Reviewed-by: Robert Foss <robert.foss@linaro.org>
    Signed-off-by: Robert Foss <robert.foss@linaro.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220511012612.3297577-2-jstultz@google.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/bridge/lontium-lt9611.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/gpu/drm/bridge/lontium-lt9611.c b/drivers/gpu/drm/bridge/lontium-lt9611.c
    index 7ef8fe5abc12..c0b182d1374e 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(0));
    + connected = (reg_val & (BIT(2) | BIT(0)));

    lt9611->status = connected ? connector_status_connected :
    connector_status_disconnected;
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-09-17 16:26    [W:3.026 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site