Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amd/pm: Update pm attributes

Update pm attributes show/hide for gc_v12_1_0

v2: Use multi-aid check (Lijo)

Signed-off-by: Asad Kamal <asad.kamal@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Asad Kamal and committed by
Alex Deucher
07619025 7e490a22

+10 -26
+10 -26
drivers/gpu/drm/amd/pm/amdgpu_pm.c
··· 1910 1910 static int pp_od_clk_voltage_attr_update(struct amdgpu_device *adev, struct amdgpu_device_attr *attr, 1911 1911 uint32_t mask, enum amdgpu_device_attr_states *states) 1912 1912 { 1913 - uint32_t gc_ver = amdgpu_ip_version(adev, GC_HWIP, 0); 1914 - 1915 1913 *states = ATTR_STATE_SUPPORTED; 1916 1914 1917 1915 if (!amdgpu_dpm_is_overdrive_supported(adev)) { ··· 1917 1919 return 0; 1918 1920 } 1919 1921 1920 - /* Enable pp_od_clk_voltage node for gc 9.4.3, 9.4.4, 9.5.0 SRIOV/BM support */ 1921 - if (gc_ver == IP_VERSION(9, 4, 3) || 1922 - gc_ver == IP_VERSION(9, 4, 4) || 1923 - gc_ver == IP_VERSION(9, 5, 0)) { 1922 + /* Enable pp_od_clk_voltage node for gc 9.4.3, 9.4.4, 9.5.0, 12.1.0 SRIOV/BM support */ 1923 + if (amdgpu_is_multi_aid(adev)) { 1924 1924 if (amdgpu_sriov_multi_vf_mode(adev)) 1925 1925 *states = ATTR_STATE_UNSUPPORTED; 1926 1926 return 0; ··· 1996 2000 gc_ver == IP_VERSION(11, 5, 0) || 1997 2001 gc_ver == IP_VERSION(11, 0, 2) || 1998 2002 gc_ver == IP_VERSION(11, 0, 3) || 1999 - gc_ver == IP_VERSION(9, 4, 3) || 2000 - gc_ver == IP_VERSION(9, 4, 4) || 2001 - gc_ver == IP_VERSION(9, 5, 0))) 2003 + amdgpu_is_multi_aid(adev))) 2002 2004 *states = ATTR_STATE_UNSUPPORTED; 2003 2005 } else if (DEVICE_ATTR_IS(pp_dpm_vclk1)) { 2004 2006 if (!((gc_ver == IP_VERSION(10, 3, 1) || ··· 2017 2023 gc_ver == IP_VERSION(11, 5, 0) || 2018 2024 gc_ver == IP_VERSION(11, 0, 2) || 2019 2025 gc_ver == IP_VERSION(11, 0, 3) || 2020 - gc_ver == IP_VERSION(9, 4, 3) || 2021 - gc_ver == IP_VERSION(9, 4, 4) || 2022 - gc_ver == IP_VERSION(9, 5, 0))) 2026 + amdgpu_is_multi_aid(adev))) 2023 2027 *states = ATTR_STATE_UNSUPPORTED; 2024 2028 } else if (DEVICE_ATTR_IS(pp_dpm_dclk1)) { 2025 2029 if (!((gc_ver == IP_VERSION(10, 3, 1) || ··· 2027 2035 *states = ATTR_STATE_UNSUPPORTED; 2028 2036 } else if (DEVICE_ATTR_IS(pp_dpm_pcie)) { 2029 2037 if (gc_ver == IP_VERSION(9, 4, 2) || 2030 - gc_ver == IP_VERSION(9, 4, 3) || 2031 - gc_ver == IP_VERSION(9, 4, 4) || 2032 - gc_ver == IP_VERSION(9, 5, 0)) 2038 + amdgpu_is_multi_aid(adev)) 2033 2039 *states = ATTR_STATE_UNSUPPORTED; 2034 2040 } 2035 2041 ··· 2641 2651 case IP_VERSION(11, 0, 3): 2642 2652 case IP_VERSION(12, 0, 0): 2643 2653 case IP_VERSION(12, 0, 1): 2654 + case IP_VERSION(12, 1, 0): 2644 2655 *states = ATTR_STATE_SUPPORTED; 2645 2656 break; 2646 2657 default: ··· 3723 3732 3724 3733 /* Skip crit temp on APU */ 3725 3734 if ((((adev->flags & AMD_IS_APU) && (adev->family >= AMDGPU_FAMILY_CZ)) || 3726 - (gc_ver == IP_VERSION(9, 4, 3) || gc_ver == IP_VERSION(9, 4, 4) || 3727 - gc_ver == IP_VERSION(9, 5, 0))) && 3735 + amdgpu_is_multi_aid(adev)) && 3728 3736 (attr == &sensor_dev_attr_temp1_crit.dev_attr.attr || 3729 3737 attr == &sensor_dev_attr_temp1_crit_hyst.dev_attr.attr)) 3730 3738 return 0; ··· 3805 3815 3806 3816 if ((adev->family == AMDGPU_FAMILY_SI || /* not implemented yet */ 3807 3817 adev->family == AMDGPU_FAMILY_KV || /* not implemented yet */ 3808 - (gc_ver == IP_VERSION(9, 4, 3) || 3809 - gc_ver == IP_VERSION(9, 4, 4) || 3810 - gc_ver == IP_VERSION(9, 5, 0))) && 3818 + amdgpu_is_multi_aid(adev)) && 3811 3819 (attr == &sensor_dev_attr_in0_input.dev_attr.attr || 3812 3820 attr == &sensor_dev_attr_in0_label.dev_attr.attr)) 3813 3821 return 0; 3814 3822 3815 3823 /* only APUs other than gc 9,4,3 have vddnb */ 3816 3824 if ((!(adev->flags & AMD_IS_APU) || 3817 - (gc_ver == IP_VERSION(9, 4, 3) || 3818 - gc_ver == IP_VERSION(9, 4, 4) || 3819 - gc_ver == IP_VERSION(9, 5, 0))) && 3825 + amdgpu_is_multi_aid(adev)) && 3820 3826 (attr == &sensor_dev_attr_in1_input.dev_attr.attr || 3821 3827 attr == &sensor_dev_attr_in1_label.dev_attr.attr)) 3822 3828 return 0; ··· 3841 3855 return 0; 3842 3856 3843 3857 /* hotspot temperature for gc 9,4,3*/ 3844 - if (gc_ver == IP_VERSION(9, 4, 3) || 3845 - gc_ver == IP_VERSION(9, 4, 4) || 3846 - gc_ver == IP_VERSION(9, 5, 0)) { 3858 + if (amdgpu_is_multi_aid(adev)) { 3847 3859 if (attr == &sensor_dev_attr_temp1_input.dev_attr.attr || 3848 3860 attr == &sensor_dev_attr_temp1_emergency.dev_attr.attr || 3849 3861 attr == &sensor_dev_attr_temp1_label.dev_attr.attr)