lkml.org 
[lkml]   [2018]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 10/29] venus: hfi_venus: add suspend functionality for Venus 4xx
    Date
    This adds suspend (power collapse) functionality by reusing
    the suspend function for Venus 3xx and also enables idle indicator
    property for Venus 4xx (where it is disabled by default).

    Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
    ---
    drivers/media/platform/qcom/venus/hfi_venus.c | 11 ++++++++++-
    1 file changed, 10 insertions(+), 1 deletion(-)

    diff --git a/drivers/media/platform/qcom/venus/hfi_venus.c b/drivers/media/platform/qcom/venus/hfi_venus.c
    index 284da69eb81b..109116e1545d 100644
    --- a/drivers/media/platform/qcom/venus/hfi_venus.c
    +++ b/drivers/media/platform/qcom/venus/hfi_venus.c
    @@ -878,6 +878,14 @@ static int venus_sys_set_default_properties(struct venus_hfi_device *hdev)
    if (ret)
    dev_warn(dev, "setting fw debug msg ON failed (%d)\n", ret);

    + /*
    + * Idle indicator is disabled by default on some 4xx firmware versions,
    + * enable it explicitly in order to make suspend functional by checking
    + * WFI (wait-for-interrupt) bit.
    + */
    + if (IS_V4(hdev->core))
    + venus_sys_idle_indicator = true;
    +
    ret = venus_sys_set_idle_message(hdev, venus_sys_idle_indicator);
    if (ret)
    dev_warn(dev, "setting idle response ON failed (%d)\n", ret);
    @@ -1525,7 +1533,8 @@ static int venus_suspend_3xx(struct venus_core *core)

    static int venus_suspend(struct venus_core *core)
    {
    - if (core->res->hfi_version == HFI_VERSION_3XX)
    + if (core->res->hfi_version == HFI_VERSION_3XX ||
    + core->res->hfi_version == HFI_VERSION_4XX)
    return venus_suspend_3xx(core);

    return venus_suspend_1xx(core);
    --
    2.14.1
    \
     
     \ /
      Last update: 2018-05-15 10:10    [W:3.257 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site