[SRU OEM-OSP1-B][PULL] drm/i915: Add support for Ice lake, take 1

Timo Aaltonen tjaalton at ubuntu.com
Wed Jun 12 09:12:42 UTC 2019


BugLink: http://bugs.launchpad.net/bugs/1825940

[Impact]
Ice Lake (ICL) graphics needs to be enabled for OEM OSP1 image which is based on 18.04.3 graphics stack with linux-oem-osp1 kernel.

[Test case]
The usual desktop usage, graphics tests etc.

[Regression potential]
Linux-oem-osp1 kernel is a new kernel used only on new OEM enablements, and it can't regress any currently running system.


The following changes since commit 3e73c1d558edf70f0186fd03cebd7892df4081b1:

  UBUNTU: Ubuntu-oem-osp1-5.0.0-1008.9 (2019-05-26 21:58:43 +0300)

are available in the Git repository at:

  https://git.launchpad.net/~tjaalton/ubuntu/+source/linux icl5

for you to fetch changes up to 1f44f47ac4c715df1e1dafcd9de1697f5732106b:

  drm/i915: Remove the fragile array index -> link rate mapping (2019-06-12 11:52:04 +0300)

----------------------------------------------------------------
Aditya Swarup (3):
      drm/i915: Make combo PHY DDI macro definitions consistent for ICL and CNL
      drm/i915: Make MG PHY macros semantically consistent
      drm/i915/icl: Fix CRC mismatch error for DP link layer compliance

Bob Paauwe (1):
      drm/i915: DFSM pipe disable is valid from gen9 onwards (v2)

Chris Wilson (11):
      drm/i915/selftests: Check we can recover a wedged device
      drm/i915/selftests: Verify we can perform resets from atomic context
      drm/i915: Limit the for_each_set_bit() to the valid range
      drm/i915: Use b->irq_enable() as predicate for mock engine
      drm/i915: Restrict PSMI context load w/a to Haswell GT1
      drm/i915: Remove HW semaphores for gen7 inter-engine synchronisation
      drm/i915: Refactor out intel_context_init()
      drm/i915: De-inline intel_context_init()
      drm/i915: Push EMIT_INVALIDATE at request start to backends
      drm/i915: Reduce i915_request_alloc retirement to local context
      drm/i915: Fix Cherryview oops on boot

Clint Taylor (1):
      drm/i915/hdmi: SCDC Scrambling enable without CTS mode

Daniele Ceraolo Spurio (1):
      drm/i915/icl: do a posting read after irq install

Imre Deak (10):
      drm/i915/icl: Add a debug print for TypeC port disconnection
      drm/i915/bios: Parse the VBT TypeC and Thunderbolt port flags
      drm/i915/icl: Fix HPD handling for TypeC legacy ports
      drm/i915/icl: Add fallback detection method for TypeC legacy ports
      drm/i915/ddi: Move DDI port detection to the corresponding helper
      drm/i915/icl: Detect port F presence via VBT
      drm/i915/icl: Work around broken VBTs for port F detection
      drm/i915/icl: Add TypeC ports only if VBT is present
      drm/i915/icl: Prevent incorrect DBuf enabling
      drm/i915/icl: Fix MG_DP_MODE() register programming

Jani Nikula (25):
      drm/i915: small isolated c99 types to kernel types switch
      drm/i915/crt: switch to kernel types
      drm/i915/lspcon: switch to kernel types
      drm/i915/debugfs: switch to kernel types
      drm/i915/irq: switch to kernel types
      drm/i915/cdclk: switch to kernel types
      drm/i915/dpll_mgr: switch to kernel types
      drm/i915/dp: switch to kernel types
      drm/i915/sprite: switch to kernel types
      drm/i915/ddi: switch to kernel types
      drm/i915/pm: switch to kernel types
      drm/i915/i915_drv.h: switch to kernel types
      drm/i915: start moving runtime device info to a separate struct
      drm/i915/reg: abstract display_mmio_offset access
      drm/i915: pass dev_priv to intel_device_info_runtime_init()
      drm/i915: always use INTEL_INFO() to access device info
      drm/i915: drop intel_device_info_dump()
      drm/i915: rename dev_priv info to __info to avoid usage
      drm/i915/color: switch to kernel types
      drm/i915/crt: split out intel_crt_present() to platform specific setup
      drm/i915/lvds: only call intel_lvds_init() on platforms that might have LVDS
      drm/i915/lvds: nuke intel_lvds_supported()
      drm/i915/tv: only call intel_tv_init() on platforms that might have TV
      drm/i915: rename has_edp_a() to ilk_has_edp_a()
      drm/i915: introduce REG_BIT() and REG_GENMASK() to define register contents

José Roberto de Souza (15):
      drm: Add the PSR SU granularity registers offsets
      drm/i915/psr: Don't tell sink that main link will be active while is active PSR2
      drm/i915/psr: Set PSR CRC verification bit in sink inside PSR1 block
      drm/i915/psr: Enable sink to trigger a interruption on PSR2 CRC mismatch
      drm/i915/icl: Do not change reserved registers related to PSR2
      drm/i915: Remove old PSR2 FIXME about frontbuffer tracking
      drm/i915/psr: Check if resolution is supported by default SU granularity
      drm/i915/psr: Check if source supports sink specific SU granularity
      drm/i915/icl: Fix VEBOX mismatch BUG_ON()
      drm/i915: Call MG_DP_MODE() macro with the right parameters order
      drm/i915/icl: Remove alpha support protection
      drm/i915: Add new ICL PCI ID
      drm/i915/vbt: Parse and use the new field with PSR2 TP2/3 wakeup time
      drm/i915/psr: Move logic to get TPS registers values to another function
      drm/i915/icl+: Always use TPS2 or TPS3 when exiting PSR1

Juha-Pekka Heikkila (3):
      drm/i915: Add P010, P012, P016 plane control definitions
      drm/i915: Preparations for enabling P010, P012, P016 formats
      drm/i915: Enable P010, P012, P016 formats for primary and sprite planes

Kevin Strasser (3):
      drm/fourcc: Add 64 bpp half float formats
      drm/i915: Refactor icl_is_hdr_plane
      drm/i915/icl: Implement half float formats

Lionel Landwerlin (2):
      drm/i915: Record the sseu configuration per-context & engine
      drm/i915/perf: lock powergating configuration to default when active

Lucas De Marchi (22):
      drm/i915: Rename IS_GEN to IS_GEN_RANGE
      drm/i915: replace IS_GEN<N> with IS_GEN(..., N)
      drm/i915: merge gen checks to use range
      drm/i915: initialize unused MOCS entries to PTE
      drm/i915: Simplify MOCS table definition
      drm/i915: use a macro to define MOCS entries
      drm/i915: keep track of used entries in MOCS table
      drm/i915: cache number of MOCS entries
      drm/i915/icl: use tc_port in MG_PLL macros
      drm/i915/icl: remove dpll from clk_sel
      drm/i915/icl: keep track of unused pll while looping
      drm/i915/icl: move MG pll hw_state readout
      drm/i915/skl: use previous pll hw readout
      drm/i915/bxt: make bxt_calc_pll_link() similar to skl
      drm/i915/cnl: use previous pll hw readout
      drm/i915/icl: use previous pll hw readout
      drm/i915/icl: reduce pll_id scope and use enum type
      drm/i915/icl: split combo and mg pll enable
      drm/i915/icl: split pll enable in three steps
      drm/i915/icl: split combo and mg pll disable
      drm/i915/icl: split combo and tbt pll funcs
      drm/i915/icl: remove intel_dpll_is_combophy()

Matt Roper (9):
      drm: Add color management LUT validation helper (v4)
      drm/i915: Validate userspace-provided color management LUT's (v4)
      drm/i915: Use intel_ types more consistently for watermark code (v2)
      drm/i915: Use intel_ types more consistently for color management code (v2)
      drm/i915: Don't use DDB allocation when choosing gen9 watermark method
      drm/i915: Switch to level-based DDB allocation algorithm (v5)
      drm/i915: Don't forget to reset blocks when testing lower wm levels
      drm/i915: Force background color to black for gen9+ (v2)
      drm/i915: Apply LUT validation checks to platforms more accurately (v3)

Michał Winiarski (1):
      drm/i915/icl: Default to Thread Group preemption for compute workloads

Mika Kuoppala (11):
      drm/i915/icl: Forcibly evict stale csb entries
      drm/i915/icl: Handle rps interrupts without irq lock
      drm/i915/icl: Don't warn on spurious interrupts
      drm/i915: Use dedicated rc6 enabling sequence for gen11
      drm/i915/icl: Apply a recommended rc6 threshold
      drm/i915/icl: Enable media sampler powergate
      drm/i915/icl: Disable video turbo mode for rp control
      drm/i915: Use Engine1 instance for gen11 pm interrupts
      drm/i915: Prepare for larger CSB status FIFO size
      drm/i915/icl: Switch to using 12 deep CSB status FIFO
      drm/i915: Disable read only ppgtt support for gen11

Oscar Mateo (2):
      drm/i915/icl: Record the valid VDBoxes with SFC capability
      drm/i915/icl: Mind the SFC units when resetting VD or VEBox engines

Paulo Zanoni (1):
      drm/i915: don't apply Display WAs 1125 and 1126 to GLK/CNL+

Randy Li (1):
      drm/fourcc: Add new P010, P016 video format

Rodrigo Vivi (2):
      drm/i915: Yet another if/else sort of newer to older platforms.
      drm/i915/gen11+: First assume next platforms will inherit stuff

Swati Sharma (3):
      drm: Add Y2xx and Y4xx (xx:10/12/16) format definitions and fourcc
      drm/i915/icl: Add Y2xx and Y4xx (xx:10/12/16) plane control definitions
      drm/i915/icl: Enabling Y2xx and Y4xx (xx:10/12/16) formats for universal planes

Talha Nassar (1):
      drm/i915/icl: restore WaEnableFloatBlendOptimization

Thomas Preston (1):
      drm/i915/bios: assume eDP is present on port A when there is no VBT

Tomasz Lis (2):
      drm/i915/skl: Rework MOCS tables to keep common part in a define
      drm/i915/icl: Define MOCS table for Icelake

Tvrtko Ursulin (7):
      drm/i915: Move workaround infrastructure code up
      drm/i915: Save some lines of source code in workarounds
      drm/i915/execlists: Move RPCS setup to context pin
      drm/i915: Add timeline barrier support
      drm/i915: Expose RPCS (SSEU) configuration to userspace (Gen11 only)
      drm/i915/selftests: Context SSEU reconfiguration tests
      drm/i915/icl: Whitelist GEN9_SLICE_COMMON_ECO_CHICKEN1

Uma Shankar (8):
      drm/i915/glk: Fix degamma lut programming
      drm/i915/icl: Add icl pipe degamma and gamma support
      drm/i915/icl: Enable ICL Pipe CSC block
      drm/i915/icl: Enable pipe output csc
      drm/i915/icl: Add degamma and gamma lut size to gen11 caps
      drm/i915/icl: Drop redundant gamma mode mask
      drm/i915: Fix GCMAX color register programming
      drm/i915: Program EXT2 GC MAX registers

Vandita Kulkarni (2):
      drm/i915/icl: Ungate ddi clocks before IO enable
      drm/i915/icl: Fix port disable sequence for mipi-dsi

