[Intel-gfx] [PATCH v2 00/27] Convert to atomic, part 3.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Thu Jun 4 05:47:30 PDT 2015


This patch requires the following patch from airlied/drm-next:
"[PATCH] drm/atomic: Clear crtc_state->active in drm_atomic_helper_set_config."

Now that suspend/restore is atomic it's time to clean up some
remaining issues. First I clean up the suspend code some more now
that it's atomic.

After that I try to make a better separation between checking and
modeset. This meant that intel_modeset_pipe_config should no longer
touch mode_changed, because it will only be called when a modeset
will already happen to prevent excessive rechecking.

I also clean up the scaler stuff slightly, and move some of it to the
crtc state. Because of feedback on my previous series I'll always add
the plane, instead of handling switching from/to hq mode by waiting
poking scaler 0.

After that it's time to clean up the plane functions, and making sure
the atomic commit runs correctly. This has gone through many
iterations, and I think the way here is the most clean way to deal
with it.

Disabling all planes before a modeset, and committing after, even
if the crtc is in a disabled state provided the most flexibility.
The last callers of the transitional plane helpers are killed, and
intel_set_mode becomes the replacement intel_atomic_commit.

Changes since previous version:
 - Disable all unknown planes correctly by forcing it with a quirk,
  even if sprites were previously enabled it should work without
  requiring a full modeset.
 - Add a plane in the intel_atomic_setup_scalers function again,
   not adding a plane was too tricky.
 - Reorder plane cleanups, 'atomic plane updates in a nutshell'
   is even less scary now.
 - Disable skylake scalers during vblank evasion.

Maarten Lankhorst (27):
  drm/i915: Always reset in intel_crtc_restore_mode
  drm/i915: Use crtc state in intel_modeset_pipe_config
  drm/i915: clean up intel_sanitize_crtc, v2
  drm/i915: Update power domains only on affected crtc's.
  drm/i915: add fastboot checks for has_audio and has_infoframe
  drm/i915: Clean up intel_atomic_setup_scalers slightly.
  drm/i915: Add a simple atomic crtc check function, v2.
  drm/i915: Move scaler setup to check crtc function, v2.
  drm/i915: Assign a new pll from the crtc check function.
  drm/i915: Do not run most checks when there's no modeset.
  drm/i915: Split skl_update_scaler, v2.
  drm/i915: Split plane updates of crtc->atomic into a helper, v2.
  drm/i915: clean up plane commit functions
  drm/i915: clean up atomic plane check functions
  drm/i915: remove force argument from disable_plane
  drm/i915: move detaching scalers to begin_crtc_commit, v2.
  drm/i915: Move crtc commit updates to separate functions.
  drm/i915: Handle disabling planes better.
  drm/i915: atomic plane updates in a nutshell
  drm/i915: Update less state during modeset.
  drm/i915: get rid of intel_plane_restore in intel_crtc_page_flip
  drm/i915: Make setting color key atomic.
  drm/i915: Remove transitional references from
    intel_plane_atomic_check.
  drm/i915: Use full atomic modeset.
  drm/i915: Call plane update functions directly from
    intel_atomic_commit.
  drm/i915: always disable irqs in intel_pipe_update_start
  drm/i915: Only commit planes on crtc's that have changed planes.

 drivers/gpu/drm/i915/i915_debugfs.c       |    8 +-
 drivers/gpu/drm/i915/i915_drv.c           |    3 -
 drivers/gpu/drm/i915/intel_atomic.c       |  159 +--
 drivers/gpu/drm/i915/intel_atomic_plane.c |   44 +-
 drivers/gpu/drm/i915/intel_display.c      | 1815 +++++++++++++----------------
 drivers/gpu/drm/i915/intel_dp.c           |    2 +-
 drivers/gpu/drm/i915/intel_drv.h          |   41 +-
 drivers/gpu/drm/i915/intel_sprite.c       |  191 ++-
 8 files changed, 937 insertions(+), 1326 deletions(-)

-- 
2.1.0



More information about the Intel-gfx mailing list