[Intel-gfx] [PATCH 00/58] modeset-rework, the basic conversion

Daniel Vetter daniel.vetter at ffwll.ch
Sun Aug 19 21:12:17 CEST 2012


Hi all,

Changes since last time around:
- The prep patches are all merged now.
- I've left out the actual DP fixes/cleanups, I think we should merge those in a
  separte step.
- A few bugfixes (thanks to Paulo, Jani and Chris).
- I've also applied a few bikesheds for naming that Paulo suggested (but I'm not
  sure whether I've sent those out already in a previous patchbomb).

Essentially this is just the core rework, which addes the new get_hw_state code,
refactors all the encoders to use the new functions and finally reworks the
modeset logic to disable/enable entire pipes, always (and with a deterministic
order).

For merging to -next, I plan to pull in everything with a real merge commit. For
that reason I've put up a modeset-rework-base branch onto my private fdo repo[1].
That way I can put a short documentation for the new modeset design into the
merge commit (stichted together from the previous patchbomb cover letters),
documenting my folly assumptions for eternity.

I'll also plan to put tags for the entire series in the merge commit, so if you
have tested this on a few machines, read through and agree with the new designs,
please reply with your tested-by/acked-by/reviewed-by tags.

Flames, comments and test reports highly welcome.

Cheers, Daniel

[1] http://cgit.freedesktop.org/~danvet/drm/log/?h=modeset-rework-base

Daniel Vetter (58):
  drm/i915: add crtc->enable/disable vfuncs insted of dpms
  drm/i915: rip out crtc prepare/commit indirection
  drm/i915: add direct encoder disable/enable infrastructure
  drm/i915/hdmi: convert to encoder->disable/enable
  drm/i915/tv: convert to encoder enable/disable
  drm/i915/lvds: convert to encoder disable/enable
  drm/i915/dp: convert to encoder disable/enable
  drm/i915/crt: convert to encoder disable/enable
  drm/i915/sdvo: convert to encoder disable/enable
  drm/i915/dvo: convert to encoder disable/enable
  drm/i915: convert dpms functions of dvo/sdvo/crt
  drm/i915: rip out encoder->disable/enable checks
  drm/i915: clean up encoder_prepare/commit
  drm/i915: copy&paste drm_crtc_helper_set_config
  drm/i915: call set_base directly
  drm/i915: inline intel_best_encoder
  drm/i915: copy&paste drm_crtc_helper_set_mode
  drm/i915: simplify intel_crtc_prepare_encoders
  drm/i915: rip out encoder->prepare/commit
  drm/i915: call crtc functions directly
  drm/i915: WARN when trying to enabled an unused crtc
  drm/i915: Add interfaces to read out encoder/connector hw state
  drm/i915/dp: implement get_hw_state
  drm/i915/hdmi: implement get_hw_state
  drm/i915/tv: implement get_hw_state
  drm/i915/lvds: implement get_hw_state
  drm/i915/crt: implement get_hw_state
  drm/i915/sdvo: implement get_hw_state
  drm/i915/dvo: implement get_hw_state
  drm/i915: read out the modeset hw state at load and resume time
  drm/i915: check connector hw/sw state
  drm/i915: rip out intel_crtc->dpms_mode
  drm/i915: rip out intel_dp->dpms_mode
  drm/i915: ensure the force pipe A quirk is actually followed
  drm/i915: introduce struct intel_set_config
  drm/i915: extract modeset config save/restore code
  drm/i915: extract intel_set_config_compute_mode_changes
  drm/i915: extract intel_set_config_update_output_state
  drm/i915: implement crtc helper semantics relied upon by the fb
    helper
  drm/i915: don't update the fb base if there is no fb
  drm/i915: convert pointless error checks in set_config to BUGs
  drm/i915: don't save all the encoder/crtc state in set_config
  drm/i915: stage modeset output changes
  drm/i915: push crtc->fb update into pipe_set_base
  drm/i915: remove crtc disabling special case
  drm/i915: move output commit and crtc disabling into set_mode
  drm/i915: extract adjusted mode computation
  drm/i915: use staged outuput config in tv->mode_fixup
  drm/i915: use staged outuput config in lvds->mode_fixup
  drm/i915: compute masks of crtcs affected in set_mode
  drm/i915: implement new set_mode code flow
  drm/i915: push commit_output_state past crtc disabling
  drm/i915: s/intel_encoder_disable/intel_encoder_noop
  drm/i915: WARN if the pipe won't turn off
  drm/i915: switch the load detect code to the staged modeset config
  drm/i915: push commit_output_state past the crtc/encoder preparing
  drm/i915: disable all crtcs at suspend time
  drm/i915: add tons of modeset state checks

 drivers/gpu/drm/i915/dvo.h           |    6 +
 drivers/gpu/drm/i915/dvo_ch7017.c    |   13 +
 drivers/gpu/drm/i915/dvo_ch7xxx.c    |   13 +
 drivers/gpu/drm/i915/dvo_ivch.c      |   15 +
 drivers/gpu/drm/i915/dvo_ns2501.c    |   15 +
 drivers/gpu/drm/i915/dvo_sil164.c    |   16 +
 drivers/gpu/drm/i915/dvo_tfp410.c    |   14 +
 drivers/gpu/drm/i915/i915_drv.c      |    4 +
 drivers/gpu/drm/i915/i915_drv.h      |    4 +-
 drivers/gpu/drm/i915/i915_reg.h      |    2 +
 drivers/gpu/drm/i915/intel_crt.c     |  136 ++-
 drivers/gpu/drm/i915/intel_ddi.c     |   59 +-
 drivers/gpu/drm/i915/intel_display.c | 1499 ++++++++++++++++++++++++++++------
 drivers/gpu/drm/i915/intel_dp.c      |  144 ++--
 drivers/gpu/drm/i915/intel_drv.h     |   64 +-
 drivers/gpu/drm/i915/intel_dvo.c     |   94 ++-
 drivers/gpu/drm/i915/intel_hdmi.c    |  151 +++-
 drivers/gpu/drm/i915/intel_lvds.c    |   95 +--
 drivers/gpu/drm/i915/intel_sdvo.c    |  164 +++-
 drivers/gpu/drm/i915/intel_tv.c      |   61 +-
 20 files changed, 2044 insertions(+), 525 deletions(-)

-- 
1.7.11.2




More information about the Intel-gfx mailing list