On 8/20/2012 12:42 AM, Daniel Vetter wrote:
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

Tested Valleyview X0 eDP, DP, HDMI and VGA before the rebase.

Dual display is still work in progress for Valleyview. So, i did not test the combinations like VGA+HDMI or VGA+DP.

Tested-by: Vijay Purushothaman <[email protected]>
Acked-by: Vijay Purushothaman <[email protected]>


Thanks,
Vijay

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(-)


_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to