linux-sg2042/drivers/gpu/drm/i915
Daniel Vetter 6cf86a5e7a drm/i915: clear up the fdi/dp set_m_n confusion
There's a rather decent confusion going on around transcoder m_n
values. So let's clarify:
- All dp encoders need this, either on the pch transcoder if it's a
  pch port, or on the cpu transcoder/pipe if it's a cpu port.
- fdi links need to have the right m_n values for the fdi link set in
  the cpu transcoder.

To handle the pch vs transcoder stuff a bit better, extract transcoder
set_m_n helpers. To make them simpler, set intel_crtc->cpu_transcoder
als in ironlake_crtc_mode_set, so that gen5+ (where the cpu m_n
registers are all at the same offset) can use it.

Haswell modeset is decently confused about dp vs. edp vs. fdi. dp vs.
edp works exactly the same as dp (since there's no pch dp any more),
so use that as a check. And only set up the fdi m_n values if we
really have a pch encoder present (which means we have a VGA encoder).

On ilk+ we've called ironlake_set_m_n both for cpu_edp and for pch
encoders. Now that dp_set_m_n handles all dp links (thanks to the
pch encoder check), we can ditch the cpu_edp stuff from the
fdi_set_m_n function.

Since the dp_m_n values are not readily available, we need to
carefully coax the edp values out of the encoder. Hence we can't (yet)
kill this superflous complexity.

v2: Rebase on top of the ivb fdi B/C check patch - we need to properly
clear intel_crtc->fdi_lane, otherwise those checks will misfire.

v3: Rebased on top of a s/IS_HASWELL/HAS_DDI/ patch from Paulo Zanoni.

v4: Drop the addition of has_dp_encoder, it's in the wrong patch (Jesse).

Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-04-03 11:29:09 +02:00
..
Makefile drm/i915: extract ums suspend/resume into i915_ums.c 2013-01-31 11:50:03 +01:00
dvo.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
dvo_ch7xxx.c drm/i915/dvo-ch7xxx: fix get_hw_state 2012-10-12 10:59:11 +02:00
dvo_ch7017.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ivch.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ns2501.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_sil164.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_tfp410.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
i915_debugfs.c Linux 3.9-rc5 2013-04-03 11:28:48 +02:00
i915_dma.c drm/i915: sprite support for ValleyView v4 2013-04-02 20:28:53 +02:00
i915_drv.c Linux 3.9-rc5 2013-04-03 11:28:48 +02:00
i915_drv.h Linux 3.9-rc5 2013-04-03 11:28:48 +02:00
i915_gem.c lib/scatterlist: sg_page_iter: support sg lists w/o backing pages 2013-03-27 17:13:44 +01:00
i915_gem_context.c drm/i915: convert to idr_alloc() 2013-02-27 19:10:16 -08:00
i915_gem_debug.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_gem_dmabuf.c lib/scatterlist: sg_page_iter: support sg lists w/o backing pages 2013-03-27 17:13:44 +01:00
i915_gem_evict.c drm/i915: Create a gtt structure 2013-01-17 22:33:56 +01:00
i915_gem_execbuffer.c Linux 3.9-rc5 2013-04-03 11:28:48 +02:00
i915_gem_gtt.c lib/scatterlist: sg_page_iter: support sg lists w/o backing pages 2013-03-27 17:13:44 +01:00
i915_gem_stolen.c Revert "drm/i915: set dummy page for stolen objects" 2013-03-27 17:13:44 +01:00
i915_gem_tiling.c lib/scatterlist: sg_page_iter: support sg lists w/o backing pages 2013-03-27 17:13:44 +01:00
i915_ioc32.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_irq.c drm/i915: remove "inline" keyword from ironlake_disable_display_irq 2013-03-28 13:55:25 +01:00
i915_reg.h drm/i915: add Punit read/write routines for VLV v2 2013-04-02 21:00:06 +02:00
i915_suspend.c drm/i915: don't save/restore PCH_LVDS on LPT 2013-03-17 21:53:10 +01:00
i915_sysfs.c drm/i915: add \n to the end of sysfs attributes 2013-02-20 01:33:44 +01:00
i915_trace.h drm/i915: Allow DRM_ROOT_ONLY|DRM_MASTER to submit privileged batchbuffers 2012-10-17 21:06:59 +02:00
i915_trace_points.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
i915_ums.c drm/i915: move DP save/restore into i915_ums.c 2013-01-31 11:50:04 +01:00
intel_acpi.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_bios.c Merge branch 'drm-next-3.8' of git://people.freedesktop.org/~agd5f/linux into drm-next 2012-12-10 20:03:58 +10:00
intel_bios.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_crt.c drm/i915: add pipe_config->has_pch_encoder 2013-03-28 00:50:07 +01:00
intel_ddi.c drm/i915: fix DDI get_hw_state return value 2013-04-02 20:25:39 +02:00
intel_display.c drm/i915: clear up the fdi/dp set_m_n confusion 2013-04-03 11:29:09 +02:00
intel_dp.c drm/i915: clear up the fdi/dp set_m_n confusion 2013-04-03 11:29:09 +02:00
intel_drv.h drm/i915: clear up the fdi/dp set_m_n confusion 2013-04-03 11:29:09 +02:00
intel_dvo.c drm/i915: rip out helper->disable noop functions 2013-02-14 00:07:54 +01:00
intel_fb.c drm/i915: enable VT switchless resume v3 2013-03-26 21:37:50 +01:00
intel_hdmi.c drm/i915: precompute pipe bpp before touching the hw 2013-03-28 01:09:33 +01:00
intel_i2c.c drm/i915: stop using GMBUS IRQs on Gen4 chips 2013-03-20 00:03:16 +01:00
intel_lvds.c drm/i915: precompute pipe bpp before touching the hw 2013-03-28 01:09:33 +01:00
intel_modes.c drm/i915: Add "Automatic" mode for the "Broadcast RGB" property 2013-01-20 13:09:44 +01:00
intel_opregion.c GPU/i915: Fix acpi_bus_get_device() check in drivers/gpu/drm/i915/intel_opregion.c 2013-02-01 11:01:50 +01:00
intel_overlay.c Merge tag 'drm-intel-next-2013-02-01' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-02-08 11:08:10 +10:00
intel_panel.c Linux 3.9-rc5 2013-04-03 11:28:48 +02:00
intel_pm.c Linux 3.9-rc5 2013-04-03 11:28:48 +02:00
intel_ringbuffer.c drm/i915: Fix PIPE_CONTROL DW/QW write through global GTT on IVB+ 2013-02-20 00:21:47 +01:00
intel_ringbuffer.h Merge tag 'drm-intel-next-2012-12-21' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-01-17 20:34:08 +10:00
intel_sdvo.c drm/i915: Fix sdvo connector get_hw_state function 2013-04-03 11:08:10 +02:00
intel_sdvo_regs.h drm/i915: clear the entire sdvo infoframe buffer 2012-10-24 15:12:48 +02:00
intel_sprite.c drm/i915: sprite support for ValleyView v4 2013-04-02 20:28:53 +02:00
intel_tv.c drm/i915: clean up pipe bpp confusion 2013-03-28 01:09:35 +01:00