linux/drivers/gpu/drm/i915
Jesse Barnes ee7b9f93fd drm/i915: manage PCH PLLs separately from pipes
PCH PLLs aren't required for outputs on the CPU, so we shouldn't just
treat them as part of the pipe.

So split the code out and manage PCH PLLs separately, allocating them
when needed or trying to re-use existing PCH PLL setups when the timings
match.

v2: add num_pch_pll field to dev_priv (Daniel)
    don't NULL the pch_pll pointer in disable or DPMS will fail (Jesse)
    put register offsets in pll struct (Chris)

v3: Decouple enable/disable of PLLs from get/put.
v4: Track temporary PLL disabling during modeset
v5: Tidy PLL initialisation by only checking for num_pch_pll == 0 (Eugeni)
v6: Avoid mishandling allocation failure by embedding the small array of
    PLLs into the device struct

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44309
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> (up to v2)
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (v3+)
Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Tested-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-05-03 11:18:08 +02:00
..
dvo_ch7xxx.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ch7017.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ivch.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_sil164.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_tfp410.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo.h drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
i915_debugfs.c drm/i915: [sparse] __iomem fixes for debugfs 2012-05-03 11:18:00 +02:00
i915_dma.c drm/i915: haswell has 3 pipes as well 2012-04-17 12:13:08 +02:00
i915_drv.c drm/i915: manage PCH PLLs separately from pipes 2012-05-03 11:18:08 +02:00
i915_drv.h drm/i915: manage PCH PLLs separately from pipes 2012-05-03 11:18:08 +02:00
i915_gem_debug.c drm/i915: drop KM_USER0 argument to k(un)map_atomic 2011-10-20 15:26:37 -07:00
i915_gem_evict.c drm/i915: No need to search again after retiring requests 2012-02-27 17:37:13 +01:00
i915_gem_execbuffer.c drm/i915: Remove the pipelined parameter from get_fence() 2012-04-18 13:15:43 +02:00
i915_gem_gtt.c drm/i915: simplify ppgtt setup 2012-04-12 21:14:10 +02:00
i915_gem_tiling.c drm/i915: Only the zap the VMA after updating the tiling parameters 2012-05-03 11:18:07 +02:00
i915_gem.c drm/i915: Clarify the semantics of tiling_changed 2012-05-03 11:18:06 +02:00
i915_ioc32.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
i915_irq.c drm/i915: i8xx interrupt handler 2012-05-03 11:18:07 +02:00
i915_reg.h drm/i915: manage PCH PLLs separately from pipes 2012-05-03 11:18:08 +02:00
i915_suspend.c drm/i915: manage PCH PLLs separately from pipes 2012-05-03 11:18:08 +02:00
i915_sysfs.c drm/i915: rc6 residency (fix the fix) 2012-04-23 09:30:14 +02:00
i915_trace_points.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
i915_trace.h Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_acpi.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
intel_bios.c Merge branch 'drm-intel-next' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next 2012-04-12 10:27:01 +01:00
intel_bios.h drm/i915: VBT Parser cleanup for eDP block 2012-01-13 08:37:44 -08:00
intel_crt.c drm/i915: IBX+ doesn't have separate vsync/hsync controls on the VGA DAC 2012-04-18 10:34:49 +02:00
intel_display.c drm/i915: manage PCH PLLs separately from pipes 2012-05-03 11:18:08 +02:00
intel_dp.c drm/i915: manage PCH PLLs separately from pipes 2012-05-03 11:18:08 +02:00
intel_drv.h drm/i915: manage PCH PLLs separately from pipes 2012-05-03 11:18:08 +02:00
intel_dvo.c drm/i915/intel_i2c: refactor using intel_gmbus_get_adapter 2012-03-28 14:40:44 +02:00
intel_fb.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
intel_hdmi.c drm/i915: Enable HDMI on ValleyView 2012-03-29 00:00:09 +02:00
intel_i2c.c drm/i915/intel_i2c: reduce verbosity of some messages 2012-04-13 15:03:00 +02:00
intel_lvds.c Merge branch 'drm-intel-next' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next 2012-04-12 10:27:01 +01:00
intel_modes.c Merge branch 'drm-intel-next' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next 2012-04-12 10:27:01 +01:00
intel_opregion.c drm/i915: [sparse] __iomem fixes for opregion 2012-05-03 11:18:00 +02:00
intel_overlay.c drm/i915: [sparse] __iomem fixes for overlay 2012-05-03 11:18:00 +02:00
intel_panel.c i915: Add and use pr_fmt and pr_<level> 2012-03-18 21:50:21 +01:00
intel_pm.c drm/i915: re-add static qualifier to get_cxsr_latency 2012-05-03 11:18:01 +02:00
intel_ringbuffer.c drm/i915: i8xx interrupt handler 2012-05-03 11:18:07 +02:00
intel_ringbuffer.h drm/i915: rip out ring->irq_mask 2012-04-13 12:40:57 +02:00
intel_sdvo_regs.h misc latin1 to utf8 conversions 2012-01-02 13:04:55 +01:00
intel_sdvo.c drm/i915: [sparse] don't use variable size arrays 2012-04-18 10:34:50 +02:00
intel_sprite.c drm/i915/sprite: Avoid incurring extra vblank stall when updating plane on IVB 2012-05-03 11:17:59 +02:00
intel_tv.c drm/i915: fixup tv load-detect on enabled but not active crtc 2012-05-03 11:18:02 +02:00
Makefile drm/i915: move fbc-related functionality into intel_pm module 2012-04-18 15:22:53 +02:00