Hi 2012/8/19 Daniel Vetter <daniel.vetter at ffwll.ch>: > 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. I am currently using this branch and developing patches on top of it, so I'm reporting the problems I'm finding to Daniel and he's fixing them :) So for now I guess we can say: Being-tested-by: Paulo Zanoni <paulo.r.zanoni at intel.com> I read some of the patches and some of the code, but I did not carefully review all the patches (although I am developing display stuff on top of the branch), and I do like the idea of the branch, so at least: Acked-by: Paulo Zanoni <paulo.r.zanoni at intel.com> > > 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 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Paulo Zanoni