|
@@ -6215,36 +6215,6 @@ cleanup_work:
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-static void intel_crtc_reset(struct drm_crtc *crtc)
|
|
|
-{
|
|
|
- struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
|
|
|
-
|
|
|
- /* Reset flags back to the 'unknown' status so that they
|
|
|
- * will be correctly set on the initial modeset.
|
|
|
- */
|
|
|
- intel_crtc->dpms_mode = -1;
|
|
|
-}
|
|
|
-
|
|
|
-static struct drm_crtc_helper_funcs intel_helper_funcs = {
|
|
|
- .dpms = intel_crtc_dpms,
|
|
|
- .mode_fixup = intel_crtc_mode_fixup,
|
|
|
- .mode_set = intel_crtc_mode_set,
|
|
|
- .mode_set_base = intel_pipe_set_base,
|
|
|
- .mode_set_base_atomic = intel_pipe_set_base_atomic,
|
|
|
- .load_lut = intel_crtc_load_lut,
|
|
|
- .disable = intel_crtc_disable,
|
|
|
-};
|
|
|
-
|
|
|
-static const struct drm_crtc_funcs intel_crtc_funcs = {
|
|
|
- .reset = intel_crtc_reset,
|
|
|
- .cursor_set = intel_crtc_cursor_set,
|
|
|
- .cursor_move = intel_crtc_cursor_move,
|
|
|
- .gamma_set = intel_crtc_gamma_set,
|
|
|
- .set_config = drm_crtc_helper_set_config,
|
|
|
- .destroy = intel_crtc_destroy,
|
|
|
- .page_flip = intel_crtc_page_flip,
|
|
|
-};
|
|
|
-
|
|
|
static void intel_sanitize_modesetting(struct drm_device *dev,
|
|
|
int pipe, int plane)
|
|
|
{
|
|
@@ -6281,6 +6251,42 @@ static void intel_sanitize_modesetting(struct drm_device *dev,
|
|
|
intel_disable_pipe(dev_priv, pipe);
|
|
|
}
|
|
|
|
|
|
+static void intel_crtc_reset(struct drm_crtc *crtc)
|
|
|
+{
|
|
|
+ struct drm_device *dev = crtc->dev;
|
|
|
+ struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
|
|
|
+
|
|
|
+ /* Reset flags back to the 'unknown' status so that they
|
|
|
+ * will be correctly set on the initial modeset.
|
|
|
+ */
|
|
|
+ intel_crtc->dpms_mode = -1;
|
|
|
+
|
|
|
+ /* We need to fix up any BIOS configuration that conflicts with
|
|
|
+ * our expectations.
|
|
|
+ */
|
|
|
+ intel_sanitize_modesetting(dev, intel_crtc->pipe, intel_crtc->plane);
|
|
|
+}
|
|
|
+
|
|
|
+static struct drm_crtc_helper_funcs intel_helper_funcs = {
|
|
|
+ .dpms = intel_crtc_dpms,
|
|
|
+ .mode_fixup = intel_crtc_mode_fixup,
|
|
|
+ .mode_set = intel_crtc_mode_set,
|
|
|
+ .mode_set_base = intel_pipe_set_base,
|
|
|
+ .mode_set_base_atomic = intel_pipe_set_base_atomic,
|
|
|
+ .load_lut = intel_crtc_load_lut,
|
|
|
+ .disable = intel_crtc_disable,
|
|
|
+};
|
|
|
+
|
|
|
+static const struct drm_crtc_funcs intel_crtc_funcs = {
|
|
|
+ .reset = intel_crtc_reset,
|
|
|
+ .cursor_set = intel_crtc_cursor_set,
|
|
|
+ .cursor_move = intel_crtc_cursor_move,
|
|
|
+ .gamma_set = intel_crtc_gamma_set,
|
|
|
+ .set_config = drm_crtc_helper_set_config,
|
|
|
+ .destroy = intel_crtc_destroy,
|
|
|
+ .page_flip = intel_crtc_page_flip,
|
|
|
+};
|
|
|
+
|
|
|
static void intel_crtc_init(struct drm_device *dev, int pipe)
|
|
|
{
|
|
|
drm_i915_private_t *dev_priv = dev->dev_private;
|
|
@@ -6330,8 +6336,6 @@ static void intel_crtc_init(struct drm_device *dev, int pipe)
|
|
|
|
|
|
setup_timer(&intel_crtc->idle_timer, intel_crtc_idle_timer,
|
|
|
(unsigned long)intel_crtc);
|
|
|
-
|
|
|
- intel_sanitize_modesetting(dev, intel_crtc->pipe, intel_crtc->plane);
|
|
|
}
|
|
|
|
|
|
int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data,
|