Commit b980514c authored by Daniel Vetter's avatar Daniel Vetter

drm/i915: improve modeset state checking after dpms calls

Now that we have solid modeset state tracking and checking code in
place, we can do the Full Monty also after dpms calls.
Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 8af6cf88
...@@ -177,7 +177,7 @@ static void intel_crt_dpms(struct drm_connector *connector, int mode) ...@@ -177,7 +177,7 @@ static void intel_crt_dpms(struct drm_connector *connector, int mode)
intel_crtc_update_dpms(crtc); intel_crtc_update_dpms(crtc);
} }
intel_connector_check_state(to_intel_connector(connector)); intel_modeset_check_state(connector->dev);
} }
static int intel_crt_mode_valid(struct drm_connector *connector, static int intel_crt_mode_valid(struct drm_connector *connector,
......
...@@ -3585,7 +3585,7 @@ void intel_encoder_dpms(struct intel_encoder *encoder, int mode) ...@@ -3585,7 +3585,7 @@ void intel_encoder_dpms(struct intel_encoder *encoder, int mode)
/* Cross check the actual hw state with our own modeset state tracking (and it's /* Cross check the actual hw state with our own modeset state tracking (and it's
* internal consistency). */ * internal consistency). */
void intel_connector_check_state(struct intel_connector *connector) static void intel_connector_check_state(struct intel_connector *connector)
{ {
if (connector->get_hw_state(connector)) { if (connector->get_hw_state(connector)) {
struct intel_encoder *encoder = connector->encoder; struct intel_encoder *encoder = connector->encoder;
...@@ -3639,7 +3639,7 @@ void intel_connector_dpms(struct drm_connector *connector, int mode) ...@@ -3639,7 +3639,7 @@ void intel_connector_dpms(struct drm_connector *connector, int mode)
else else
WARN_ON(encoder->connectors_active != false); WARN_ON(encoder->connectors_active != false);
intel_connector_check_state(to_intel_connector(connector)); intel_modeset_check_state(connector->dev);
} }
/* Simple connector->get_hw_state implementation for encoders that support only /* Simple connector->get_hw_state implementation for encoders that support only
...@@ -6872,7 +6872,7 @@ intel_modeset_update_state(struct drm_device *dev, unsigned prepare_pipes) ...@@ -6872,7 +6872,7 @@ intel_modeset_update_state(struct drm_device *dev, unsigned prepare_pipes)
base.head) \ base.head) \
if (mask & (1 <<(intel_crtc)->pipe)) \ if (mask & (1 <<(intel_crtc)->pipe)) \
static void void
intel_modeset_check_state(struct drm_device *dev) intel_modeset_check_state(struct drm_device *dev)
{ {
struct intel_crtc *crtc; struct intel_crtc *crtc;
......
...@@ -1362,7 +1362,7 @@ intel_dp_dpms(struct drm_connector *connector, int mode) ...@@ -1362,7 +1362,7 @@ intel_dp_dpms(struct drm_connector *connector, int mode)
intel_encoder_dpms(&intel_dp->base, mode); intel_encoder_dpms(&intel_dp->base, mode);
} }
intel_connector_check_state(to_intel_connector(connector)); intel_modeset_check_state(connector->dev);
} }
/* /*
......
...@@ -455,7 +455,8 @@ extern void intel_encoder_dpms(struct intel_encoder *encoder, int mode); ...@@ -455,7 +455,8 @@ extern void intel_encoder_dpms(struct intel_encoder *encoder, int mode);
extern bool intel_encoder_check_is_cloned(struct intel_encoder *encoder); extern bool intel_encoder_check_is_cloned(struct intel_encoder *encoder);
extern void intel_connector_dpms(struct drm_connector *, int mode); extern void intel_connector_dpms(struct drm_connector *, int mode);
extern bool intel_connector_get_hw_state(struct intel_connector *connector); extern bool intel_connector_get_hw_state(struct intel_connector *connector);
extern void intel_connector_check_state(struct intel_connector *); extern void intel_modeset_check_state(struct drm_device *dev);
static inline struct intel_encoder *intel_attached_encoder(struct drm_connector *connector) static inline struct intel_encoder *intel_attached_encoder(struct drm_connector *connector)
{ {
......
...@@ -189,7 +189,7 @@ static void intel_dvo_dpms(struct drm_connector *connector, int mode) ...@@ -189,7 +189,7 @@ static void intel_dvo_dpms(struct drm_connector *connector, int mode)
intel_crtc_update_dpms(crtc); intel_crtc_update_dpms(crtc);
} }
intel_connector_check_state(to_intel_connector(connector)); intel_modeset_check_state(connector->dev);
} }
static int intel_dvo_mode_valid(struct drm_connector *connector, static int intel_dvo_mode_valid(struct drm_connector *connector,
......
...@@ -1275,7 +1275,7 @@ static void intel_sdvo_dpms(struct drm_connector *connector, int mode) ...@@ -1275,7 +1275,7 @@ static void intel_sdvo_dpms(struct drm_connector *connector, int mode)
intel_sdvo_set_active_outputs(intel_sdvo, intel_sdvo->attached_output); intel_sdvo_set_active_outputs(intel_sdvo, intel_sdvo->attached_output);
} }
intel_connector_check_state(to_intel_connector(connector)); intel_modeset_check_state(connector->dev);
} }
static int intel_sdvo_mode_valid(struct drm_connector *connector, static int intel_sdvo_mode_valid(struct drm_connector *connector,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment