[PATCH 00/36] Haswell VGA fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Paulo Zanoni <paulo.r.zanoni at intel.com>

Hi

As you may have noticed this is not "Haswell VGA enablement", but "Haswell VGA
fixes" since VGA is already enabled on Haswell. Even though it's enabled,
whenever I try to "xrandr --output VGA1 --auto" my machine hard hangs.

So what does this series fixes?
  - It makes our code follow the "mode set sequence for CRT" described in our
    documentation.
  - It makes my old VGA monitor work :)

What kind of problems remain?

  - I really don't know exactly what problems remain, but this series just does
    not touch the code that sets the PCH clocks and I'm sure that code is
    incomplete. We are probably still relying on the fact that the BIOS enables
    things for us. But since I didn't even touch that code and VGA works for me,
    I think we can address those problems in a later patch series.

How does the series fix the problems?

  - It forks some of the Ironlake PCH functions.
  - It makes all those forked functions aware of the fact that there's only one
    CPU transcoder and that CPU transcoder may be different from CPU pipe.
  - It changes a lot of things to make sure we follow the mode set sequence.

The number of patches may be scary, but each patch tries to be really small and
easy to review, so if you grab our "mode set sequence" document you'll be able
to review a lot of patches in just a few minutes :)

Cheers,
Paulo

Paulo Zanoni (36):
  drm/i915: don't set ADPA pipe select on LPT
  drm/i915: use intel_ddi_get_hw_state on CRT encoder too
  drm/i915: add lpt_pch_enable
  drm/i915: remove Haswell/LPT bits from ironlake_pch_enable
  drm/i915: remove ironlake bits from lpt_pch_enable
  drm/i915: train Haswell FDI at the right time
  drm/i915: use the right FDI_RX_CTL register on Haswell
  drm/i915: set the correct number of FDI lanes on Haswell
  drm/i915: don't rely on DDI_BUF_CTL previous values
  drm/i915: program the FDI RX TUSIZE register on hsw_fdi_link_train
  drm/i915: properly program FDI_RX_MISC pwrdn lane values on HSW
  drm/i915: wait only 35us for the FDI link training
  drm/i915: remove an useless indentation level on hsw_fdi_link_train
  drm/i915: disable FDI_RX_ENABLE, not FDI_RX_PLL_ENABLE
  drm/i915: change Haswell FDI link training error messages
  drm/i915: try each voltage twice at hsw_fdi_link_train
  drm/i915: fix Haswell FDI link disable path
  drm/i915: don't write FDI_RX_TUSIZE on lpt_pch_enable
  drm/i915: rename intel_enable_pch_pll to ironlake_enable_pch_pll
  drm/i915: don't call ironlake_enable_pch_pll on lpt_pch_enable
  drm/i915: don't assert_panel_unlocked on LPT
  drm/i915: use the CPU and PCH transcoders on lpt_pch_enable
  drm/i915: rename intel_{en,dis}able_transcoder
  drm/i915: fork lpt version of ironlake_{en,dis}able_pch_transcoder
  drm/i915: remove Haswell code from ironlake_enable_pch_transcoder
  drm/i915: remove IBX code from lpt_enable_pch_transcoder
  drm/i915: don't assert_pch_pll_enabled on lpt_enable_pch_transcoder
  drm/i915: use CPU and PCH transcoders on lpt_enable_pch_transcoder
  drm/i915: use PIPECONF_INTERLACE_MASK_HSW on
    lpt_enable_pch_transcoder
  drm/i915: don't rely on previous values when setting LPT TRANSCONF
  drm/i915: don't assert_pch_ports_disabled on LPT
  drm/i915: use CPU and PCH transcoders on lpt_disable_pch_transcoder
  drm/i915: implement timing override workarounds on LPT
  drm/i915: don't intel_disable_pch_pll on Haswell/LPT
  drm/i915: don't limit Haswell CRT encoder to pipe A
  drm/i915: don't assert disabled FDI before disabling the FDI

 drivers/gpu/drm/i915/i915_reg.h      |  17 +++--
 drivers/gpu/drm/i915/intel_crt.c     |  14 ++--
 drivers/gpu/drm/i915/intel_ddi.c     | 134 +++++++++++++++++++++++------------
 drivers/gpu/drm/i915/intel_display.c | 127 +++++++++++++++++++++++----------
 drivers/gpu/drm/i915/intel_drv.h     |   4 +-
 5 files changed, 202 insertions(+), 94 deletions(-)

-- 
1.7.11.4



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux