[PATCH 00/16] drm/i915: Add support for big joiner on gen11.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Tue Aug 6 08:51:43 UTC 2019


For this to work, we need to split crtc_state in a hw and uapi state.
uapi is what's visible for userspace, hw is what gets committed to
hardware.

In case of planes we use master_plane_state for all properties, and
write the new properties to plane_state.

This patch series is mostly untested and slightly goes against hardware
programming by enabling the master crtc completely before the slave crtc
gets enabled, and still has some bugs in the code as well.

I'm hoping to get some feedback on the approach, as it seems I can make
it work with this. Cursor updates and watermarks are working, cursor
updates only through the slowpath, and planar programming is untested,
but should work.

Maarten Lankhorst (16):
  drm/i915: Prepare to split crtc state in uapi and hw state
  drm/i915: Handle a few more cases for hw/sw split
  drm/i915: Complete sw/hw split
  drm/i915/dp: Allow big joiner modes in intel_dp_mode_valid()
  drm/i915: Try to make bigjoiner work in atomic check.
  drm/i915: Enable big joiner support in hsw_crtc_enable.
  drm/i915: Remove begin/finish_crtc_commit.
  drm/i915: Disable FBC in bigjoiner configuration.
  drm/i915: Prepare update_slave() for bigjoiner plane updates
  drm/i915: Link planes in a bigjoiner configuration.
  drm/i915: Kill off is_planar_yuv_format
  drm/i915: Get rid of crtc_state->fb_changed
  drm/i915: Prepare atomic plane check for bigjoiner planes
  drm/i915: Make prepare_plane_fb() work with bigjoiner planes
  drm/i915: Program planes in bigjoiner mode.
  drm/i915: Make sure watermarks work correctly with bigjoiner as well.

 drivers/gpu/drm/i915/display/icl_dsi.c        |   18 +-
 drivers/gpu/drm/i915/display/intel_atomic.c   |   62 +-
 drivers/gpu/drm/i915/display/intel_atomic.h   |    3 +
 .../gpu/drm/i915/display/intel_atomic_plane.c |  191 ++-
 .../gpu/drm/i915/display/intel_atomic_plane.h |   17 +-
 drivers/gpu/drm/i915/display/intel_audio.c    |   12 +-
 drivers/gpu/drm/i915/display/intel_bw.c       |    4 +-
 drivers/gpu/drm/i915/display/intel_cdclk.c    |    8 +-
 drivers/gpu/drm/i915/display/intel_color.c    |  150 +-
 drivers/gpu/drm/i915/display/intel_crt.c      |   24 +-
 drivers/gpu/drm/i915/display/intel_ddi.c      |   40 +-
 drivers/gpu/drm/i915/display/intel_display.c  | 1336 +++++++++++------
 drivers/gpu/drm/i915/display/intel_dp.c       |  294 ++--
 drivers/gpu/drm/i915/display/intel_dp.h       |    4 -
 drivers/gpu/drm/i915/display/intel_dp_mst.c   |    8 +-
 drivers/gpu/drm/i915/display/intel_dpio_phy.c |   14 +-
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c |   20 +-
 drivers/gpu/drm/i915/display/intel_dvo.c      |   14 +-
 drivers/gpu/drm/i915/display/intel_fbc.c      |    4 +-
 drivers/gpu/drm/i915/display/intel_hdmi.c     |   62 +-
 drivers/gpu/drm/i915/display/intel_lspcon.c   |    4 +-
 drivers/gpu/drm/i915/display/intel_lvds.c     |   12 +-
 drivers/gpu/drm/i915/display/intel_panel.c    |   14 +-
 drivers/gpu/drm/i915/display/intel_pipe_crc.c |    6 +-
 drivers/gpu/drm/i915/display/intel_psr.c      |   14 +-
 drivers/gpu/drm/i915/display/intel_sdvo.c     |   22 +-
 drivers/gpu/drm/i915/display/intel_sprite.c   |  179 ++-
 drivers/gpu/drm/i915/display/intel_sprite.h   |    7 +-
 drivers/gpu/drm/i915/display/intel_tv.c       |    8 +-
 drivers/gpu/drm/i915/display/intel_vdsc.c     |   34 +-
 drivers/gpu/drm/i915/display/vlv_dsi.c        |   20 +-
 drivers/gpu/drm/i915/i915_debugfs.c           |   14 +-
 drivers/gpu/drm/i915/intel_drv.h              |   65 +-
 drivers/gpu/drm/i915/intel_pm.c               |  403 +++--
 34 files changed, 1917 insertions(+), 1170 deletions(-)

-- 
2.20.1



More information about the Intel-gfx-trybot mailing list