lkml.org 
[lkml]   [2019]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.4 115/350] drm/amd/powerplay: avoid disabling ECC if RAS is enabled for VEGA20
    Date
    From: Le Ma <le.ma@amd.com>

    [ Upstream commit df9331e561dab0a451cbd6a679ee88a95f306fd6 ]

    Program THM_BACO_CNTL.SOC_DOMAIN_IDLE=1 will tell VBIOS to disable ECC when
    BACO exit. This can save BACO exit time by PSP on none-ECC SKU. Drop the setting
    for ECC supported SKU.

    Signed-off-by: Le Ma <le.ma@amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/amd/powerplay/hwmgr/vega20_baco.c | 12 +++++++-----
    1 file changed, 7 insertions(+), 5 deletions(-)

    diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_baco.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_baco.c
    index df6ff92524011..b068d1c7b44d2 100644
    --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_baco.c
    +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_baco.c
    @@ -29,7 +29,7 @@
    #include "vega20_baco.h"
    #include "vega20_smumgr.h"

    -
    +#include "amdgpu_ras.h"

    static const struct soc15_baco_cmd_entry clean_baco_tbl[] =
    {
    @@ -74,6 +74,7 @@ int vega20_baco_get_state(struct pp_hwmgr *hwmgr, enum BACO_STATE *state)
    int vega20_baco_set_state(struct pp_hwmgr *hwmgr, enum BACO_STATE state)
    {
    struct amdgpu_device *adev = (struct amdgpu_device *)(hwmgr->adev);
    + struct amdgpu_ras *ras = amdgpu_ras_get_context(adev);
    enum BACO_STATE cur_state;
    uint32_t data;

    @@ -84,10 +85,11 @@ int vega20_baco_set_state(struct pp_hwmgr *hwmgr, enum BACO_STATE state)
    return 0;

    if (state == BACO_STATE_IN) {
    - data = RREG32_SOC15(THM, 0, mmTHM_BACO_CNTL);
    - data |= 0x80000000;
    - WREG32_SOC15(THM, 0, mmTHM_BACO_CNTL, data);
    -
    + if (!ras || !ras->supported) {
    + data = RREG32_SOC15(THM, 0, mmTHM_BACO_CNTL);
    + data |= 0x80000000;
    + WREG32_SOC15(THM, 0, mmTHM_BACO_CNTL, data);
    + }

    if(smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_EnterBaco, 0))
    return -EINVAL;
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-12-10 22:09    [W:4.014 / U:0.324 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site