]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/vlv: modeset_global_* for VLV v7
authorJesse Barnes <jbarnes@virtuousgeek.org>
Mon, 4 Nov 2013 21:48:12 +0000 (13:48 -0800)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 5 Nov 2013 18:28:18 +0000 (19:28 +0100)
commitf9a26710e6d30f5712b0b7b819942a9b26aa1b58
tree1fa4673e734c5e3f57288b97002de82a3ab9f39f
parentcc92c332f99748e3afdcbfd126574bd7febc10f2
drm/i915/vlv: modeset_global_* for VLV v7

On VLV/BYT, we can adjust the CDclk frequency up or down based on the
max pixel clock we need to drive.  Lowering it can save power, while
raising it is necessary to support high resolution.

Add a new callback in modeset_affected_pipes and a
modeset_global_resources function to perform this adjustment as
necessary.

v2: use punit interface for 320 and 266 MHz CDclk adjustments (Ville)
v3: reset GMBUS dividers too, since we changed CDclk (Ville)
v4: jump to highest voltage when going to 400MHz CDclk (Jesse)
v5: drop duplicate define (Ville)
    use shifts by 1 for fixed point (Ville)
    drop new callback (Daniel)
v6: fixup adjusted_mode.clock -> adjusted_mode.crtc_clock again (Ville)
    document Bunit reg access better (Ville)
v7: pass modeset_pipes and pipe_config to global_pipes so we get the right
    clock data (Ville)

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_i2c.c