Ville Syrjälä (90):
      drm: Constify drm_color_lut_check()
      drm/i915: Use explicit old crtc state in skl_compute_wm()
      drm/i915: Remove bogus FIXME from SKL wm computation
      drm/i915: Remove dead update_wm_pre assignment from SKL wm code
      drm/i915: Don't ignore level 0 lines watermark for glk+
      drm/i915: Reinstate an early latency==0 check for skl+
      drm/i915: Fix bits vs. bytes mixup in dbuf block size computation
      drm/i915: Fix > vs >= mismatch in watermark/ddb calculations
      drm/i915: Account for minimum ddb allocation restrictions
      drm/i915: Pass dev_priv to skl_needs_memory_bw_wa()
      drm/i915: Drop the definite article in front of SAGV
      drm/i915: Drop the pointless linetime==0 check
      drm/i915: Use IS_GEN9_LP() for the linetime w/a check
      drm/i915: Don't use the second dbuf slice on icl
      drm/i915: Pick the first unused PLL once again
      drm/i915: Fix wm latency==0 disable on skl+
      drm/i915: Extract icl_set_pipe_chicken()
      drm/i915: Setup PIPE_CHICKEN for fastsets too
      drm/i915: Bump skl+ wm blocks to 11 bits
      drm/i915: Just use icl+ definition for PLANE_WM blocks field
      drm/i915: Don't set update_wm_post on g4x+
      drm/i915: Split the gamma/csc enable bits from the plane_ctl() function
      drm/i915: Precompute gamma_mode
      drm/i915: Constify the state arguments to the color management stuff
      drm/i915: Pull GAMMA_MODE write out from haswell_load_luts()
      drm/i915: Split color mgmt based on single vs. double buffered registers
      drm/i915: Move LUT programming to happen after vblank waits
      drm/i915: Populate gamma_mode for all platforms
      drm/i915: Track pipe gamma enable/disable in crtc state
      drm/i915: Track pipe csc enable in crtc state
      drm/i915: Turn off pipe gamma when it's not needed
      drm/i915: Turn off pipe CSC when it's not needed
      drm/i915: Clean up intel_plane_atomic_check_with_state()
      drm/i915: Disable pipe gamma when C8 pixel format is used
      drm/i915: Update DSPCNTR gamma/csc bits during crtc_enable()
      drm/i915: Dump skl+ watermark changes
      drm/i915: Include "ignore lines" in skl+ wm state
      drm/i915: Implement new w/a for underruns with wm1+ disabled
      drm/i915: Remove the "pf" crc source
      drm/i915: Use named initializers for the crc source name array
      drm/i915: Remove the broken DP CRC support for g4x
      drm/i915: Extend skl+ crc sources with more planes
      drm/i915: Finalize Wa_1408961008:icl
      drm/i915: Fix the state checker for ICL Y planes
      drm/i915: Store DIMM rank information as a number
      drm/i915: Extract functions to derive SKL+ DIMM info
      drm/i915: Polish skl_is_16gb_dimm()
      drm/i915: Extract BXT DIMM helpers
      drm/i915: Fix DRAM size reporting for BXT
      drm/i915: Extract DIMM info on GLK too
      drm/i915: Use dram_dimm_info more
      drm/i915: Generalize intel_is_dram_symmetric()
      drm/i914: s/l_info/dimm_l/ etc.
      drm/i915: Clean up intel_get_dram_info() a bit
      drm/i915: Extract DIMM info on cnl+
      drm/i915: Read out memory type
      drm/i915: Fix legacy gamma mode for ICL
      drm/i915: Turn off the CUS when turning off a HDR plane
      drm/i915: Nuke icl_calc_dp_combo_pll_link()
      drm/i915: Readout and check csc_mode
      drm/i915: Precompute/readout/check CHV CGM mode
      drm/i915: Extract ilk_csc_limited_range()
      drm/i915: Clean up ilk/icl pipe/output CSC programming
      drm/i915: Extract ilk_csc_convert_ctm()
      drm/i915: Clean the csc limited range/identity programming
      drm/i915: Split ilk vs. icl csc matrix handling
      drm/i915: Extract check_luts()
      drm/i915: Turn intel_color_check() into a vfunc
      drm/i915: Extract i9xx_color_check()
      drm/i915: Extract chv_color_check()
      drm/i915: Extract icl_color_check()
      drm/i915: Extract glk_color_check()
      drm/i915: Extract bdw_color_check()
      drm/i915: Extract ilk_color_check()
      drm/i915: Drop the pointless linear legacy LUT load on CHV
      drm/i915: Skip the linear degamma LUT load on ICL+
      drm/i915: Suppress spurious combo PHY B warning
      drm/i915: Fix ICL output CSC programming
      drm/i915: Don't pass crtc to intel_find_shared_dpll()
      drm/i915: Don't pass crtc to intel_get_shared_dpll() and .get_dpll()
      drm/i915: Pass crtc_state down to skl dpll funcs
      drm/i915: Remove redundant on stack dpll_hw_state from skl_get_dpll()
      drm/i915: Pass crtc_state down to bxt dpll funcs
      drm/i915: Remove redundant on stack dpll_hw_state from bxt_get_dpll()
      drm/i915: Pass crtc_state down to cnl dpll funcs
      drm/i915: Remove redundant on stack dpll_hw_state from cnl_get_dpll()
      drm/i915: Pass crtc_state down to icl dpll funcs
      drm/i915: Remove redundant on stack dpll_hw_state from icl_get_dpll()
      drm/i915: Fix readout for cnl DPLL kdiv==3
      drm/i915: Remove the fragile array index -> link rate mapping

 drivers/gpu/drm/drm_color_mgmt.c                  |   43 ++
 drivers/gpu/drm/drm_fourcc.c                      |   19 +
 drivers/gpu/drm/i915/gvt/vgpu.c                   |    4 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c            |    2 +-
 drivers/gpu/drm/i915/i915_debugfs.c               |   83 ++--
 drivers/gpu/drm/i915/i915_drv.c                   |  479 ++++++++++++++-------
 drivers/gpu/drm/i915/i915_drv.h                   |  363 ++++++++--------
 drivers/gpu/drm/i915/i915_gem.c                   |   32 +-
 drivers/gpu/drm/i915/i915_gem_context.c           |  367 +++++++++++++++-
 drivers/gpu/drm/i915/i915_gem_context.h           |   24 ++
 drivers/gpu/drm/i915/i915_gem_execbuffer.c        |    4 +-
 drivers/gpu/drm/i915/i915_gem_fence_reg.c         |   18 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c               |   17 +-
 drivers/gpu/drm/i915/i915_gem_stolen.c            |    7 +-
 drivers/gpu/drm/i915/i915_gem_tiling.c            |    4 +-
 drivers/gpu/drm/i915/i915_gpu_error.c             |   37 +-
 drivers/gpu/drm/i915/i915_gpu_error.h             |    1 +
 drivers/gpu/drm/i915/i915_irq.c                   |  192 +++++----
 drivers/gpu/drm/i915/i915_pci.c                   |   14 +-
 drivers/gpu/drm/i915/i915_perf.c                  |   77 ++--
 drivers/gpu/drm/i915/i915_query.c                 |    2 +-
 drivers/gpu/drm/i915/i915_reg.h                   |  625 +++++++++++++++++----------
 drivers/gpu/drm/i915/i915_request.c               |  197 +++------
 drivers/gpu/drm/i915/i915_suspend.c               |   12 +-
 drivers/gpu/drm/i915/i915_timeline.c              |   21 +
 drivers/gpu/drm/i915/i915_timeline.h              |   26 +-
 drivers/gpu/drm/i915/i915_trace.h                 |   29 --
 drivers/gpu/drm/i915/icl_dsi.c                    |   21 +-
 drivers/gpu/drm/i915/intel_atomic.c               |    9 +-
 drivers/gpu/drm/i915/intel_atomic_plane.c         |   45 +-
 drivers/gpu/drm/i915/intel_audio.c                |    2 +-
 drivers/gpu/drm/i915/intel_bios.c                 |   59 ++-
 drivers/gpu/drm/i915/intel_breadcrumbs.c          |   17 +-
 drivers/gpu/drm/i915/intel_cdclk.c                |   92 ++--
 drivers/gpu/drm/i915/intel_color.c                | 1146 ++++++++++++++++++++++++++++++++++---------------
 drivers/gpu/drm/i915/intel_combo_phy.c            |    3 +-
 drivers/gpu/drm/i915/intel_crt.c                  |   28 +-
 drivers/gpu/drm/i915/intel_ddi.c                  |  396 ++++++++---------
 drivers/gpu/drm/i915/intel_device_info.c          |  105 +++--
 drivers/gpu/drm/i915/intel_device_info.h          |   32 +-
 drivers/gpu/drm/i915/intel_display.c              |  654 ++++++++++++++++++++--------
 drivers/gpu/drm/i915/intel_display.h              |    6 +-
 drivers/gpu/drm/i915/intel_dp.c                   |  227 +++++-----
 drivers/gpu/drm/i915/intel_dp_link_training.c     |   32 +-
 drivers/gpu/drm/i915/intel_dp_mst.c               |    2 +-
 drivers/gpu/drm/i915/intel_dpio_phy.c             |   18 +-
 drivers/gpu/drm/i915/intel_dpll_mgr.c             |  939 ++++++++++++++++++++--------------------
 drivers/gpu/drm/i915/intel_dpll_mgr.h             |   58 ++-
 drivers/gpu/drm/i915/intel_drv.h                  |   53 ++-
 drivers/gpu/drm/i915/intel_dsi_vbt.c              |    6 +-
 drivers/gpu/drm/i915/intel_engine_cs.c            |   85 ++--
 drivers/gpu/drm/i915/intel_fbc.c                  |   26 +-
 drivers/gpu/drm/i915/intel_fifo_underrun.c        |   18 +-
 drivers/gpu/drm/i915/intel_guc_fw.c               |    2 +-
 drivers/gpu/drm/i915/intel_hangcheck.c            |  157 +------
 drivers/gpu/drm/i915/intel_hdcp.c                 |    4 +-
 drivers/gpu/drm/i915/intel_hdmi.c                 |    4 +-
 drivers/gpu/drm/i915/intel_lrc.c                  |  156 +++++--
 drivers/gpu/drm/i915/intel_lrc.h                  |   15 +-
 drivers/gpu/drm/i915/intel_lspcon.c               |   20 +-
 drivers/gpu/drm/i915/intel_lvds.c                 |   27 +-
 drivers/gpu/drm/i915/intel_mocs.c                 |  408 +++++++++++-------
 drivers/gpu/drm/i915/intel_overlay.c              |   10 +-
 drivers/gpu/drm/i915/intel_panel.c                |    8 +-
 drivers/gpu/drm/i915/intel_pipe_crc.c             |  201 ++++-----
 drivers/gpu/drm/i915/intel_pm.c                   | 1256 +++++++++++++++++++++++++++++-------------------------
 drivers/gpu/drm/i915/intel_psr.c                  |  139 ++++--
 drivers/gpu/drm/i915/intel_ringbuffer.c           |  183 +-------
 drivers/gpu/drm/i915/intel_ringbuffer.h           |   72 +---
 drivers/gpu/drm/i915/intel_runtime_pm.c           |   36 +-
 drivers/gpu/drm/i915/intel_sprite.c               |  320 +++++++++++---
 drivers/gpu/drm/i915/intel_uc.c                   |    2 +-
 drivers/gpu/drm/i915/intel_uncore.c               |  147 ++++++-
 drivers/gpu/drm/i915/intel_vbt_defs.h             |    3 +
 drivers/gpu/drm/i915/intel_wopcm.c                |    4 +-
 drivers/gpu/drm/i915/intel_workarounds.c          |  158 +++----
 drivers/gpu/drm/i915/selftests/i915_gem_context.c |  470 +++++++++++++++++++-
 drivers/gpu/drm/i915/selftests/intel_hangcheck.c  |  197 +++++++++
 drivers/gpu/drm/i915/selftests/intel_lrc.c        |    4 +-
 drivers/gpu/drm/i915/selftests/mock_context.c     |    7 +-
 drivers/gpu/drm/i915/selftests/mock_engine.c      |    1 -
 drivers/gpu/drm/i915/selftests/mock_timeline.c    |    1 +
 include/drm/drm_color_mgmt.h                      |   28 ++
 include/drm/drm_dp_helper.h                       |    4 +
 include/drm/i915_pciids.h                         |    3 +-
 include/uapi/drm/drm_fourcc.h                     |   48 +++
 include/uapi/drm/i915_drm.h                       |   64 +++
 87 files changed, 6806 insertions(+), 4131 deletions(-)


-- 
t



More information about the kernel-team mailing list