f035083055
And rely on the fact that it's 0 to assume that machines without a PCH will have PCH_NONE as dev_priv->pch_type. Just today I finally realized that HAS_PCH_IBX is true for machines without a PCH. IMHO this is totally counter-intuitive and I don't think it's a good idea to assume that we're going to check for HAS_PCH_IBX only after we check for HAS_PCH_SPLIT. I believe that in the future we'll have more PCH types and checks like: if (HAS_PCH_IBX(dev) || HAS_PCH_CPT(dev)) will become more and more common. There's a good chance that we may break non-PCH machines by adding these checks in code that runs on all machines. I also believe that the HAS_PCH_SPLIT check will become less common as we add more and more different PCH types. We'll probably start replacing checks like: if (HAS_PCH_SPLIT(dev)) foo(); else bar(); with: if (HAS_PCH_NEW(dev)) baz(); else if (HAS_PCH_OLD(dev) || HAS_PCH_IBX(dev)) foo(); else bar(); and this may break gen 2/3/4. As far as we have investigated, this patch will affect the behavior of intel_hdmi_dpms and intel_dp_link_down on gen 4. In both functions the code inside the HAS_PCH_IBX check is for IBX-specific workarounds, so we should be safe. If we start bisecting gen 2/3/4 bugs to this commit we should consider replacing the HAS_PCH_IBX checks with something else. V2: Improve commit message, list possible side effects and solution. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> |
||
---|---|---|
.. | ||
dvo_ch7xxx.c | ||
dvo_ch7017.c | ||
dvo_ivch.c | ||
dvo_sil164.c | ||
dvo_tfp410.c | ||
dvo.h | ||
i915_debugfs.c | ||
i915_dma.c | ||
i915_drv.c | ||
i915_drv.h | ||
i915_gem_context.c | ||
i915_gem_debug.c | ||
i915_gem_dmabuf.c | ||
i915_gem_evict.c | ||
i915_gem_execbuffer.c | ||
i915_gem_gtt.c | ||
i915_gem_stolen.c | ||
i915_gem_tiling.c | ||
i915_gem.c | ||
i915_ioc32.c | ||
i915_irq.c | ||
i915_reg.h | ||
i915_suspend.c | ||
i915_sysfs.c | ||
i915_trace_points.c | ||
i915_trace.h | ||
intel_acpi.c | ||
intel_bios.c | ||
intel_bios.h | ||
intel_crt.c | ||
intel_ddi.c | ||
intel_display.c | ||
intel_dp.c | ||
intel_drv.h | ||
intel_dvo.c | ||
intel_fb.c | ||
intel_hdmi.c | ||
intel_i2c.c | ||
intel_lvds.c | ||
intel_modes.c | ||
intel_opregion.c | ||
intel_overlay.c | ||
intel_panel.c | ||
intel_pm.c | ||
intel_ringbuffer.c | ||
intel_ringbuffer.h | ||
intel_sdvo_regs.h | ||
intel_sdvo.c | ||
intel_sprite.c | ||
intel_tv.c | ||
Makefile |