From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 00/76] modeset rework, lightly reworked Date: Thu, 26 Jul 2012 20:48:25 +0200 Message-ID: <1343328581-2324-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-we0-f177.google.com (mail-we0-f177.google.com [74.125.82.177]) by gabe.freedesktop.org (Postfix) with ESMTP id 36CEFA0E7E for ; Thu, 26 Jul 2012 12:56:06 -0700 (PDT) Received: by weyr3 with SMTP id r3so1738755wey.36 for ; Thu, 26 Jul 2012 12:56:05 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Intel Graphics Development Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org Hi all, Mostly just rebased, but a few bikesheds from Paulo incorporated. I've also moved the patches that can go in early to the front (the first 8 patches). Bigger changes since last time around: - added support for the newly merged ns2501 dvo controller - s/intel_crtc_set_mode/intel_set_mode/ - fixed up a fb helper issue that Paulo has hit Not tested on my full set of machines, so if I'm a doofus I've botched it up with a rebase mistake somewhere. Review, flames and test reports highly welcome. /me heads off Cheers, Daniel Daniel Vetter (76): drm/fb-helper: don't clobber output routing in setup_crtcs drm/i915: add missing gen2 pipe A quirk entries drm/i915/ns2501: kill pll A enabling hack drm/i915: rip out the overlay pipe A workaround drm/i915: prepare load-detect pipe code for dpms changes drm/i915: simplify dvo dpms interface drm/i915: kill a few unused things in dev_priv drm/i915: extract ironlake_fdi_pll_disable 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 drm/i915: rip out intel_disable_pch_ports drm/i915: don't disable fdi links harder in ilk_crtc_enable drm/i915: don't call dpms funcs after set_mode drm/i915: update dpms property in set_mode drm/i915: add encoder->pre_enable/post_disable drm/i915: clean up the cpu edp pll special case drm/i915: robustify edp_pll_on/off drm/i915: rip out dp port enabling cludges^Wchecks drm/i915: disable the cpu edp port after the cpu pipe drm/i915: move encoder->mode_set calls to crtc_mode_set drivers/gpu/drm/drm_fb_helper.c | 6 - drivers/gpu/drm/i915/dvo.h | 15 +- drivers/gpu/drm/i915/dvo_ch7017.c | 21 +- drivers/gpu/drm/i915/dvo_ch7xxx.c | 17 +- drivers/gpu/drm/i915/dvo_ivch.c | 23 +- drivers/gpu/drm/i915/dvo_ns2501.c | 36 +- drivers/gpu/drm/i915/dvo_sil164.c | 20 +- drivers/gpu/drm/i915/dvo_tfp410.c | 18 +- drivers/gpu/drm/i915/i915_dma.c | 22 +- drivers/gpu/drm/i915/i915_drv.c | 4 + drivers/gpu/drm/i915/i915_drv.h | 17 +- 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 | 1552 +++++++++++++++++++++++++++------- drivers/gpu/drm/i915/intel_dp.c | 206 +++-- drivers/gpu/drm/i915/intel_drv.h | 66 +- drivers/gpu/drm/i915/intel_dvo.c | 98 ++- drivers/gpu/drm/i915/intel_hdmi.c | 151 +++- drivers/gpu/drm/i915/intel_lvds.c | 95 +-- drivers/gpu/drm/i915/intel_overlay.c | 58 +- drivers/gpu/drm/i915/intel_sdvo.c | 164 +++- drivers/gpu/drm/i915/intel_tv.c | 61 +- 23 files changed, 2111 insertions(+), 736 deletions(-) -- 1.7.10.4