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

Vijay Purushothaman vijay.a.purushothaman at intel.com
Mon Aug 27 10:04:33 CEST 2012


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 <vijay.a.purushothaman at intel.com>
Acked-by: Vijay Purushothaman <vijay.a.purushothaman at intel.com>


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




More information about the Intel-gfx mailing list