lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.16 0130/1039] media: aspeed: fix mode-detect always time out at 2nd run
    Date
    From: Jammy Huang <jammy_huang@aspeedtech.com>

    [ Upstream commit 62cea52ad4bead0ae4be2cfe1142eb0aae0e9fbd ]

    aspeed_video_get_resolution() will try to do res-detect again if the
    timing got in last try is invalid. But it will always time out because
    VE_SEQ_CTRL_TRIG_MODE_DET is only cleared after 1st mode-detect.

    To fix the problem, just clear VE_SEQ_CTRL_TRIG_MODE_DET before setting
    it in aspeed_video_enable_mode_detect().

    Fixes: d2b4387f3bdf ("media: platform: Add Aspeed Video Engine driver")
    Signed-off-by: Jammy Huang <jammy_huang@aspeedtech.com>
    Acked-by: Paul Menzel <pmenzel@molgen.mpg.de>
    Reviewed-by: Joel Stanley <joel@jms.id.au>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/media/platform/aspeed-video.c | 8 ++++----
    1 file changed, 4 insertions(+), 4 deletions(-)

    diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c
    index cad3f97515aef..136383ad0e97c 100644
    --- a/drivers/media/platform/aspeed-video.c
    +++ b/drivers/media/platform/aspeed-video.c
    @@ -539,6 +539,10 @@ static void aspeed_video_enable_mode_detect(struct aspeed_video *video)
    aspeed_video_update(video, VE_INTERRUPT_CTRL, 0,
    VE_INTERRUPT_MODE_DETECT);

    + /* Disable mode detect in order to re-trigger */
    + aspeed_video_update(video, VE_SEQ_CTRL,
    + VE_SEQ_CTRL_TRIG_MODE_DET, 0);
    +
    /* Trigger mode detect */
    aspeed_video_update(video, VE_SEQ_CTRL, 0, VE_SEQ_CTRL_TRIG_MODE_DET);
    }
    @@ -824,10 +828,6 @@ static void aspeed_video_get_resolution(struct aspeed_video *video)
    return;
    }

    - /* Disable mode detect in order to re-trigger */
    - aspeed_video_update(video, VE_SEQ_CTRL,
    - VE_SEQ_CTRL_TRIG_MODE_DET, 0);
    -
    aspeed_video_check_and_set_polarity(video);

    aspeed_video_enable_mode_detect(video);
    --
    2.34.1


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