RE: [PATCH] gpu: drm: swsmu: fix error return code of smu_v11_0_set_allowed_mask()
[AMD Public Use] Thanks. Reviewed-by: Evan Quan -Original Message- From: Jia-Ju Bai Sent: Friday, March 5, 2021 11:54 AM To: Deucher, Alexander ; Koenig, Christian ; airl...@linux.ie; dan...@ffwll.ch; Quan, Evan ; Zhang, Hawking ; Wang, Kevin(Yang) ; Gao, Likun Cc: amd-...@lists.freedesktop.org; dri-de...@lists.freedesktop.org; linux-kernel@vger.kernel.org; Jia-Ju Bai Subject: [PATCH] gpu: drm: swsmu: fix error return code of smu_v11_0_set_allowed_mask() When bitmap_empty() or feature->feature_num triggers an error, no error return code of smu_v11_0_set_allowed_mask() is assigned. To fix this bug, ret is assigned with -EINVAL as error return code. Reported-by: TOTE Robot Signed-off-by: Jia-Ju Bai --- drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c index 90585461a56e..82731a932308 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c @@ -747,8 +747,10 @@ int smu_v11_0_set_allowed_mask(struct smu_context *smu) int ret = 0; uint32_t feature_mask[2]; - if (bitmap_empty(feature->allowed, SMU_FEATURE_MAX) || feature->feature_num < 64) + if (bitmap_empty(feature->allowed, SMU_FEATURE_MAX) || feature->feature_num < 64) { + ret = -EINVAL; goto failed; + } bitmap_copy((unsigned long *)feature_mask, feature->allowed, 64); -- 2.17.1
RE: [PATCH v2] drm/amdgpu/swsmu/navi1x: Remove unnecessary conversion to bool
[AMD Official Use Only - Internal Distribution Only] Reviewed-by: Evan Quan -Original Message- From: amd-gfx On Behalf Of Jiapeng Chong Sent: Saturday, February 20, 2021 10:55 AM To: Deucher, Alexander Cc: Jiapeng Chong ; airl...@linux.ie; linux-kernel@vger.kernel.org; dri-de...@lists.freedesktop.org; amd-...@lists.freedesktop.org; dan...@ffwll.ch; Koenig, Christian Subject: [PATCH v2] drm/amdgpu/swsmu/navi1x: Remove unnecessary conversion to bool Fix the following coccicheck warnings: ./drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c:900:47-52: WARNING: conversion to bool not needed here. Reported-by: Abaci Robot Signed-off-by: Jiapeng Chong --- drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c index cd7efa9..58028a7 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c @@ -897,7 +897,7 @@ static bool navi10_is_support_fine_grained_dpm(struct smu_context *smu, enum smu dpm_desc = >DpmDescriptor[clk_index]; /* 0 - Fine grained DPM, 1 - Discrete DPM */ - return dpm_desc->SnapToDiscrete == 0 ? true : false; + return dpm_desc->SnapToDiscrete == 0; } static inline bool navi10_od_feature_is_supported(struct smu_11_0_overdrive_table *od_table, enum SMU_11_0_ODFEATURE_CAP cap) -- 1.8.3.1 ___ amd-gfx mailing list amd-...@lists.freedesktop.org https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfxdata=04%7C01%7Cevan.quan%40amd.com%7C443a5df938954827326108d8d6582201%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637495021310885387%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=6ETadiVbRBgbXfEbkXbxTX%2F1Ozg1wp3Nr9lHGF3SKHk%3Dreserved=0
RE: [PATCH] drm/amd/powerplay: fix spelling mistake "smu_state_memroy_block" -> "smu_state_memory_block"
[AMD Official Use Only - Internal Distribution Only] Reviewed-by: Evan Quan -Original Message- From: Colin King Sent: Monday, November 23, 2020 6:54 PM To: Deucher, Alexander ; Koenig, Christian ; David Airlie ; Daniel Vetter ; Quan, Evan ; Wang, Kevin(Yang) ; Gui, Jack ; amd-...@lists.freedesktop.org; dri-de...@lists.freedesktop.org Cc: kernel-janit...@vger.kernel.org; linux-kernel@vger.kernel.org Subject: [PATCH] drm/amd/powerplay: fix spelling mistake "smu_state_memroy_block" -> "smu_state_memory_block" From: Colin Ian King The struct name smu_state_memroy_block contains a spelling mistake, rename it to smu_state_memory_block Fixes: 8554e67d6e22 ("drm/amd/powerplay: implement power_dpm_state sys interface for SMU11") Signed-off-by: Colin Ian King --- drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h b/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h index 7550757cc059..a559ea2204c1 100644 --- a/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h +++ b/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h @@ -99,7 +99,7 @@ struct smu_state_display_block { bool enable_vari_bright; }; -struct smu_state_memroy_block { +struct smu_state_memory_block { bool dll_off; uint8_t m3arb; uint8_t unused[3]; @@ -146,7 +146,7 @@ struct smu_power_state { struct smu_state_validation_block validation; struct smu_state_pcie_block pcie; struct smu_state_display_blockdisplay; -struct smu_state_memroy_block memory; +struct smu_state_memory_block memory; struct smu_state_software_algorithm_block software; struct smu_uvd_clocks uvd_clocks; struct smu_hw_power_state hardware; -- 2.28.0
RE: [PATCH -next] drm/amdgpu/swsmu: Remove unused static struct 'navi10_i2c_algo'
[AMD Official Use Only - Internal Distribution Only] Other used APIs should be also dropped together. navi10_i2c_func() navi10_i2c_xfer() navi10_i2c_write_data() navi10_i2c_read_data() Regards, Evan -Original Message- From: amd-gfx On Behalf Of Zou Wei Sent: Thursday, October 29, 2020 8:00 PM To: Deucher, Alexander ; Koenig, Christian ; airl...@linux.ie; dan...@ffwll.ch Cc: Zou Wei ; dri-de...@lists.freedesktop.org; amd-...@lists.freedesktop.org; linux-kernel@vger.kernel.org Subject: [PATCH -next] drm/amdgpu/swsmu: Remove unused static struct 'navi10_i2c_algo' Fixes the following W=1 kernel build warning(s): drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/navi10_ppt.c:2527:35: warning: ‘navi10_i2c_algo’ defined but not used [-Wunused-const-variable=] static const struct i2c_algorithm navi10_i2c_algo = { ^~~ Reported-by: Hulk Robot Signed-off-by: Zou Wei --- drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c | 6 -- 1 file changed, 6 deletions(-) diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c index ef1a62e..bec63f2 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c @@ -2523,12 +2523,6 @@ static u32 navi10_i2c_func(struct i2c_adapter *adap) return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL; } - -static const struct i2c_algorithm navi10_i2c_algo = { -.master_xfer = navi10_i2c_xfer, -.functionality = navi10_i2c_func, -}; - static ssize_t navi10_get_gpu_metrics(struct smu_context *smu, void **table) { -- 2.6.2 ___ amd-gfx mailing list amd-...@lists.freedesktop.org https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfxdata=04%7C01%7Cevan.quan%40amd.com%7C1b891bdcddd04c65dcc608d87c0ced25%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637395742921994883%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000sdata=v6O4EVJvUGg%2Byas3QxIcvO16%2FavfZcvXfeiIh8SfZYo%3Dreserved=0
RE: amdgpu: call trace introduced in 5.9-rc1 for Lenovo L14 Renoir
[AMD Official Use Only - Internal Distribution Only] Thanks, I will send out a fix for this. During DC hw init, pp_smu->rn_funcs.get_dpm_clock_table is called. However, the dpm_clock_table is not setup yet at that time. And that will trigger NULL pointer dereference. BR Evan -Original Message- From: Alex Deucher Sent: Tuesday, September 29, 2020 10:03 PM To: Dirk Gouders ; Quan, Evan Cc: Kuehling, Felix ; LKML ; amd-gfx list Subject: Re: amdgpu: call trace introduced in 5.9-rc1 for Lenovo L14 Renoir On Sun, Sep 27, 2020 at 5:18 AM Dirk Gouders wrote: > > Alex Deucher writes: > > > On Wed, Sep 23, 2020 at 3:45 PM Dirk Gouders wrote: > >> > >> Dirk Gouders writes: > >> > >> > Alex Deucher writes: > >> > > >> >> On Wed, Sep 23, 2020 at 8:54 AM Dirk Gouders wrote: > >> >>> > >> >>> Dirk Gouders writes: > >> >>> > >> >>> > Hi, > >> >>> > > >> >>> > I noticed a call trace (attached) when starting my machine > >> >>> > (ThinkPad L14). This machine is new and I am still working > >> >>> > on it's configuration but visually noticeable is that > >> >>> > scrolling in xterms with SHIFT-PgUp/PgDn is broken. Using the mouse > >> >>> > wheel works. > >> >>> > > >> >>> > It seems the call trace has been introduced between 5.8 and > >> >>> > 5.9-rc1 and I tried to bisect this but always end in > >> >>> > situations where I dont't find a bootable commit around the > >> >>> > current bisect position. Mainly the machine then hangs when udevd > >> >>> > is started. > >> >>> > >> >>> I fixed my netconsole setup (had to use a switch instead of the > >> >>> ports of a FritzBox) and tried a bisect, again (log below). > >> >>> With the commits between the earliest bad and latest good > >> >>> commits I marked, my machine does not boot and hangs very early with > >> >>> the message: > >> >>> > >> >>> fb0: switching to amdgpudrmfb from EFI VGA > >> >>> > >> >>> That was introduced with > >> >>> > >> >>> c1cf79ca5ced drm/amdgpu: use IP discovery table for > >> >>> renoir > >> >>> > >> >>> and ended with a commit that instead produces the call trace > >> >>> > >> >>> b6df946ef4b5 drm/amdgpu: fix the nullptr issue as for PWR IP > >> >>> not > >> >>> existing in discovery table > >> >>> > >> >>> I was hoping to get further with the bisect but have no idea > >> >>> how to avoid the early hangs. > >> >> > >> >> You can disable use of the IP discovery table by setting > >> >> amdgpu.discovery=0 on the kernel command line in grub. > >> > > >> > I tried that with b770f04ba2ee (next step in bisect), but no > >> > success with this option, unfortunately. > >> > > >> > I'm not using grub but directly booting from UEFI using CONFIG_CMDLINE. > >> > Any other option I am using (root, loglevel and netconsole) works > >> > as expected and I veryfied that "amdgpu.discovery=0" is included > >> > in vmlinux. > >> > >> Apologies if I'm causing too much noise. > >> > >> While thinking about this I recalled that I changed amdgpu from > >> modular to static when I had problems with netconsole. I changed > >> it back to modular to see if that helps and I get the earlier > >> mentioned hangs later in the boot process when udevd starts and netconsole > >> is up working. > >> This enables me to inspect boot messages and I tested with > >> amdgpu.discovery=0: > >> > >> 5,175,49060,-;Kernel command line: root=PARTLABEL=system1 > >> amdgpu.discovery=0 loglevel=15 netconsole=... > >> > >> I'm afraid I now get traces that commit b6df946ef4b5 (drm/amdgpu: > >> fix the nullptr issue as for PWR IP not existing in discovery > >> table) is fixing (output attached below) and I cannot decide how to > >> continue with bisecting... > > > > You get the issue with discovery=0? You can try skipping that > > commit (mark as skip) to finish the bis
RE: [PATCH AUTOSEL 5.4 265/330] drm/amd/powerplay: try to do a graceful shutdown on SW CTF
[AMD Official Use Only - Internal Distribution Only] Hi @Sasha Levin @Deucher, Alexander, The following changes need to be applied also. Otherwise, you may see unexpected shutdown on stress gpu loading on Vega10. drm/amd/pm: avoid false alarm due to confusing softwareshutdowntemp setting drm/amd/pm: correct the thermal alert temperature limit settings drm/amd/pm: correct Vega20 swctf limit setting drm/amd/pm: correct Vega12 swctf limit setting drm/amd/pm: correct Vega10 swctf limit setting BR Evan -Original Message- From: Sasha Levin Sent: Friday, September 18, 2020 10:00 AM To: linux-kernel@vger.kernel.org; sta...@vger.kernel.org Cc: Quan, Evan ; Deucher, Alexander ; Sasha Levin ; dri-de...@lists.freedesktop.org Subject: [PATCH AUTOSEL 5.4 265/330] drm/amd/powerplay: try to do a graceful shutdown on SW CTF From: Evan Quan [ Upstream commit 9495220577416632675959caf122e968469ffd16 ] Normally this(SW CTF) should not happen. And by doing graceful shutdown we can prevent further damage. Signed-off-by: Evan Quan Reviewed-by: Alex Deucher Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- .../gpu/drm/amd/powerplay/hwmgr/smu_helper.c | 21 +++ drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 7 +++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu_helper.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu_helper.c index d09690fca4520..414added3d02c 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu_helper.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu_helper.c @@ -22,6 +22,7 @@ */ #include +#include #include "hwmgr.h" #include "pp_debug.h" @@ -593,12 +594,18 @@ int phm_irq_process(struct amdgpu_device *adev, uint32_t src_id = entry->src_id; if (client_id == AMDGPU_IRQ_CLIENTID_LEGACY) { -if (src_id == VISLANDS30_IV_SRCID_CG_TSS_THERMAL_LOW_TO_HIGH) +if (src_id == VISLANDS30_IV_SRCID_CG_TSS_THERMAL_LOW_TO_HIGH) { pr_warn("GPU over temperature range detected on PCIe %d:%d.%d!\n", PCI_BUS_NUM(adev->pdev->devfn), PCI_SLOT(adev->pdev->devfn), PCI_FUNC(adev->pdev->devfn)); -else if (src_id == VISLANDS30_IV_SRCID_CG_TSS_THERMAL_HIGH_TO_LOW) +/* + * SW CTF just occurred. + * Try to do a graceful shutdown to prevent further damage. + */ +dev_emerg(adev->dev, "System is going to shutdown due to SW CTF!\n"); +orderly_poweroff(true); +} else if (src_id == VISLANDS30_IV_SRCID_CG_TSS_THERMAL_HIGH_TO_LOW) pr_warn("GPU under temperature range detected on PCIe %d:%d.%d!\n", PCI_BUS_NUM(adev->pdev->devfn), PCI_SLOT(adev->pdev->devfn), @@ -609,12 +616,18 @@ int phm_irq_process(struct amdgpu_device *adev, PCI_SLOT(adev->pdev->devfn), PCI_FUNC(adev->pdev->devfn)); } else if (client_id == SOC15_IH_CLIENTID_THM) { -if (src_id == 0) +if (src_id == 0) { pr_warn("GPU over temperature range detected on PCIe %d:%d.%d!\n", PCI_BUS_NUM(adev->pdev->devfn), PCI_SLOT(adev->pdev->devfn), PCI_FUNC(adev->pdev->devfn)); -else +/* + * SW CTF just occurred. + * Try to do a graceful shutdown to prevent further damage. + */ +dev_emerg(adev->dev, "System is going to shutdown due to SW CTF!\n"); +orderly_poweroff(true); +} else pr_warn("GPU under temperature range detected on PCIe %d:%d.%d!\n", PCI_BUS_NUM(adev->pdev->devfn), PCI_SLOT(adev->pdev->devfn), diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c index c4d8c52c6b9ca..6c4405622c9bb 100644 --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c @@ -23,6 +23,7 @@ #include #include #include +#include #include "pp_debug.h" #include "amdgpu.h" @@ -1538,6 +1539,12 @@ static int smu_v11_0_irq_process(struct amdgpu_device *adev, PCI_BUS_NUM(adev->pdev->devfn), PCI_SLOT(adev->pdev->devfn), PCI_FUNC(adev->pdev->devfn)); +/* + * SW CTF just occurred. + * Try to do a graceful shutdown to prevent further damage. + */ +dev_emerg(adev->dev, "System is going to shutdown due to SW CTF!\n"); +orderly_poweroff(true); break; case THM_11_0__SRCID__THM_DIG_THERM_H2L: pr_warn("GPU under temperature range detected on PCIe %d:%d.%d!\n", -- 2.25.1
RE: [PATCH v1] powerplay:hwmgr - modify the return value
[AMD Official Use Only - Internal Distribution Only] Thanks. Reviewed-by: Evan Quan -Original Message- From: Xiaoliang Pang Sent: Thursday, September 17, 2020 11:46 AM To: Quan, Evan ; Deucher, Alexander ; Koenig, Christian ; airl...@linux.ie; dan...@ffwll.ch; Feng, Kenneth ; zhengbi...@huawei.com; pe...@vangils.xyz; yt...@amd.com Cc: Das, Nirmoy ; Huang, JinHuiEric ; amd-...@lists.freedesktop.org; dri-de...@lists.freedesktop.org; linux-kernel@vger.kernel.org; tianjia.zh...@linux.alibaba.com; dawning.p...@gmail.com Subject: [PATCH v1] powerplay:hwmgr - modify the return value modify the return value is -EINVAL Fixes: f83a9991648bb("drm/amd/powerplay: add Vega10 powerplay support (v5)") Fixes: 2cac05dee6e30("drm/amd/powerplay: add the hw manager for vega12 (v4)") Cc: Eric Huang Cc: Evan Quan Signed-off-by: Xiaoliang Pang --- drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 2 +- drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c index c378a000c934..7eada3098ffc 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c @@ -4659,7 +4659,7 @@ static int vega10_display_configuration_changed_task(struct pp_hwmgr *hwmgr) if ((data->water_marks_bitmap & WaterMarksExist) && !(data->water_marks_bitmap & WaterMarksLoaded)) { result = smum_smc_table_manager(hwmgr, (uint8_t *)wm_table, WMTABLE, false); -PP_ASSERT_WITH_CODE(result, "Failed to update WMTABLE!", return EINVAL); +PP_ASSERT_WITH_CODE(result, "Failed to update WMTABLE!", return -EINVAL); data->water_marks_bitmap |= WaterMarksLoaded; } diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c index a678a67f1c0d..04da52cea824 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c @@ -2390,7 +2390,7 @@ static int vega12_display_configuration_changed_task(struct pp_hwmgr *hwmgr) !(data->water_marks_bitmap & WaterMarksLoaded)) { result = smum_smc_table_manager(hwmgr, (uint8_t *)wm_table, TABLE_WATERMARKS, false); -PP_ASSERT_WITH_CODE(result, "Failed to update WMTABLE!", return EINVAL); +PP_ASSERT_WITH_CODE(result, "Failed to update WMTABLE!", return -EINVAL); data->water_marks_bitmap |= WaterMarksLoaded; } -- 2.17.1
RE: [PATCH -next] amdgpu: fix Documentation builds for pm/ file movement
[AMD Official Use Only - Internal Distribution Only] Thanks for fixing this. The patch is reviewed-by: Evan Quan BR Evan -Original Message- From: Randy Dunlap Sent: Monday, August 24, 2020 6:36 AM To: dri-devel ; LKML ; amd-...@lists.freedesktop.org; Deucher, Alexander Cc: Quan, Evan ; Stephen Rothwell Subject: [PATCH -next] amdgpu: fix Documentation builds for pm/ file movement From: Randy Dunlap Fix Documentation errors for amdgpu.rst due to file rename (moved to another subdirectory). Error: Cannot open file ../drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c WARNING: kernel-doc '../scripts/kernel-doc -rst -enable-lineno -function hwmon ../drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c' failed with return code 1 Fixes: e098bc9612c2 ("drm/amd/pm: optimize the power related source code layout") Signed-off-by: Randy Dunlap Cc: Evan Quan Cc: Alex Deucher --- Documentation/gpu/amdgpu.rst | 24 1 file changed, 12 insertions(+), 12 deletions(-) --- linux-next-20200821.orig/Documentation/gpu/amdgpu.rst +++ linux-next-20200821/Documentation/gpu/amdgpu.rst @@ -153,7 +153,7 @@ This section covers hwmon and power/ther HWMON Interfaces -.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c :doc: hwmon GPU sysfs Power State Interfaces @@ -164,52 +164,52 @@ GPU power controls are exposed via sysfs power_dpm_state ~~~ -.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c :doc: power_dpm_state power_dpm_force_performance_level ~ -.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c :doc: power_dpm_force_performance_level pp_table -.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c :doc: pp_table pp_od_clk_voltage ~ -.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c :doc: pp_od_clk_voltage pp_dpm_* -.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c :doc: pp_dpm_sclk pp_dpm_mclk pp_dpm_socclk pp_dpm_fclk pp_dpm_dcefclk pp_dpm_pcie pp_power_profile_mode ~ -.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c :doc: pp_power_profile_mode *_busy_percent ~~ -.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c :doc: gpu_busy_percent -.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c :doc: mem_busy_percent gpu_metrics ~ -.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c :doc: gpu_metrics GPU Product Information @@ -239,7 +239,7 @@ serial_number unique_id - -.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c :doc: unique_id GPU Memory Usage Information @@ -289,7 +289,7 @@ PCIe Accounting Information pcie_bw --- -.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c :doc: pcie_bw pcie_replay_count
RE: [PATCH -next] drm/amd/powerplay: remove duplicate include
[AMD Official Use Only - Internal Distribution Only] Reviewed-by: Evan Quan -Original Message- From: Wang Hai Sent: Wednesday, August 19, 2020 7:34 PM To: Quan, Evan ; Deucher, Alexander ; Koenig, Christian ; airl...@linux.ie; dan...@ffwll.ch Cc: amd-...@lists.freedesktop.org; dri-de...@lists.freedesktop.org; linux-kernel@vger.kernel.org Subject: [PATCH -next] drm/amd/powerplay: remove duplicate include Remove asic_reg/nbio/nbio_6_1_offset.h which is included more than once Reported-by: Hulk Robot Signed-off-by: Wang Hai --- drivers/gpu/drm/amd/powerplay/hwmgr/vega12_inc.h | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_inc.h b/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_inc.h index e6d9e84059e1..0d08c57d3bca 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_inc.h +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_inc.h @@ -34,7 +34,6 @@ #include "asic_reg/gc/gc_9_2_1_offset.h" #include "asic_reg/gc/gc_9_2_1_sh_mask.h" -#include "asic_reg/nbio/nbio_6_1_offset.h" #include "asic_reg/nbio/nbio_6_1_offset.h" #include "asic_reg/nbio/nbio_6_1_sh_mask.h" -- 2.17.1
RE: [PATCH] drm/amd/powerplay: fix a crash when overclocking Vega M
[AMD Official Use Only - Internal Distribution Only] Reviewed-by: Evan Quan -Original Message- From: Qiu Wenbo Sent: Friday, July 17, 2020 3:10 PM To: Quan, Evan ; amd-...@lists.freedesktop.org Cc: Qiu Wenbo ; Deucher, Alexander ; Koenig, Christian ; Zhou, David(ChunMing) ; David Airlie ; Daniel Vetter ; Chen Wandun ; YueHaibing ; yu kuai ; Huang, JinHuiEric ; dri-de...@lists.freedesktop.org; linux-kernel@vger.kernel.org Subject: [PATCH] drm/amd/powerplay: fix a crash when overclocking Vega M Avoid kernel crash when vddci_control is SMU7_VOLTAGE_CONTROL_NONE and vddci_voltage_table is empty. It has been tested on Intel Hades Canyon (i7-8809G). Bug: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzilla.kernel.org%2Fshow_bug.cgi%3Fid%3D208489data=02%7C01%7Cevan.quan%40amd.com%7Cff6bf841473b46539e1708d82a20723d%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637305666456662890sdata=%2FMXKE9MMkUF2JPR3JiCTNdgAyyRnQXkxpZfS9eTPrW8%3Dreserved=0 Fixes: ac7822b0026f ("drm/amd/powerplay: add smumgr support for VEGAM (v2)") Signed-off-by: Qiu Wenbo --- drivers/gpu/drm/amd/powerplay/smumgr/vegam_smumgr.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/vegam_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/vegam_smumgr.c index 3da71a088b92..0ecc18b55ffb 100644 --- a/drivers/gpu/drm/amd/powerplay/smumgr/vegam_smumgr.c +++ b/drivers/gpu/drm/amd/powerplay/smumgr/vegam_smumgr.c @@ -644,9 +644,6 @@ static int vegam_get_dependency_volt_by_clk(struct pp_hwmgr *hwmgr, /* sclk is bigger than max sclk in the dependence table */ *voltage |= (dep_table->entries[i - 1].vddc * VOLTAGE_SCALE) << VDDC_SHIFT; -vddci = phm_find_closest_vddci(&(data->vddci_voltage_table), -(dep_table->entries[i - 1].vddc - -(uint16_t)VDDC_VDDCI_DELTA)); if (SMU7_VOLTAGE_CONTROL_NONE == data->vddci_control) *voltage |= (data->vbios_boot_state.vddci_bootup_value * @@ -654,8 +651,13 @@ static int vegam_get_dependency_volt_by_clk(struct pp_hwmgr *hwmgr, else if (dep_table->entries[i - 1].vddci) *voltage |= (dep_table->entries[i - 1].vddci * VOLTAGE_SCALE) << VDDC_SHIFT; -else +else { +vddci = phm_find_closest_vddci(&(data->vddci_voltage_table), +(dep_table->entries[i - 1].vddc - +(uint16_t)VDDC_VDDCI_DELTA)); + *voltage |= (vddci * VOLTAGE_SCALE) << VDDCI_SHIFT; +} if (SMU7_VOLTAGE_CONTROL_NONE == data->mvdd_control) *mvdd = data->vbios_boot_state.mvdd_bootup_value * VOLTAGE_SCALE; -- 2.27.0
RE: [PATCH] drm/radeon: Fix reference count leaks caused by pm_runtime_get_sync
[AMD Official Use Only - Internal Distribution Only] Acked-by: Evan Quan -Original Message- From: amd-gfx On Behalf Of Aditya Pakki Sent: Sunday, June 14, 2020 10:21 AM To: pakki...@umn.edu Cc: wu000...@umn.edu; David Airlie ; k...@umn.edu; linux-kernel@vger.kernel.org; amd-...@lists.freedesktop.org; dri-de...@lists.freedesktop.org; Daniel Vetter ; Deucher, Alexander ; Koenig, Christian Subject: [PATCH] drm/radeon: Fix reference count leaks caused by pm_runtime_get_sync On calling pm_runtime_get_sync() the reference count of the device is incremented. In case of failure, decrement the reference count before returning the error. Signed-off-by: Aditya Pakki --- drivers/gpu/drm/radeon/radeon_display.c | 4 +++- drivers/gpu/drm/radeon/radeon_drv.c | 4 +++- drivers/gpu/drm/radeon/radeon_kms.c | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c index 35db79a168bf..df1a7eb73651 100644 --- a/drivers/gpu/drm/radeon/radeon_display.c +++ b/drivers/gpu/drm/radeon/radeon_display.c @@ -635,8 +635,10 @@ radeon_crtc_set_config(struct drm_mode_set *set, dev = set->crtc->dev; ret = pm_runtime_get_sync(dev->dev); -if (ret < 0) +if (ret < 0) { +pm_runtime_put_autosuspend(dev->dev); return ret; +} ret = drm_crtc_helper_set_config(set, ctx); diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index bbb0883e8ce6..62b5069122cc 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -549,8 +549,10 @@ long radeon_drm_ioctl(struct file *filp, long ret; dev = file_priv->minor->dev; ret = pm_runtime_get_sync(dev->dev); -if (ret < 0) +if (ret < 0) { +pm_runtime_put_autosuspend(dev->dev); return ret; +} ret = drm_ioctl(filp, cmd, arg); diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c index c5d1dc9618a4..99ee60f8b604 100644 --- a/drivers/gpu/drm/radeon/radeon_kms.c +++ b/drivers/gpu/drm/radeon/radeon_kms.c @@ -638,8 +638,10 @@ int radeon_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv) file_priv->driver_priv = NULL; r = pm_runtime_get_sync(dev->dev); -if (r < 0) +if (r < 0) { +pm_runtime_put_autosuspend(dev->dev); return r; +} /* new gpu have virtual address space support */ if (rdev->family >= CHIP_CAYMAN) { -- 2.25.1 ___ amd-gfx mailing list amd-...@lists.freedesktop.org https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfxdata=02%7C01%7Cevan.quan%40amd.com%7Cc86101e02ef24c52b36408d810fdcc14%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637278029582429567sdata=qtKTCV33q8l2GTxMUX0nlJ4fV32dXaLH7y6hymksQEo%3Dreserved=0