[PATCH 00/42] drm/i915: Convert to atomic, part 2.

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

 



This patch makes this happen by consolidating all modeset paths
and getting rid of most transitional state.

This happens first by unifying all paths so all code that
disables a crtc goes through either intel_crtc_toggle or
__intel_set_mode. After that's done crtc_state->active is
updated in intel_crtc_toggle, and used to check whether
the crtc is active or not.

At this point crtc->state is equal to intel_crtc->config and
crtc->state->active is equal to crtc->config.

This gives us enough information to convert all planes to atomic,
this had to be done in a single commit because the transitional
helpers don't call crtc_check and some things have to be moved
there.

This makes the planes fully atomic, next step is getting rid
of the transitional intel_crtc->active and intel_crtc->config,
and replacing it with crtc->state or old_crtc_state.

The last part allows setting multiple crtc's in intel_set_mode,
and restore the sw state after suspend by calculating the hw
state in a drm_atomic_state, then swapping it with sw state
and finally call intel_set_mode with the sw state.

Ander Conselvan de Oliveira (6):
  drm/i915: Set mode_changed for audio in intel_modeset_pipe_config()
  drm/i915: Make __intel_set_mode() take only atomic state as argument
  drm/i915: Use global atomic state for staged pll config
  drm/i915: Support modeset across multiple pipes
  drm/i915: Move cdclk and pll setup to intel_modeset_compute_config()
  drm/i915: Read hw state into an atomic state struct

Maarten Lankhorst (36):
  drm/atomic: Allow drivers to subclass drm_atomic_state
  drm/i915: get rid of intel_crtc_disable and related code, v2
  drm/i915: Only update required power domains.
  drm/i915: use intel_crtc_control everywhere
  drm/i915: Get rid of new_encoder.
  drm/i915: get rid of new_crtc
  drm/i915: Get rid of crtc->new_enabled, v2.
  drm/i915: Implement intel_crtc_toggle using atomic state
  drm/i915: Make intel_modeset_fixup_state similar to the atomic helper.
  drm/i915: make plane helpers fully atomic
  drm/i915: Update less state during modeset.
  drm/i915: move swap_state to the right place
  drm/i915: Use hwmode for vblanks.
  drm/i915: Remove usage of crtc->config from i915_debugfs.c
  drm/i915: Remove use of crtc->config from intel_pm.c
  drm/i915: Remove use of crtc->config from intel_audio.c
  drm/i915: remove use of crtc->config from intel_fbc.c
  drm/i915: remove use of crtc->config from intel_atomic.c and
    intel_sprite.c
  drm/i915: Remove use of crtc->config from intel_overlay.c
  drm/i915: Pass old state to crtc_disable and use it.
  drm/i915: Pass old state to encoder->(post_)disable.
  drm/i915: Remove use of crtc->config from intel_fbdev.c
  drm/i915: Remove use of crtc->config from intel_psr.c
  drm/i915: Remove use of crtc->config from intel_ddi.c
  drm/i915: Remove use of crtc->config from intel_dp.c
  drm/i915: Remove use of crtc->config from intel_dp_mst.c
  drm/i915: Remove use of crtc->config from intel_dsi.c
  drm/i915: Remove use of crtc->config in intel_hdmi.c
  drm/i915: Remove use of crtc->config in intel_sdvo.c
  drm/i915: Calculate haswell plane workaround.
  drm/i915: remove crtc->active tracking completely
  drm/i915: get rid of crtc->config in intel_display.c, part 1
  drm/i915: get rid of crtc->config in intel_display.c, part 2
  drm/i915: get rid of crtc->config
  drm/i915: swap state correctly in intel_atomic_commit
  drm/i915: return early in __intel_set_mode_setup_plls without modeset

 drivers/gpu/drm/drm_atomic.c              |   91 +-
 drivers/gpu/drm/i915/i915_debugfs.c       |   50 +-
 drivers/gpu/drm/i915/i915_drv.h           |    5 +-
 drivers/gpu/drm/i915/i915_irq.c           |   13 +-
 drivers/gpu/drm/i915/intel_atomic.c       |   93 +-
 drivers/gpu/drm/i915/intel_atomic_plane.c |   59 +-
 drivers/gpu/drm/i915/intel_audio.c        |    2 +-
 drivers/gpu/drm/i915/intel_crt.c          |   21 +-
 drivers/gpu/drm/i915/intel_ddi.c          |   93 +-
 drivers/gpu/drm/i915/intel_display.c      | 2639 +++++++++++++++--------------
 drivers/gpu/drm/i915/intel_dp.c           |   86 +-
 drivers/gpu/drm/i915/intel_dp_mst.c       |   16 +-
 drivers/gpu/drm/i915/intel_drv.h          |   72 +-
 drivers/gpu/drm/i915/intel_dsi.c          |   25 +-
 drivers/gpu/drm/i915/intel_dvo.c          |   15 +-
 drivers/gpu/drm/i915/intel_fbc.c          |    8 +-
 drivers/gpu/drm/i915/intel_fbdev.c        |   19 +-
 drivers/gpu/drm/i915/intel_hdmi.c         |   78 +-
 drivers/gpu/drm/i915/intel_lvds.c         |   13 +-
 drivers/gpu/drm/i915/intel_overlay.c      |    8 +-
 drivers/gpu/drm/i915/intel_panel.c        |    3 +-
 drivers/gpu/drm/i915/intel_pm.c           |   96 +-
 drivers/gpu/drm/i915/intel_psr.c          |   25 +-
 drivers/gpu/drm/i915/intel_sdvo.c         |   22 +-
 drivers/gpu/drm/i915/intel_sprite.c       |   84 +-
 drivers/gpu/drm/i915/intel_tv.c           |    5 +-
 include/drm/drm_atomic.h                  |    4 +
 include/drm/drm_crtc.h                    |    4 +
 28 files changed, 1908 insertions(+), 1741 deletions(-)

-- 
2.1.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx





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