lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.17 404/772] media: rkvdec: Stop overclocking the decoder
    Date
    From: Nicolas Dufresne <nicolas.dufresne@collabora.com>

    [ Upstream commit 9998943f6dfc5d5472bfab2e38527fb6ba5e9da7 ]

    While this overclock hack seems to work on some implementations
    (some ChromeBooks, RockPi4) it also causes instability on other
    implementations (notably LibreComputer Renegade, but there were more
    reports in the LibreELEC project, where this has been removed). While
    performance is indeed affected (tested with GStreamer), 4K playback
    still works as long as you don't operate in lock step and keep at
    least 1 frame ahead of time in the decode queue.

    After discussion with ChromeOS members, it would seem that their
    implementation indeed used to synchronously decode each frame, so
    this hack was simply compensating for their code being less
    efficient. In my opinion, this hack should not have been included
    upstream.

    Fixes: cd33c830448ba ("media: rkvdec: Add the rkvdec driver")
    Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
    Reviewed-by: Sebastian Fricke <sebastian.fricke@collabora.com>
    Reviewed-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/staging/media/rkvdec/rkvdec.c | 6 ------
    1 file changed, 6 deletions(-)

    diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
    index c0cf3488f970..2df8cf4883e2 100644
    --- a/drivers/staging/media/rkvdec/rkvdec.c
    +++ b/drivers/staging/media/rkvdec/rkvdec.c
    @@ -1027,12 +1027,6 @@ static int rkvdec_probe(struct platform_device *pdev)
    if (ret)
    return ret;

    - /*
    - * Bump ACLK to max. possible freq. (500 MHz) to improve performance
    - * When 4k video playback.
    - */
    - clk_set_rate(rkvdec->clocks[0].clk, 500 * 1000 * 1000);
    -
    rkvdec->regs = devm_platform_ioremap_resource(pdev, 0);
    if (IS_ERR(rkvdec->regs))
    return PTR_ERR(rkvdec->regs);
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-07 23:12    [W:2.937 / U:0.236 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site