diff options
author | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2015-12-03 14:31:06 +0100 |
---|---|---|
committer | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2015-12-22 13:44:44 +0100 |
commit | 1a617b77658e0ab1cb58a9412c5a02f862bd4fcd (patch) | |
tree | b53883f2cfd47faa07d30d812edaf16625316ca1 /drivers/gpu/drm/i915/intel_drv.h | |
parent | 565602d7501a3e83580289d7d6da9b15838cfbe3 (diff) | |
download | op-kernel-dev-1a617b77658e0ab1cb58a9412c5a02f862bd4fcd.zip op-kernel-dev-1a617b77658e0ab1cb58a9412c5a02f862bd4fcd.tar.gz |
drm/i915: Keep track of the cdclk as if all crtc's were active.
On skylake when calculating plane visibility with the crtc in
dpms off mode the real cdclk may be different from what it would be
if the crtc was active. This may result in a WARN_ON(cdclk < crtc_clock)
from skl_max_scale. The fix is to keep a atomic_cdclk that would be true
if all crtc's were active.
This is required to get the same calculations done correctly regardless
of dpms mode.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1447945645-32005-12-git-send-email-maarten.lankhorst@linux.intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/intel_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 9b051e9..0438b57 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -247,6 +247,12 @@ struct intel_atomic_state { unsigned int cdclk; + /* + * Calculated device cdclk, can be different from cdclk + * only when all crtc's are DPMS off. + */ + unsigned int dev_cdclk; + bool dpll_set, modeset; unsigned int active_crtcs; |