linux/drivers/gpu/drm/i915
Daniel Vetter 5ab432ef49 drm/i915/hdmi: convert to encoder->disable/enable
I've picked hdmi as the first encoder to convert because it's rather
simple:
- no cloning possible
- no differences between prepare/commit and dpms off/on switching.

A few changes are required to do so:
- Split up the dpms code into an enable/disable function and wire it
  up with the intel encoder.
- Noop out the existing encoder prepare/commit functions used by the
  crtc helper - our crtc enable/disable code now calls back into the
  encoder enable/disable code at the right spot.
- Create new helper functions to handle dpms changes.
- Add intel_encoder->connectors_active to better track dpms state. Atm
  this is unused, but it will be useful to correctly disable the
  entire display pipe for cloned configurations. Also note that for
  now this is only useful in the dpms code - thanks to the crtc
  helper's dpms confusion across a modeset operation we can't (yet)
  rely on this having a sensible value in all circumstances.
- Rip out the encoder helper dpms callback, if this is still getting
  called somewhere we have a bug. The slight issue with that is that
  the crtc helper abuses dpms off to disable unused functions. Hence
  we also need to implement a default encoder disable function to do
  just that with the new encoder->disable callback.
- Note that we drop the cpt modeset verification in the commit
  callback, too. The right place to do this would be in the crtc's
  enable function, _after_ all the encoders are set up. But because
  not all encoders are converted yet, we can't do that. Hence disable
  this check temporarily as a minor concession to bisectability.

v2: Squash the dpms mode to only the supported values -
connector->dpms is for internal tracking only, we can hence avoid
needless state-changes a bit whithout causing harm.

v3: Apply bikeshed to disable|enable_ddi, suggested by Paulo Zanoni.

Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-09-06 07:53:37 +02:00
..
dvo_ch7xxx.c drm/i915: simplify dvo dpms interface 2012-08-17 10:10:02 +02:00
dvo_ch7017.c drm/i915: simplify dvo dpms interface 2012-08-17 10:10:02 +02:00
dvo_ivch.c drm/i915: simplify dvo dpms interface 2012-08-17 10:10:02 +02:00
dvo_ns2501.c drm/i915: simplify dvo dpms interface 2012-08-17 10:10:02 +02:00
dvo_sil164.c drm/i915: simplify dvo dpms interface 2012-08-17 10:10:02 +02:00
dvo_tfp410.c drm/i915: simplify dvo dpms interface 2012-08-17 10:10:02 +02:00
dvo.h drm/i915: simplify dvo dpms interface 2012-08-17 10:10:02 +02:00
i915_debugfs.c drm/i915: don't grab dev->struct_mutex for userspace forcewak 2012-08-12 11:28:49 +02:00
i915_dma.c drm/i915: implement dma buf begin_cpu_access (v2) 2012-08-17 10:10:06 +02:00
i915_drv.c Linux 3.6-rc2 2012-08-17 09:01:08 +02:00
i915_drv.h drm/i915: add crtc->enable/disable vfuncs insted of dpms 2012-09-06 07:52:00 +02:00
i915_gem_context.c drm/i915: remove unused variable 2012-08-05 22:39:53 +02:00
i915_gem_debug.c drm/i915: stop using dev->agp->base 2012-06-12 22:18:06 +02:00
i915_gem_dmabuf.c drm/i915: implement dma buf begin_cpu_access (v2) 2012-08-17 10:10:06 +02:00
i915_gem_evict.c drm/i915: Segregate memory domains in the GTT using coloring 2012-07-26 12:56:25 +02:00
i915_gem_execbuffer.c Linux 3.6-rc2 2012-08-17 09:01:08 +02:00
i915_gem_gtt.c Linux 3.6-rc2 2012-08-17 09:01:08 +02:00
i915_gem_stolen.c drm/i915: Split the stolen handling for GEM out of i915_dma.c 2012-05-03 11:18:11 +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: Lazily apply the SNB+ seqno w/a 2012-08-10 11:11:32 +02:00
i915_ioc32.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
i915_irq.c Linux 3.6-rc2 2012-08-17 09:01:08 +02:00
i915_reg.h drm/i915: ironlake_write_eld code cleanup 2012-08-17 10:10:04 +02:00
i915_suspend.c Linux 3.5-rc7 2012-07-20 00:53:28 -04:00
i915_sysfs.c Linux 3.6-rc2 2012-08-17 09:01:08 +02:00
i915_trace_points.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
i915_trace.h drm/i915: improve i915_wait_request_begin trace 2012-05-25 09:55:15 +02:00
intel_acpi.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
intel_bios.c drm/i915/bios: cleanup return type of intel_parse_bios() 2012-06-27 10:17:51 +01:00
intel_bios.h drm/i915/bios: cleanup return type of intel_parse_bios() 2012-06-27 10:17:51 +01:00
intel_crt.c drm/i915: Allow VGA on CRTC 2 2012-08-17 10:10:06 +02:00
intel_ddi.c drm/i915/hdmi: convert to encoder->disable/enable 2012-09-06 07:53:37 +02:00
intel_display.c drm/i915/hdmi: convert to encoder->disable/enable 2012-09-06 07:53:37 +02:00
intel_dp.c Linux 3.6-rc2 2012-08-17 09:01:08 +02:00
intel_drv.h drm/i915/hdmi: convert to encoder->disable/enable 2012-09-06 07:53:37 +02:00
intel_dvo.c drm/i915: simplify dvo dpms interface 2012-08-17 10:10:02 +02:00
intel_fb.c drm/i915: Zero initialize mode_cmd 2012-07-05 13:27:58 +02:00
intel_hdmi.c drm/i915/hdmi: convert to encoder->disable/enable 2012-09-06 07:53:37 +02:00
intel_i2c.c drm/i915: ensure i2c adapter is all set before adding it 2012-08-13 19:04:24 +02:00
intel_lvds.c drm/i915: simplify possible_clones computation 2012-07-25 18:23:46 +02:00
intel_modes.c drm/i915: kill intel_ddc_probe 2012-07-20 12:21:39 +02:00
intel_opregion.c drm/i915: [sparse] __iomem fixes for opregion 2012-05-03 11:18:00 +02:00
intel_overlay.c drm/i915: rip out the overlay pipe A workaround 2012-08-17 10:10:01 +02:00
intel_panel.c drm/i915: Fix blank panel at reopening lid 2012-08-11 21:15:16 +02:00
intel_pm.c Linux 3.6-rc2 2012-08-17 09:01:08 +02:00
intel_ringbuffer.c Linux 3.6-rc2 2012-08-17 09:01:08 +02:00
intel_ringbuffer.h drm/i915: Lazily apply the SNB+ seqno w/a 2012-08-10 11:11:32 +02:00
intel_sdvo_regs.h drm/i915: properly handle interlaced bit for sdvo dtd conversion 2012-05-24 17:53:52 +02:00
intel_sdvo.c Linux 3.6-rc2 2012-08-17 09:01:08 +02:00
intel_sprite.c drm/i915: mask tiled bit when updating ILK sprites 2012-07-20 12:21:40 +02:00
intel_tv.c drm/i915: drop intel_encoder argument to load_detect_pipe functions 2012-08-17 10:10:02 +02:00
Makefile drm/i915: Support for ns2501-DVO 2012-07-25 18:23:48 +02:00