mbox series

[bionic,00/59] drm/i915: Add support for Cannonlake (CNL)

Message ID 20180328153109.17126-1-tjaalton@ubuntu.com
Headers show
Series drm/i915: Add support for Cannonlake (CNL) | expand

Message

Timo Aaltonen March 28, 2018, 3:30 p.m. UTC
BugLink: http://bugs.launchpad.net/bugs/1757573

This backport adds support for Cannonlake to bionic/4.15, based on a list
of commits provided by Intel. Most of the patches were straight cherry-picks,
a handful needed slight adjustments to fit. 25 patches are from drm-intel-next-queued
-branch which will be mainlined in 4.17, the rest are from 4.16.


Anusha Srivatsa (2):
  drm/i915/cnl: Update the DMC version on CNL
  drm/i915/dmc: DMC 1.07 for Cannonlake

Chris Wilson (3):
  drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl
  drm/i915/execlists: Listen to COMPLETE context event not ACTIVE_IDLE
  drm/i915: Track GGTT writes on the vma

David Weinehall (1):
  drm/i915: Don't use GEN6_RC_VIDEO_FREQ on gen10+

James Ausmus (1):
  drm/i915/glk: Refactor handling of PLANE_COLOR_CTL for GLK+

Jani Nikula (4):
  drm/i915/bios: add DP max link rate to VBT child device struct
  drm/i915/dp: abstract rate array length limiting
  drm/i915/dp: clean up source rate limiting for cnl
  drm/i915/dp: limit DP link rate based on VBT on CNL+

Joonas Lahtinen (1):
  drm/i915/cnl: Add support for horizontal plane flipping

Lucas De Marchi (1):
  drm/i915/cnl: apply Display WA #1178 to fix type C dongles

Mahesh Kumar (1):
  drm/i915/cnl: Fix PORT_TX_DW5/7 register address

Michel Thierry (2):
  drm/i915/cnl: Remove unnecessary check in cnl_setup_private_ppat
  drm/i915/execlists: Delay writing to ELSP until HW has processed the
    previous write

Mika Kahola (1):
  drm/i915/cnl: Symmetric scalers for each pipe

Mika Kuoppala (1):
  drm/i915: Use fallback forcewake if primary ack missing

Rafael Antognolli (4):
  drm/i915: Implement ReadHitWriteOnlyDisable.
  drm/i915: Implement WaDisableVFclkgate.
  drm/i915: Implement WaDisableEarlyEOT.
  drm/i915/cnl: WaPipeControlBefore3DStateSamplePattern

Rodrigo Vivi (29):
  drm/i915/cnp: Ignore VBT request for know invalid DDC pin.
  drm/i915/cnp: Properly handle VBT ddc pin out of bounds.
  drm/i915/cnl: Force DDI_A_4_LANES when needed.
  drm/i915/cnl: Get RC6 working.
  drm/i915/cnl: Allow 2 pixel per clock on Cannonlake.
  drm/i915/cnl: Fix SSEU Device Status.
  drm/i915: Display WA #1185 WaDisableDARBFClkGating:cnl, glk
  drm/i915/cnl: Remove spurious central_freq.
  drm/i915/cnl: Remove useless conversion.
  drm/i915/cnl: Fix, simplify and unify wrpll variable sizes.
  drm/i915/cnl: Fix wrpll math for higher freqs.
  drm/i915/cnl: Don't blindly replace qdiv.
  drm/i915/cnl: Simplify dco_fraction calculation.
  drm/i915/cnl: Extend HDMI 2.0 support to CNL.
  drm/i915/cnl: Add Port F definition.
  drm/i915/cnl: Fix aux selection for WA 1178
  drm/i915/cnl: Add Cannonlake PCI IDs for another SKU.
  drm/i915/cnl: Add AUX-F support
  drm/i915/cnl: Extend Wa 1178 to Aux F.
  drm/i915/cnl: Fix _CNL_PORT_TX_DW2_LN0_F definition.
  drm/i915: Fix DPLCLKA_CFGCR0 bits for Port F.
  drm/i915/cnl: Add right GMBUS pin number for HDMI on Port F.
  drm/i915: For HPD connected port use hpd_pin instead of port.
  drm/i915/cnl: Add HPD support for Port F.
  drm/i915/cnl: Enable DDI-F on Cannonlake.
  drm/i915/cnl: Fix DP max rate for Cannonlake with port F.
  drm/i915/cnl: Sync PCI ID with Spec.
  drm/i915/cnl: Add WaRsDisableCoarsePowerGating
  drm/i915/cnl: Remove alpha_support protection

Tvrtko Ursulin (2):
  drm/i915: Restore GT performance in headless mode with DMC loaded
  drm/i915: Apply headless DMC workaround for CNL

