drm/i915: Add infrastructure for choosing DPLLs before disabling crtcs
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Wed, 29 Oct 2014 09:32:33 +0000 (11:32 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 7 Nov 2014 17:41:44 +0000 (18:41 +0100)
commit8bd31e67c9f737216cb25bcc008fed172b8a4375
treec080d59fc5e28c47874fd0ac28f147e35634ea6b
parent3e369b76ceb625dffabef6f1c52e32fc0998843e
drm/i915: Add infrastructure for choosing DPLLs before disabling crtcs

It is possible for a mode set to fail if there aren't shared DPLLS that
match the new configuration requirement or other errors in clock
computation. If that step is executed after disabling crtcs, in the
failure case the hardware configuration is changed and needs to be
restored. Doing those things early will allow the mode set to fail
before actually touching the hardware.

Follow up patches will convert different platforms to use the new
infrastructure.

v2: Keep pll->new_config valid only during mode set (Ville)
    Use kmemdup() in i915_shared_dpll_start_config() (Ville)
    Restore old pll config if something fails before commit (Ville)
    Don't set compute_clock hooks since dev_priv is kzalloc()'d (Ville)

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/intel_display.c