diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-06-05 07:34:18 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-06-12 15:31:39 -0400 |
commit | 91d1b4bd14fd0bfe87e91a0fd115fcc15c9c9cc5 (patch) | |
tree | e1c69165b49814e695f43495d52b488c0ee99996 /drivers/gpu/drm/i915/intel_display.c | |
parent | 30e984df4c5633363b45108473b0561e7d89476d (diff) |
drm/i915: split up intel_modeset_check_state
Simply grew too large and needed to be split up into parts.
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 44 |
1 files changed, 36 insertions, 8 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 34ddd6f7c31d..0eea23a21f86 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -8138,16 +8138,10 @@ intel_pipe_config_compare(struct drm_device *dev, | |||
8138 | return true; | 8138 | return true; |
8139 | } | 8139 | } |
8140 | 8140 | ||
8141 | void | 8141 | static void |
8142 | intel_modeset_check_state(struct drm_device *dev) | 8142 | check_connector_state(struct drm_device *dev) |
8143 | { | 8143 | { |
8144 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
8145 | struct intel_crtc *crtc; | ||
8146 | struct intel_encoder *encoder; | ||
8147 | struct intel_connector *connector; | 8144 | struct intel_connector *connector; |
8148 | struct intel_crtc_config pipe_config; | ||
8149 | struct intel_dpll_hw_state dpll_hw_state; | ||
8150 | int i; | ||
8151 | 8145 | ||
8152 | list_for_each_entry(connector, &dev->mode_config.connector_list, | 8146 | list_for_each_entry(connector, &dev->mode_config.connector_list, |
8153 | base.head) { | 8147 | base.head) { |
@@ -8158,6 +8152,13 @@ intel_modeset_check_state(struct drm_device *dev) | |||
8158 | WARN(&connector->new_encoder->base != connector->base.encoder, | 8152 | WARN(&connector->new_encoder->base != connector->base.encoder, |
8159 | "connector's staged encoder doesn't match current encoder\n"); | 8153 | "connector's staged encoder doesn't match current encoder\n"); |
8160 | } | 8154 | } |
8155 | } | ||
8156 | |||
8157 | static void | ||
8158 | check_encoder_state(struct drm_device *dev) | ||
8159 | { | ||
8160 | struct intel_encoder *encoder; | ||
8161 | struct intel_connector *connector; | ||
8161 | 8162 | ||
8162 | list_for_each_entry(encoder, &dev->mode_config.encoder_list, | 8163 | list_for_each_entry(encoder, &dev->mode_config.encoder_list, |
8163 | base.head) { | 8164 | base.head) { |
@@ -8209,6 +8210,15 @@ intel_modeset_check_state(struct drm_device *dev) | |||
8209 | tracked_pipe, pipe); | 8210 | tracked_pipe, pipe); |
8210 | 8211 | ||
8211 | } | 8212 | } |
8213 | } | ||
8214 | |||
8215 | static void | ||
8216 | check_crtc_state(struct drm_device *dev) | ||
8217 | { | ||
8218 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
8219 | struct intel_crtc *crtc; | ||
8220 | struct intel_encoder *encoder; | ||
8221 | struct intel_crtc_config pipe_config; | ||
8212 | 8222 | ||
8213 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, | 8223 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, |
8214 | base.head) { | 8224 | base.head) { |
@@ -8262,6 +8272,15 @@ intel_modeset_check_state(struct drm_device *dev) | |||
8262 | "[sw state]"); | 8272 | "[sw state]"); |
8263 | } | 8273 | } |
8264 | } | 8274 | } |
8275 | } | ||
8276 | |||
8277 | static void | ||
8278 | check_shared_dpll_state(struct drm_device *dev) | ||
8279 | { | ||
8280 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
8281 | struct intel_crtc *crtc; | ||
8282 | struct intel_dpll_hw_state dpll_hw_state; | ||
8283 | int i; | ||
8265 | 8284 | ||
8266 | for (i = 0; i < dev_priv->num_shared_dpll; i++) { | 8285 | for (i = 0; i < dev_priv->num_shared_dpll; i++) { |
8267 | struct intel_shared_dpll *pll = &dev_priv->shared_dplls[i]; | 8286 | struct intel_shared_dpll *pll = &dev_priv->shared_dplls[i]; |
@@ -8299,6 +8318,15 @@ intel_modeset_check_state(struct drm_device *dev) | |||
8299 | } | 8318 | } |
8300 | } | 8319 | } |
8301 | 8320 | ||
8321 | void | ||
8322 | intel_modeset_check_state(struct drm_device *dev) | ||
8323 | { | ||
8324 | check_connector_state(dev); | ||
8325 | check_encoder_state(dev); | ||
8326 | check_crtc_state(dev); | ||
8327 | check_shared_dpll_state(dev); | ||
8328 | } | ||
8329 | |||
8302 | static int __intel_set_mode(struct drm_crtc *crtc, | 8330 | static int __intel_set_mode(struct drm_crtc *crtc, |
8303 | struct drm_display_mode *mode, | 8331 | struct drm_display_mode *mode, |
8304 | int x, int y, struct drm_framebuffer *fb) | 8332 | int x, int y, struct drm_framebuffer *fb) |