diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/4044-drm-amdgpu-use-pp_feature-member-to-store-the-mask.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/4044-drm-amdgpu-use-pp_feature-member-to-store-the-mask.patch | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/4044-drm-amdgpu-use-pp_feature-member-to-store-the-mask.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/4044-drm-amdgpu-use-pp_feature-member-to-store-the-mask.patch new file mode 100644 index 00000000..874dcaaa --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/4044-drm-amdgpu-use-pp_feature-member-to-store-the-mask.patch @@ -0,0 +1,87 @@ +From f305b285f7db0af72957b003bb5a5d7fa260e5d8 Mon Sep 17 00:00:00 2001 +From: Huang Rui <ray.huang@amd.com> +Date: Tue, 27 Feb 2018 21:53:00 +0800 +Subject: [PATCH 4044/4131] drm/amdgpu: use pp_feature member to store the mask +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Huang Rui <ray.huang@amd.com> +Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> +Reviewed-by: Alex Deucher <alexander.deucher@amd.com> +Acked-by: Christian König <christian.koenig@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 + + drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 ++ + drivers/gpu/drm/amd/amdgpu/ci_dpm.c | 2 +- + drivers/gpu/drm/amd/amdgpu/kv_dpm.c | 2 +- + drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 2 +- + 5 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h +index cdbb6f6..45d72b3 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h +@@ -1482,6 +1482,7 @@ enum amd_hw_ip_block_type { + struct amd_powerplay { + void *pp_handle; + const struct amd_pm_funcs *pp_funcs; ++ uint32_t pp_feature; + }; + + #define AMDGPU_RESET_MAGIC_NUM 64 +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +index ce8c5ee..6f0f072 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +@@ -1551,6 +1551,8 @@ static int amdgpu_device_ip_early_init(struct amdgpu_device *adev) + return -EAGAIN; + } + ++ adev->powerplay.pp_feature = amdgpu_pp_feature_mask; ++ + for (i = 0; i < adev->num_ip_blocks; i++) { + if ((amdgpu_ip_block_mask & (1 << i)) == 0) { + DRM_ERROR("disabled ip block: %d <%s>\n", +diff --git a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c +index f48168f..a266dcf 100644 +--- a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c ++++ b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c +@@ -5903,7 +5903,7 @@ static int ci_dpm_init(struct amdgpu_device *adev) + pi->pcie_dpm_key_disabled = 0; + pi->thermal_sclk_dpm_enabled = 0; + +- if (amdgpu_pp_feature_mask & PP_SCLK_DEEP_SLEEP_MASK) ++ if (adev->powerplay.pp_feature & PP_SCLK_DEEP_SLEEP_MASK) + pi->caps_sclk_ds = true; + else + pi->caps_sclk_ds = false; +diff --git a/drivers/gpu/drm/amd/amdgpu/kv_dpm.c b/drivers/gpu/drm/amd/amdgpu/kv_dpm.c +index ef668a3..17f7f07 100644 +--- a/drivers/gpu/drm/amd/amdgpu/kv_dpm.c ++++ b/drivers/gpu/drm/amd/amdgpu/kv_dpm.c +@@ -2817,7 +2817,7 @@ static int kv_dpm_init(struct amdgpu_device *adev) + pi->caps_tcp_ramping = true; + } + +- if (amdgpu_pp_feature_mask & PP_SCLK_DEEP_SLEEP_MASK) ++ if (adev->powerplay.pp_feature & PP_SCLK_DEEP_SLEEP_MASK) + pi->caps_sclk_ds = true; + else + pi->caps_sclk_ds = false; +diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c +index 2588d02..401b17a 100644 +--- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c ++++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c +@@ -53,7 +53,7 @@ static int amd_powerplay_create(struct amdgpu_device *adev) + mutex_init(&hwmgr->smu_lock); + hwmgr->chip_family = adev->family; + hwmgr->chip_id = adev->asic_type; +- hwmgr->feature_mask = amdgpu_pp_feature_mask; ++ hwmgr->feature_mask = adev->powerplay.pp_feature; + hwmgr->display_config = &adev->pm.pm_display_cfg; + adev->powerplay.pp_handle = hwmgr; + adev->powerplay.pp_funcs = &pp_dpm_funcs; +-- +2.7.4 + |