Ville Syrjälä (6):
  drm/i915: Clean up some cdclk switch statements
  drm/i915: Start tracking voltage level in the cdclk state
  drm/i915: Use cdclk_state->voltage on CNL
  drm/i915: Adjust system agent voltage on CNL if required by DDI ports
  drm/i915: Sanity check cdclk in vlv_set_cdclk()
  drm/i915: Perform a central cdclk state sanity check

 drivers/gpu/drm/i915/i915_debugfs.c      |  61 +++++++-
 drivers/gpu/drm/i915/i915_drv.h          |  25 +++-
 drivers/gpu/drm/i915/i915_gem.c          |  61 +++++---
 drivers/gpu/drm/i915/i915_gem_gtt.c      |   6 -
 drivers/gpu/drm/i915/i915_gem_request.c  |  14 ++
 drivers/gpu/drm/i915/i915_irq.c          |  41 ++++--
 drivers/gpu/drm/i915/i915_pci.c          |   6 +-
 drivers/gpu/drm/i915/i915_reg.h          |  72 +++++++--
 drivers/gpu/drm/i915/i915_vma.c          |  22 +++
 drivers/gpu/drm/i915/i915_vma.h          |  19 +++
 drivers/gpu/drm/i915/intel_bios.c        |  50 ++++++-
 drivers/gpu/drm/i915/intel_cdclk.c       | 240 ++++++++++++++++++++----------
 drivers/gpu/drm/i915/intel_csr.c         |   5 +-
 drivers/gpu/drm/i915/intel_ddi.c         |  61 ++++++--
 drivers/gpu/drm/i915/intel_device_info.c |   5 +-
 drivers/gpu/drm/i915/intel_display.c     | 170 ++++++++++++++++-----
 drivers/gpu/drm/i915/intel_dp.c          | 245 ++++++++++++++++++-------------
 drivers/gpu/drm/i915/intel_dp_mst.c      |   5 +
 drivers/gpu/drm/i915/intel_dpll_mgr.c    |  63 ++++----
 drivers/gpu/drm/i915/intel_drv.h         |  21 ++-
 drivers/gpu/drm/i915/intel_engine_cs.c   |   3 +
 drivers/gpu/drm/i915/intel_guc.c         |   2 +-
 drivers/gpu/drm/i915/intel_hdmi.c        |  12 +-
 drivers/gpu/drm/i915/intel_hotplug.c     |  19 ++-
 drivers/gpu/drm/i915/intel_lrc.c         |  64 +++++++-
 drivers/gpu/drm/i915/intel_lspcon.c      |   3 +-
 drivers/gpu/drm/i915/intel_pm.c          |  41 ++++--
 drivers/gpu/drm/i915/intel_ringbuffer.h  |   1 +
 drivers/gpu/drm/i915/intel_runtime_pm.c  |  54 ++++++-
 drivers/gpu/drm/i915/intel_sprite.c      |  11 +-
 drivers/gpu/drm/i915/intel_uncore.c      | 137 +++++++++++++++--
 drivers/gpu/drm/i915/intel_vbt_defs.h    |   9 ++
 include/drm/i915_component.h             |   3 +-
 include/drm/i915_pciids.h                |  27 ++--
 34 files changed, 1186 insertions(+), 392 deletions(-)

Comments

Thadeu Lima de Souza Cascardo March 28, 2018, 4:47 p.m. UTC | #1
On Wed, Mar 28, 2018 at 06:30:10PM +0300, Timo Aaltonen wrote:
> BugLink: http://bugs.launchpad.net/bugs/1757573
> 
> This backport adds support for Cannonlake to bionic/4.15, based on a list
> of commits provided by Intel. Most of the patches were straight cherry-picks,
> a handful needed slight adjustments to fit. 25 patches are from drm-intel-next-queued
> -branch which will be mainlined in 4.17, the rest are from 4.16.
> 

Hi, Timo.

How was this tested? What other CPUs were tested? Any regressions found?

Thanks.
Cascardo.
Timo Aaltonen April 5, 2018, 9:22 a.m. UTC | #2
On 28.03.2018 19:47, Thadeu Lima de Souza Cascardo wrote:
> On Wed, Mar 28, 2018 at 06:30:10PM +0300, Timo Aaltonen wrote:
>> BugLink: http://bugs.launchpad.net/bugs/1757573
>>
>> This backport adds support for Cannonlake to bionic/4.15, based on a list
>> of commits provided by Intel. Most of the patches were straight cherry-picks,
>> a handful needed slight adjustments to fit. 25 patches are from drm-intel-next-queued
>> -branch which will be mainlined in 4.17, the rest are from 4.16.
>>
> 
> Hi, Timo.
> 
> How was this tested? What other CPUs were tested? Any regressions found?

That's a valid question. We'll get this tested via the new bionic
linux-oem kernel which is now on the ppa. I've used this on my kabylake
laptop without any issues so far, but best to be on the safe side of course.
Timo Aaltonen April 13, 2018, 12:52 p.m. UTC | #3
On 28.03.2018 19:47, Thadeu Lima de Souza Cascardo wrote:
> On Wed, Mar 28, 2018 at 06:30:10PM +0300, Timo Aaltonen wrote:
>> BugLink: http://bugs.launchpad.net/bugs/1757573
>>
>> This backport adds support for Cannonlake to bionic/4.15, based on a list
>> of commits provided by Intel. Most of the patches were straight cherry-picks,
>> a handful needed slight adjustments to fit. 25 patches are from drm-intel-next-queued
>> -branch which will be mainlined in 4.17, the rest are from 4.16.
>>
> 
> Hi, Timo.
> 
> How was this tested? What other CPUs were tested? Any regressions found?

I've been running it on my Skylake desktop and Kabylake laptop for over
a week without issues. But the plan was to test this properly by the
cert lab once bionic oem kernel is out of -proposed.