aboutsummaryrefslogtreecommitdiffstats
path: root/meta-steppeeagle/recipes-kernel/linux/linux-yocto/0048-yocto-amd-drm-radeon-add-Mullins-dpm-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-steppeeagle/recipes-kernel/linux/linux-yocto/0048-yocto-amd-drm-radeon-add-Mullins-dpm-support.patch')
-rw-r--r--meta-steppeeagle/recipes-kernel/linux/linux-yocto/0048-yocto-amd-drm-radeon-add-Mullins-dpm-support.patch111
1 files changed, 111 insertions, 0 deletions
diff --git a/meta-steppeeagle/recipes-kernel/linux/linux-yocto/0048-yocto-amd-drm-radeon-add-Mullins-dpm-support.patch b/meta-steppeeagle/recipes-kernel/linux/linux-yocto/0048-yocto-amd-drm-radeon-add-Mullins-dpm-support.patch
new file mode 100644
index 00000000..001df0a7
--- /dev/null
+++ b/meta-steppeeagle/recipes-kernel/linux/linux-yocto/0048-yocto-amd-drm-radeon-add-Mullins-dpm-support.patch
@@ -0,0 +1,111 @@
+drm/radeon: add Mullins dpm support.
+
+Generic dpm support similar to Kabini. Mullins specific features
+will be worked on later.
+
+Signed-off-by: Samuel Li <samuel.li@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+diff -Naur a/drivers/gpu/drm/radeon/kv_dpm.c b/drivers/gpu/drm/radeon/kv_dpm.c
+--- a/drivers/gpu/drm/radeon/kv_dpm.c 2014-04-26 01:53:33.433066497 +0530
++++ b/drivers/gpu/drm/radeon/kv_dpm.c 2014-04-26 02:25:06.745138697 +0530
+@@ -639,7 +639,7 @@
+
+ static int kv_unforce_levels(struct radeon_device *rdev)
+ {
+- if (rdev->family == CHIP_KABINI)
++ if (rdev->family == CHIP_KABINI || rdev->family == CHIP_MULLINS)
+ return kv_notify_message_to_smu(rdev, PPSMC_MSG_NoForcedLevel);
+ else
+ return kv_set_enabled_levels(rdev);
+@@ -1625,7 +1625,7 @@
+ if (pi->acp_power_gated == gate)
+ return;
+
+- if (rdev->family == CHIP_KABINI)
++ if (rdev->family == CHIP_KABINI || rdev->family == CHIP_MULLINS)
+ return;
+
+ pi->acp_power_gated = gate;
+@@ -1799,7 +1799,7 @@
+ }
+ }
+
+- if (rdev->family == CHIP_KABINI) {
++ if (rdev->family == CHIP_KABINI || rdev->family == CHIP_MULLINS) {
+ if (pi->enable_dpm) {
+ kv_set_valid_clock_range(rdev, new_ps);
+ kv_update_dfs_bypass_settings(rdev, new_ps);
+@@ -1880,7 +1880,7 @@
+ {
+ struct kv_power_info *pi = kv_get_pi(rdev);
+
+- if (rdev->family == CHIP_KABINI) {
++ if (rdev->family == CHIP_KABINI || rdev->family == CHIP_MULLINS) {
+ kv_force_lowest_valid(rdev);
+ kv_init_graphics_levels(rdev);
+ kv_program_bootup_state(rdev);
+@@ -1959,7 +1959,7 @@
+ break;
+ }
+
+- if (rdev->family == CHIP_KABINI)
++ if (rdev->family == CHIP_KABINI || rdev->family == CHIP_MULLINS)
+ return kv_send_msg_to_smc_with_parameter(rdev, PPSMC_MSG_DPM_ForceState, i);
+ else
+ return kv_set_enabled_level(rdev, i);
+@@ -1979,7 +1979,7 @@
+ break;
+ }
+
+- if (rdev->family == CHIP_KABINI)
++ if (rdev->family == CHIP_KABINI || rdev->family == CHIP_MULLINS)
+ return kv_send_msg_to_smc_with_parameter(rdev, PPSMC_MSG_DPM_ForceState, i);
+ else
+ return kv_set_enabled_level(rdev, i);
+@@ -2136,7 +2136,7 @@
+ else
+ pi->battery_state = false;
+
+- if (rdev->family == CHIP_KABINI) {
++ if (rdev->family == CHIP_KABINI || rdev->family == CHIP_MULLINS) {
+ ps->dpm0_pg_nb_ps_lo = 0x1;
+ ps->dpm0_pg_nb_ps_hi = 0x0;
+ ps->dpmx_nb_ps_lo = 0x1;
+@@ -2197,7 +2197,7 @@
+ if (pi->lowest_valid > pi->highest_valid)
+ return -EINVAL;
+
+- if (rdev->family == CHIP_KABINI) {
++ if (rdev->family == CHIP_KABINI || rdev->family == CHIP_MULLINS) {
+ for (i = pi->lowest_valid; i <= pi->highest_valid; i++) {
+ pi->graphics_level[i].GnbSlow = 1;
+ pi->graphics_level[i].ForceNbPs1 = 0;
+@@ -2342,7 +2342,7 @@
+ struct kv_power_info *pi = kv_get_pi(rdev);
+ u32 nbdpmconfig1;
+
+- if (rdev->family == CHIP_KABINI)
++ if (rdev->family == CHIP_KABINI || rdev->family == CHIP_MULLINS)
+ return;
+
+ if (pi->sys_info.nb_dpm_enable) {
+@@ -2649,7 +2649,7 @@
+
+ pi->sram_end = SMC_RAM_END;
+
+- if (rdev->family == CHIP_KABINI)
++ if (rdev->family == CHIP_KABINI || rdev->family == CHIP_MULLINS)
+ pi->high_voltage_t = 4001;
+
+ pi->enable_nb_dpm = true;
+diff -Naur a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
+--- a/drivers/gpu/drm/radeon/radeon_pm.c 2014-04-26 01:51:53.857071705 +0530
++++ b/drivers/gpu/drm/radeon/radeon_pm.c 2014-04-26 02:25:52.577153751 +0530
+@@ -1298,6 +1298,7 @@
+ case CHIP_BONAIRE:
+ case CHIP_KABINI:
+ case CHIP_KAVERI:
++ case CHIP_MULLINS:
+ /* DPM requires the RLC, RV770+ dGPU requires SMC */
+ if (!rdev->rlc_fw)
+ rdev->pm.pm_method = PM_METHOD_PROFILE;