From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: Intel Graphics Development <intel-gfx@lists.freedesktop.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: [PATCH 00/58] modeset-rework, the basic conversion
Date: Sun, 19 Aug 2012 21:12:17 +0200 [thread overview]
Message-ID: <1345403595-9678-1-git-send-email-daniel.vetter@ffwll.ch> (raw)
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
next reply other threads:[~2012-08-19 20:20 UTC|newest]
Thread overview: 173+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-19 19:12 Daniel Vetter [this message]
2012-08-19 19:12 ` [PATCH 01/58] drm/i915: add crtc->enable/disable vfuncs insted of dpms Daniel Vetter
2012-08-29 17:51 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 02/58] drm/i915: rip out crtc prepare/commit indirection Daniel Vetter
2012-08-29 17:52 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 03/58] drm/i915: add direct encoder disable/enable infrastructure Daniel Vetter
2012-08-29 18:01 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 04/58] drm/i915/hdmi: convert to encoder->disable/enable Daniel Vetter
2012-09-04 19:24 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 05/58] drm/i915/tv: convert to encoder enable/disable Daniel Vetter
2012-09-04 19:25 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 06/58] drm/i915/lvds: convert to encoder disable/enable Daniel Vetter
2012-09-04 19:26 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 07/58] drm/i915/dp: " Daniel Vetter
2012-09-04 19:33 ` Jesse Barnes
2012-09-04 19:42 ` Daniel Vetter
2012-08-19 19:12 ` [PATCH 08/58] drm/i915/crt: " Daniel Vetter
2012-09-04 19:50 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 09/58] drm/i915/sdvo: " Daniel Vetter
2012-09-04 19:52 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 10/58] drm/i915/dvo: " Daniel Vetter
2012-09-04 19:53 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 11/58] drm/i915: convert dpms functions of dvo/sdvo/crt Daniel Vetter
2012-08-29 7:12 ` [PATCH] " Daniel Vetter
2012-09-04 20:10 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 12/58] drm/i915: rip out encoder->disable/enable checks Daniel Vetter
2012-09-04 20:11 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 13/58] drm/i915: clean up encoder_prepare/commit Daniel Vetter
2012-09-04 20:12 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 14/58] drm/i915: copy&paste drm_crtc_helper_set_config Daniel Vetter
2012-09-04 20:13 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 15/58] drm/i915: call set_base directly Daniel Vetter
2012-09-04 20:15 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 16/58] drm/i915: inline intel_best_encoder Daniel Vetter
2012-09-04 20:18 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 17/58] drm/i915: copy&paste drm_crtc_helper_set_mode Daniel Vetter
2012-09-04 20:19 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 18/58] drm/i915: simplify intel_crtc_prepare_encoders Daniel Vetter
2012-09-04 20:20 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 19/58] drm/i915: rip out encoder->prepare/commit Daniel Vetter
2012-09-04 20:21 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 20/58] drm/i915: call crtc functions directly Daniel Vetter
2012-09-04 20:22 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 21/58] drm/i915: WARN when trying to enabled an unused crtc Daniel Vetter
2012-09-04 20:23 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 22/58] drm/i915: Add interfaces to read out encoder/connector hw state Daniel Vetter
2012-09-04 20:25 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 23/58] drm/i915/dp: implement get_hw_state Daniel Vetter
2012-09-04 20:26 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 24/58] drm/i915/hdmi: " Daniel Vetter
2012-09-04 20:28 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 25/58] drm/i915/tv: " Daniel Vetter
2012-09-04 20:28 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 26/58] drm/i915/lvds: " Daniel Vetter
2012-09-04 20:28 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 27/58] drm/i915/crt: " Daniel Vetter
2012-09-04 20:29 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 28/58] drm/i915/sdvo: " Daniel Vetter
2012-09-04 20:31 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 29/58] drm/i915/dvo: " Daniel Vetter
2012-09-04 20:32 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 30/58] drm/i915: read out the modeset hw state at load and resume time Daniel Vetter
2012-09-05 16:14 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 31/58] drm/i915: check connector hw/sw state Daniel Vetter
2012-09-05 16:26 ` Jesse Barnes
2012-09-05 19:10 ` Daniel Vetter
2012-08-19 19:12 ` [PATCH 32/58] drm/i915: rip out intel_crtc->dpms_mode Daniel Vetter
2012-09-05 16:27 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 33/58] drm/i915: rip out intel_dp->dpms_mode Daniel Vetter
2012-09-05 16:28 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 34/58] drm/i915: ensure the force pipe A quirk is actually followed Daniel Vetter
2012-09-05 16:32 ` Jesse Barnes
2012-09-05 19:12 ` Daniel Vetter
2012-08-19 19:12 ` [PATCH 35/58] drm/i915: introduce struct intel_set_config Daniel Vetter
2012-09-05 16:34 ` Jesse Barnes
2012-09-05 19:27 ` Daniel Vetter
2012-08-19 19:12 ` [PATCH 36/58] drm/i915: extract modeset config save/restore code Daniel Vetter
2012-09-05 16:36 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 37/58] drm/i915: extract intel_set_config_compute_mode_changes Daniel Vetter
2012-09-05 16:42 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 38/58] drm/i915: extract intel_set_config_update_output_state Daniel Vetter
2012-09-05 16:44 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 39/58] drm/i915: implement crtc helper semantics relied upon by the fb helper Daniel Vetter
2012-09-05 16:45 ` Jesse Barnes
2012-09-05 19:15 ` Daniel Vetter
2012-08-19 19:12 ` [PATCH 40/58] drm/i915: don't update the fb base if there is no fb Daniel Vetter
2012-09-05 16:47 ` Jesse Barnes
2012-08-19 19:12 ` [PATCH 41/58] drm/i915: convert pointless error checks in set_config to BUGs Daniel Vetter
2012-09-05 16:50 ` Jesse Barnes
2012-09-05 19:19 ` Daniel Vetter
2012-08-19 19:12 ` [PATCH 42/58] drm/i915: don't save all the encoder/crtc state in set_config Daniel Vetter
2012-09-05 16:52 ` Jesse Barnes
2012-09-05 19:21 ` Daniel Vetter
2012-08-19 19:13 ` [PATCH 43/58] drm/i915: stage modeset output changes Daniel Vetter
2012-09-05 17:51 ` Jesse Barnes
2012-08-19 19:13 ` [PATCH 44/58] drm/i915: push crtc->fb update into pipe_set_base Daniel Vetter
2012-09-04 19:33 ` [PATCH] " Daniel Vetter
2012-09-05 17:55 ` Jesse Barnes
2012-09-05 19:59 ` Daniel Vetter
2012-09-05 17:54 ` [PATCH 44/58] " Jesse Barnes
2012-08-19 19:13 ` [PATCH 45/58] drm/i915: remove crtc disabling special case Daniel Vetter
2012-09-05 17:56 ` Jesse Barnes
2012-08-19 19:13 ` [PATCH 46/58] drm/i915: move output commit and crtc disabling into set_mode Daniel Vetter
2012-09-05 17:58 ` Jesse Barnes
2012-08-19 19:13 ` [PATCH 47/58] drm/i915: extract adjusted mode computation Daniel Vetter
2012-09-05 18:00 ` Jesse Barnes
2012-09-05 19:30 ` Daniel Vetter
2012-08-19 19:13 ` [PATCH 48/58] drm/i915: use staged outuput config in tv->mode_fixup Daniel Vetter
2012-09-05 18:02 ` Jesse Barnes
2012-09-06 7:30 ` Daniel Vetter
2012-08-19 19:13 ` [PATCH 49/58] drm/i915: use staged outuput config in lvds->mode_fixup Daniel Vetter
2012-09-05 18:02 ` Jesse Barnes
2012-08-19 19:13 ` [PATCH 50/58] drm/i915: compute masks of crtcs affected in set_mode Daniel Vetter
2012-08-29 10:34 ` [PATCH] " Daniel Vetter
2012-09-05 18:09 ` Jesse Barnes
2012-09-05 19:38 ` Daniel Vetter
2012-09-05 19:45 ` Jesse Barnes
2012-09-05 18:07 ` [PATCH 50/58] " Jesse Barnes
2012-08-19 19:13 ` [PATCH 51/58] drm/i915: implement new set_mode code flow Daniel Vetter
2012-09-05 18:14 ` Jesse Barnes
2012-09-05 19:43 ` Daniel Vetter
2012-09-05 19:49 ` Jesse Barnes
2012-08-19 19:13 ` [PATCH 52/58] drm/i915: push commit_output_state past crtc disabling Daniel Vetter
2012-09-05 18:17 ` Jesse Barnes
2012-08-19 19:13 ` [PATCH 53/58] drm/i915: s/intel_encoder_disable/intel_encoder_noop Daniel Vetter
2012-09-05 18:17 ` Jesse Barnes
2012-08-19 19:13 ` [PATCH 54/58] drm/i915: WARN if the pipe won't turn off Daniel Vetter
2012-09-05 18:18 ` Jesse Barnes
2012-08-19 19:13 ` [PATCH 55/58] drm/i915: switch the load detect code to the staged modeset config Daniel Vetter
2012-09-05 18:19 ` Jesse Barnes
2012-08-19 19:13 ` [PATCH 56/58] drm/i915: push commit_output_state past the crtc/encoder preparing Daniel Vetter
2012-08-31 18:12 ` [PATCH] " Daniel Vetter
2012-09-04 19:32 ` Daniel Vetter
2012-09-05 18:28 ` Jesse Barnes
2012-09-05 19:48 ` Daniel Vetter
2012-09-05 18:56 ` [PATCH] drm/i915: push crtc->fb update into pipe_set_base Daniel Vetter
2012-09-05 19:50 ` [PATCH] drm/i915: push commit_output_state past the crtc/encoder preparing Jesse Barnes
2012-09-06 20:46 ` Jesse Barnes
2012-08-19 19:13 ` [PATCH 57/58] drm/i915: disable all crtcs at suspend time Daniel Vetter
2012-08-29 21:13 ` [PATCH] drm/i915: no longer call drm_helper_resume_force_mode Daniel Vetter
2012-09-05 18:31 ` Jesse Barnes
2012-09-05 19:56 ` Daniel Vetter
2012-09-05 20:04 ` Jesse Barnes
2012-09-06 20:47 ` Jesse Barnes
2012-09-05 18:29 ` [PATCH 57/58] drm/i915: disable all crtcs at suspend time Jesse Barnes
2012-08-19 19:13 ` [PATCH 58/58] drm/i915: add tons of modeset state checks Daniel Vetter
2012-08-20 8:24 ` [PATCH] " Daniel Vetter
2012-08-20 12:22 ` Daniel Vetter
2012-08-31 18:12 ` [PATCH 1/2] " Daniel Vetter
2012-08-31 18:12 ` [PATCH 2/2] drm/i915: improve modeset state checking after dpms calls Daniel Vetter
2012-09-05 18:34 ` Jesse Barnes
2012-09-05 18:33 ` [PATCH 1/2] drm/i915: add tons of modeset state checks Jesse Barnes
2012-08-20 13:17 ` [PATCH 00/58] modeset-rework, the basic conversion Jani Nikula
2012-08-21 3:27 ` Ben Widawsky
2012-08-21 17:48 ` Lespiau, Damien
2012-08-21 18:11 ` Daniel Vetter
2012-08-22 10:46 ` Lespiau, Damien
2012-08-22 11:03 ` Lespiau, Damien
2012-08-22 19:13 ` Lespiau, Damien
2012-08-22 21:21 ` Daniel Vetter
2012-08-23 12:26 ` Lespiau, Damien
2012-08-23 22:39 ` Daniel Vetter
2012-08-29 12:26 ` Lespiau, Damien
2012-08-30 10:40 ` Rodrigo Vivi
2012-08-21 19:48 ` Chris Wilson
2012-08-27 8:04 ` Vijay Purushothaman
2012-09-03 17:50 ` Paulo Zanoni
2012-09-05 23:23 ` Jesse Barnes
2012-09-06 6:55 ` Daniel Vetter
2012-09-06 7:23 ` Daniel Vetter
2012-09-07 1:08 ` Jesse Barnes
2012-09-07 8:55 ` Daniel Vetter
2012-09-06 21:00 ` Daniel Vetter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1345403595-9678-1-git-send-email-daniel.vetter@ffwll.ch \
--to=daniel.vetter@ffwll.ch \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.