diff options
Diffstat (limited to 'meta-steppeeagle/recipes-kernel/linux/linux-yocto/0032-yocto-amd-drm-radeon-dpm-fill-in-some-initial-vce-infrastructu.patch')
-rw-r--r-- | meta-steppeeagle/recipes-kernel/linux/linux-yocto/0032-yocto-amd-drm-radeon-dpm-fill-in-some-initial-vce-infrastructu.patch | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/meta-steppeeagle/recipes-kernel/linux/linux-yocto/0032-yocto-amd-drm-radeon-dpm-fill-in-some-initial-vce-infrastructu.patch b/meta-steppeeagle/recipes-kernel/linux/linux-yocto/0032-yocto-amd-drm-radeon-dpm-fill-in-some-initial-vce-infrastructu.patch deleted file mode 100644 index 00f558dc..00000000 --- a/meta-steppeeagle/recipes-kernel/linux/linux-yocto/0032-yocto-amd-drm-radeon-dpm-fill-in-some-initial-vce-infrastructu.patch +++ /dev/null @@ -1,84 +0,0 @@ -From e539bcfbb6e46e51b7a463078e3bf3a7ae4c28d7 Mon Sep 17 00:00:00 2001 -From: Alex Deucher <alexander.deucher@amd.com> -Date: Tue, 20 Aug 2013 20:29:05 -0400 -Subject: [PATCH 32/44] drm/radeon/dpm: fill in some initial vce - infrastructure - -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/radeon/radeon.h | 12 ++++++++++++ - drivers/gpu/drm/radeon/radeon_pm.c | 7 +++++++ - 2 files changed, 19 insertions(+) - -diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h -index f0ad724..7846289 100644 ---- a/drivers/gpu/drm/radeon/radeon.h -+++ b/drivers/gpu/drm/radeon/radeon.h -@@ -1253,6 +1253,15 @@ enum radeon_dpm_event_src { - RADEON_DPM_EVENT_SRC_DIGIAL_OR_EXTERNAL = 4 - }; - -+enum radeon_vce_level { -+ RADEON_VCE_LEVEL_AC_ALL = 0, /* AC, All cases */ -+ RADEON_VCE_LEVEL_DC_EE = 1, /* DC, entropy encoding */ -+ RADEON_VCE_LEVEL_DC_LL_LOW = 2, /* DC, low latency queue, res <= 720 */ -+ RADEON_VCE_LEVEL_DC_LL_HIGH = 3, /* DC, low latency queue, 1080 >= res > 720 */ -+ RADEON_VCE_LEVEL_DC_GP_LOW = 4, /* DC, general purpose queue, res <= 720 */ -+ RADEON_VCE_LEVEL_DC_GP_HIGH = 5, /* DC, general purpose queue, 1080 >= res > 720 */ -+}; -+ - struct radeon_ps { - u32 caps; /* vbios flags */ - u32 class; /* vbios flags */ -@@ -1263,6 +1272,8 @@ struct radeon_ps { - /* VCE clocks */ - u32 evclk; - u32 ecclk; -+ bool vce_active; -+ enum radeon_vce_level vce_level; - /* asic priv */ - void *ps_priv; - }; -@@ -1474,6 +1485,7 @@ struct radeon_dpm { - /* special states active */ - bool thermal_active; - bool uvd_active; -+ bool vce_active; - /* thermal handling */ - struct radeon_dpm_thermal thermal; - /* forced levels */ -diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c -index 5febb25..366bf38 100644 ---- a/drivers/gpu/drm/radeon/radeon_pm.c -+++ b/drivers/gpu/drm/radeon/radeon_pm.c -@@ -845,6 +845,9 @@ static void radeon_dpm_change_power_state_locked(struct radeon_device *rdev) - - /* no need to reprogram if nothing changed unless we are on BTC+ */ - if (rdev->pm.dpm.current_ps == rdev->pm.dpm.requested_ps) { -+ /* vce just modifies an existing state so force a change */ -+ if (ps->vce_active != rdev->pm.dpm.vce_active) -+ goto force; - if ((rdev->family < CHIP_BARTS) || (rdev->flags & RADEON_IS_IGP)) { - /* for pre-BTC and APUs if the num crtcs changed but state is the same, - * all we need to do is update the display configuration. -@@ -881,6 +884,7 @@ static void radeon_dpm_change_power_state_locked(struct radeon_device *rdev) - } - } - -+force: - printk("switching from power state:\n"); - radeon_dpm_print_power_state(rdev, rdev->pm.dpm.current_ps); - printk("switching to power state:\n"); -@@ -890,6 +894,9 @@ static void radeon_dpm_change_power_state_locked(struct radeon_device *rdev) - down_write(&rdev->pm.mclk_lock); - mutex_lock(&rdev->ring_lock); - -+ /* update whether vce is active */ -+ ps->vce_active = rdev->pm.dpm.vce_active; -+ - ret = radeon_dpm_pre_set_power_state(rdev); - if (ret) - goto done; --- -1.7.9.5 - |