Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i915: Pass atomic state to verify_connector_state

This gets rid of a warning that the connectors are used without locking
when doing a nonblocking modeset.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1478609742-13603-11-git-send-email-maarten.lankhorst@linux.intel.com

+15 -9
+15 -9
drivers/gpu/drm/i915/intel_display.c
··· 13568 13568 } 13569 13569 13570 13570 static void 13571 - verify_connector_state(struct drm_device *dev, struct drm_crtc *crtc) 13571 + verify_connector_state(struct drm_device *dev, 13572 + struct drm_atomic_state *state, 13573 + struct drm_crtc *crtc) 13572 13574 { 13573 13575 struct drm_connector *connector; 13576 + struct drm_connector_state *old_conn_state; 13577 + int i; 13574 13578 13575 - drm_for_each_connector(connector, dev) { 13579 + for_each_connector_in_state(state, connector, old_conn_state, i) { 13576 13580 struct drm_encoder *encoder = connector->encoder; 13577 13581 struct drm_connector_state *state = connector->state; 13578 13582 ··· 13784 13780 13785 13781 static void 13786 13782 intel_modeset_verify_crtc(struct drm_crtc *crtc, 13787 - struct drm_crtc_state *old_state, 13788 - struct drm_crtc_state *new_state) 13783 + struct drm_atomic_state *state, 13784 + struct drm_crtc_state *old_state, 13785 + struct drm_crtc_state *new_state) 13789 13786 { 13790 13787 if (!needs_modeset(new_state) && 13791 13788 !to_intel_crtc_state(new_state)->update_pipe) 13792 13789 return; 13793 13790 13794 13791 verify_wm_state(crtc, new_state); 13795 - verify_connector_state(crtc->dev, crtc); 13792 + verify_connector_state(crtc->dev, state, crtc); 13796 13793 verify_crtc_state(crtc, old_state, new_state); 13797 13794 verify_shared_dpll_state(crtc->dev, crtc, old_state, new_state); 13798 13795 } ··· 13809 13804 } 13810 13805 13811 13806 static void 13812 - intel_modeset_verify_disabled(struct drm_device *dev) 13807 + intel_modeset_verify_disabled(struct drm_device *dev, 13808 + struct drm_atomic_state *state) 13813 13809 { 13814 13810 verify_encoder_state(dev); 13815 - verify_connector_state(dev, NULL); 13811 + verify_connector_state(dev, state, NULL); 13816 13812 verify_disabled_dpll_state(dev); 13817 13813 } 13818 13814 ··· 14433 14427 if (!intel_can_enable_sagv(state)) 14434 14428 intel_disable_sagv(dev_priv); 14435 14429 14436 - intel_modeset_verify_disabled(dev); 14430 + intel_modeset_verify_disabled(dev, state); 14437 14431 } 14438 14432 14439 14433 /* Complete the events for pipes that have now been disabled */ ··· 14485 14479 if (put_domains[i]) 14486 14480 modeset_put_power_domains(dev_priv, put_domains[i]); 14487 14481 14488 - intel_modeset_verify_crtc(crtc, old_crtc_state, crtc->state); 14482 + intel_modeset_verify_crtc(crtc, state, old_crtc_state, crtc->state); 14489 14483 } 14490 14484 14491 14485 if (intel_state->modeset && intel_can_enable_sagv(state))