aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2017-07-25 04:01:20 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2017-08-08 08:47:37 -0400
commit482b0e3c2fd73b5c27a4459638b682147ce8119e (patch)
treede0134e551bea54e092006861b9655c4d1f7d20e
parente90271bc07edde70945662aaaad8860d59712234 (diff)
drm: Nuke drm_atomic_helper_connector_set_property
It's dead code, the core handles all this directly now. This also allows us to unexport drm_atomic_helper_connector_set_property. The only special case is nouveau which used one function for both pre-nv50 legacy modeset code and post-nv50 atomic world instead of 2 vtables. But amounts to exactly the same. What is rather strange here is how few drivers set this up, I suspect the earlier patch to handle properties in the core did end up fixing a pile of possible issues. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Sean Paul <seanpaul@chromium.org> Cc: David Airlie <airlied@linux.ie> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> Cc: Vincent Abriou <vincent.abriou@st.com> Cc: Eric Anholt <eric@anholt.net> Cc: intel-gfx@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170725080122.20548-7-daniel.vetter@ffwll.ch Acked-by: Vincent Abriou <vincent.abriou@st.com>
-rw-r--r--drivers/gpu/drm/drm_atomic.c3
-rw-r--r--drivers/gpu/drm/drm_atomic_helper.c55
-rw-r--r--drivers/gpu/drm/i915/intel_crt.c1
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c1
-rw-r--r--drivers/gpu/drm/i915/intel_dp_mst.c1
-rw-r--r--drivers/gpu/drm/i915/intel_dsi.c1
-rw-r--r--drivers/gpu/drm/i915/intel_dvo.c1
-rw-r--r--drivers/gpu/drm/i915/intel_hdmi.c1
-rw-r--r--drivers/gpu/drm/i915/intel_lvds.c1
-rw-r--r--drivers/gpu/drm/i915/intel_sdvo.c1
-rw-r--r--drivers/gpu/drm/i915/intel_tv.c1
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_connector.c3
-rw-r--r--drivers/gpu/drm/nouveau/nv50_display.c1
-rw-r--r--drivers/gpu/drm/sti/sti_hdmi.c1
-rw-r--r--drivers/gpu/drm/vc4/vc4_vec.c1
-rw-r--r--include/drm/drm_atomic.h3
-rw-r--r--include/drm/drm_atomic_helper.h3
17 files changed, 1 insertions, 78 deletions
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 395438a7a576..306fdca92abf 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -1144,7 +1144,7 @@ EXPORT_SYMBOL(drm_atomic_get_connector_state);
1144 * RETURNS: 1144 * RETURNS:
1145 * Zero on success, error code on failure 1145 * Zero on success, error code on failure
1146 */ 1146 */
1147int drm_atomic_connector_set_property(struct drm_connector *connector, 1147static int drm_atomic_connector_set_property(struct drm_connector *connector,
1148 struct drm_connector_state *state, struct drm_property *property, 1148 struct drm_connector_state *state, struct drm_property *property,
1149 uint64_t val) 1149 uint64_t val)
1150{ 1150{
@@ -1211,7 +1211,6 @@ int drm_atomic_connector_set_property(struct drm_connector *connector,
1211 1211
1212 return 0; 1212 return 0;
1213} 1213}
1214EXPORT_SYMBOL(drm_atomic_connector_set_property);
1215 1214
1216static void drm_atomic_connector_print_state(struct drm_printer *p, 1215static void drm_atomic_connector_print_state(struct drm_printer *p,
1217 const struct drm_connector_state *state) 1216 const struct drm_connector_state *state)
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index 73b76166d905..02bf658b7c42 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -2953,61 +2953,6 @@ out:
2953} 2953}
2954EXPORT_SYMBOL(drm_atomic_helper_resume); 2954EXPORT_SYMBOL(drm_atomic_helper_resume);
2955 2955
2956/**
2957 * drm_atomic_helper_connector_set_property - helper for connector properties
2958 * @connector: DRM connector
2959 * @property: DRM property
2960 * @val: value of property
2961 *
2962 * Provides a default connector set_property handler using the atomic driver
2963 * interface.
2964 *
2965 * RETURNS:
2966 * Zero on success, error code on failure
2967 */
2968int
2969drm_atomic_helper_connector_set_property(struct drm_connector *connector,
2970 struct drm_property *property,
2971 uint64_t val)
2972{
2973 struct drm_atomic_state *state;
2974 struct drm_connector_state *connector_state;
2975 int ret = 0;
2976
2977 state = drm_atomic_state_alloc(connector->dev);
2978 if (!state)
2979 return -ENOMEM;
2980
2981 /* ->set_property is always called with all locks held. */
2982 state->acquire_ctx = connector->dev->mode_config.acquire_ctx;
2983retry:
2984 connector_state = drm_atomic_get_connector_state(state, connector);
2985 if (IS_ERR(connector_state)) {
2986 ret = PTR_ERR(connector_state);
2987 goto fail;
2988 }
2989
2990 ret = drm_atomic_connector_set_property(connector, connector_state,
2991 property, val);
2992 if (ret)
2993 goto fail;
2994
2995 ret = drm_atomic_commit(state);
2996fail:
2997 if (ret == -EDEADLK)
2998 goto backoff;
2999
3000 drm_atomic_state_put(state);
3001 return ret;
3002
3003backoff:
3004 drm_atomic_state_clear(state);
3005 drm_atomic_legacy_backoff(state);
3006
3007 goto retry;
3008}
3009EXPORT_SYMBOL(drm_atomic_helper_connector_set_property);
3010
3011static int page_flip_common(struct drm_atomic_state *state, 2956static int page_flip_common(struct drm_atomic_state *state,
3012 struct drm_crtc *crtc, 2957 struct drm_crtc *crtc,
3013 struct drm_framebuffer *fb, 2958 struct drm_framebuffer *fb,
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 84a1f5e85153..84c3a6dc7c2a 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -807,7 +807,6 @@ static const struct drm_connector_funcs intel_crt_connector_funcs = {
807 .late_register = intel_connector_register, 807 .late_register = intel_connector_register,
808 .early_unregister = intel_connector_unregister, 808 .early_unregister = intel_connector_unregister,
809 .destroy = intel_crt_destroy, 809 .destroy = intel_crt_destroy,
810 .set_property = drm_atomic_helper_connector_set_property,
811 .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, 810 .atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
812 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 811 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
813}; 812};
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 2d42d09428c9..19b082ea57ef 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -5010,7 +5010,6 @@ static const struct drm_connector_funcs intel_dp_connector_funcs = {
5010 .dpms = drm_atomic_helper_connector_dpms, 5010 .dpms = drm_atomic_helper_connector_dpms,
5011 .force = intel_dp_force, 5011 .force = intel_dp_force,
5012 .fill_modes = drm_helper_probe_single_connector_modes, 5012 .fill_modes = drm_helper_probe_single_connector_modes,
5013 .set_property = drm_atomic_helper_connector_set_property,
5014 .atomic_get_property = intel_digital_connector_atomic_get_property, 5013 .atomic_get_property = intel_digital_connector_atomic_get_property,
5015 .atomic_set_property = intel_digital_connector_atomic_set_property, 5014 .atomic_set_property = intel_digital_connector_atomic_set_property,
5016 .late_register = intel_dp_connector_register, 5015 .late_register = intel_dp_connector_register,
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index e4ea968b1d6b..59a6dfd48ed4 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -349,7 +349,6 @@ static const struct drm_connector_funcs intel_dp_mst_connector_funcs = {
349 .dpms = drm_atomic_helper_connector_dpms, 349 .dpms = drm_atomic_helper_connector_dpms,
350 .detect = intel_dp_mst_detect, 350 .detect = intel_dp_mst_detect,
351 .fill_modes = drm_helper_probe_single_connector_modes, 351 .fill_modes = drm_helper_probe_single_connector_modes,
352 .set_property = drm_atomic_helper_connector_set_property,
353 .late_register = intel_connector_register, 352 .late_register = intel_connector_register,
354 .early_unregister = intel_connector_unregister, 353 .early_unregister = intel_connector_unregister,
355 .destroy = intel_dp_mst_connector_destroy, 354 .destroy = intel_dp_mst_connector_destroy,
diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
index 50ec836da8b1..375e7cfcf207 100644
--- a/drivers/gpu/drm/i915/intel_dsi.c
+++ b/drivers/gpu/drm/i915/intel_dsi.c
@@ -1658,7 +1658,6 @@ static const struct drm_connector_funcs intel_dsi_connector_funcs = {
1658 .early_unregister = intel_connector_unregister, 1658 .early_unregister = intel_connector_unregister,
1659 .destroy = intel_dsi_connector_destroy, 1659 .destroy = intel_dsi_connector_destroy,
1660 .fill_modes = drm_helper_probe_single_connector_modes, 1660 .fill_modes = drm_helper_probe_single_connector_modes,
1661 .set_property = drm_atomic_helper_connector_set_property,
1662 .atomic_get_property = intel_digital_connector_atomic_get_property, 1661 .atomic_get_property = intel_digital_connector_atomic_get_property,
1663 .atomic_set_property = intel_digital_connector_atomic_set_property, 1662 .atomic_set_property = intel_digital_connector_atomic_set_property,
1664 .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, 1663 .atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c
index c1544a53095d..6b1970542911 100644
--- a/drivers/gpu/drm/i915/intel_dvo.c
+++ b/drivers/gpu/drm/i915/intel_dvo.c
@@ -350,7 +350,6 @@ static const struct drm_connector_funcs intel_dvo_connector_funcs = {
350 .early_unregister = intel_connector_unregister, 350 .early_unregister = intel_connector_unregister,
351 .destroy = intel_dvo_destroy, 351 .destroy = intel_dvo_destroy,
352 .fill_modes = drm_helper_probe_single_connector_modes, 352 .fill_modes = drm_helper_probe_single_connector_modes,
353 .set_property = drm_atomic_helper_connector_set_property,
354 .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, 353 .atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
355 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 354 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
356}; 355};
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 2f831cfdd243..ee06763d9350 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1710,7 +1710,6 @@ static const struct drm_connector_funcs intel_hdmi_connector_funcs = {
1710 .detect = intel_hdmi_detect, 1710 .detect = intel_hdmi_detect,
1711 .force = intel_hdmi_force, 1711 .force = intel_hdmi_force,
1712 .fill_modes = drm_helper_probe_single_connector_modes, 1712 .fill_modes = drm_helper_probe_single_connector_modes,
1713 .set_property = drm_atomic_helper_connector_set_property,
1714 .atomic_get_property = intel_digital_connector_atomic_get_property, 1713 .atomic_get_property = intel_digital_connector_atomic_get_property,
1715 .atomic_set_property = intel_digital_connector_atomic_set_property, 1714 .atomic_set_property = intel_digital_connector_atomic_set_property,
1716 .late_register = intel_connector_register, 1715 .late_register = intel_connector_register,
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index 6fe5d7c3bc23..6579299f5d00 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -598,7 +598,6 @@ static const struct drm_connector_funcs intel_lvds_connector_funcs = {
598 .dpms = drm_atomic_helper_connector_dpms, 598 .dpms = drm_atomic_helper_connector_dpms,
599 .detect = intel_lvds_detect, 599 .detect = intel_lvds_detect,
600 .fill_modes = drm_helper_probe_single_connector_modes, 600 .fill_modes = drm_helper_probe_single_connector_modes,
601 .set_property = drm_atomic_helper_connector_set_property,
602 .atomic_get_property = intel_digital_connector_atomic_get_property, 601 .atomic_get_property = intel_digital_connector_atomic_get_property,
603 .atomic_set_property = intel_digital_connector_atomic_set_property, 602 .atomic_set_property = intel_digital_connector_atomic_set_property,
604 .late_register = intel_connector_register, 603 .late_register = intel_connector_register,
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
index e58a47db9a9d..a8eee1984ddf 100644
--- a/drivers/gpu/drm/i915/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/intel_sdvo.c
@@ -2196,7 +2196,6 @@ static const struct drm_connector_funcs intel_sdvo_connector_funcs = {
2196 .dpms = drm_atomic_helper_connector_dpms, 2196 .dpms = drm_atomic_helper_connector_dpms,
2197 .detect = intel_sdvo_detect, 2197 .detect = intel_sdvo_detect,
2198 .fill_modes = drm_helper_probe_single_connector_modes, 2198 .fill_modes = drm_helper_probe_single_connector_modes,
2199 .set_property = drm_atomic_helper_connector_set_property,
2200 .atomic_get_property = intel_sdvo_connector_atomic_get_property, 2199 .atomic_get_property = intel_sdvo_connector_atomic_get_property,
2201 .atomic_set_property = intel_sdvo_connector_atomic_set_property, 2200 .atomic_set_property = intel_sdvo_connector_atomic_set_property,
2202 .late_register = intel_sdvo_connector_register, 2201 .late_register = intel_sdvo_connector_register,
diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
index 784df024e230..e4ef2919b682 100644
--- a/drivers/gpu/drm/i915/intel_tv.c
+++ b/drivers/gpu/drm/i915/intel_tv.c
@@ -1411,7 +1411,6 @@ static const struct drm_connector_funcs intel_tv_connector_funcs = {
1411 .late_register = intel_connector_register, 1411 .late_register = intel_connector_register,
1412 .early_unregister = intel_connector_unregister, 1412 .early_unregister = intel_connector_unregister,
1413 .destroy = intel_tv_destroy, 1413 .destroy = intel_tv_destroy,
1414 .set_property = drm_atomic_helper_connector_set_property,
1415 .fill_modes = drm_helper_probe_single_connector_modes, 1414 .fill_modes = drm_helper_probe_single_connector_modes,
1416 .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, 1415 .atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
1417 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 1416 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index 147b22163f9f..72a6595e652b 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -770,9 +770,6 @@ nouveau_connector_set_property(struct drm_connector *connector,
770 struct drm_encoder *encoder = to_drm_encoder(nv_encoder); 770 struct drm_encoder *encoder = to_drm_encoder(nv_encoder);
771 int ret; 771 int ret;
772 772
773 if (drm_drv_uses_atomic_modeset(connector->dev))
774 return drm_atomic_helper_connector_set_property(connector, property, value);
775
776 ret = connector->funcs->atomic_set_property(&nv_connector->base, 773 ret = connector->funcs->atomic_set_property(&nv_connector->base,
777 &asyc->state, 774 &asyc->state,
778 property, value); 775 property, value);
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
index 5ed88e75c21e..183db13186d6 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -3109,7 +3109,6 @@ nv50_mstc = {
3109 .reset = nouveau_conn_reset, 3109 .reset = nouveau_conn_reset,
3110 .detect = nv50_mstc_detect, 3110 .detect = nv50_mstc_detect,
3111 .fill_modes = drm_helper_probe_single_connector_modes, 3111 .fill_modes = drm_helper_probe_single_connector_modes,
3112 .set_property = drm_atomic_helper_connector_set_property,
3113 .destroy = nv50_mstc_destroy, 3112 .destroy = nv50_mstc_destroy,
3114 .atomic_duplicate_state = nouveau_conn_atomic_duplicate_state, 3113 .atomic_duplicate_state = nouveau_conn_atomic_duplicate_state,
3115 .atomic_destroy_state = nouveau_conn_atomic_destroy_state, 3114 .atomic_destroy_state = nouveau_conn_atomic_destroy_state,
diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c
index dbc6a195d6f9..21f11dfae472 100644
--- a/drivers/gpu/drm/sti/sti_hdmi.c
+++ b/drivers/gpu/drm/sti/sti_hdmi.c
@@ -1118,7 +1118,6 @@ static const struct drm_connector_funcs sti_hdmi_connector_funcs = {
1118 .detect = sti_hdmi_connector_detect, 1118 .detect = sti_hdmi_connector_detect,
1119 .destroy = drm_connector_cleanup, 1119 .destroy = drm_connector_cleanup,
1120 .reset = drm_atomic_helper_connector_reset, 1120 .reset = drm_atomic_helper_connector_reset,
1121 .set_property = drm_atomic_helper_connector_set_property,
1122 .atomic_set_property = sti_hdmi_connector_set_property, 1121 .atomic_set_property = sti_hdmi_connector_set_property,
1123 .atomic_get_property = sti_hdmi_connector_get_property, 1122 .atomic_get_property = sti_hdmi_connector_get_property,
1124 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 1123 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c
index 09c1e05765fa..369fea5a13a1 100644
--- a/drivers/gpu/drm/vc4/vc4_vec.c
+++ b/drivers/gpu/drm/vc4/vc4_vec.c
@@ -369,7 +369,6 @@ static const struct drm_connector_funcs vc4_vec_connector_funcs = {
369 .dpms = drm_atomic_helper_connector_dpms, 369 .dpms = drm_atomic_helper_connector_dpms,
370 .detect = vc4_vec_connector_detect, 370 .detect = vc4_vec_connector_detect,
371 .fill_modes = drm_helper_probe_single_connector_modes, 371 .fill_modes = drm_helper_probe_single_connector_modes,
372 .set_property = drm_atomic_helper_connector_set_property,
373 .destroy = vc4_vec_connector_destroy, 372 .destroy = vc4_vec_connector_destroy,
374 .reset = drm_atomic_helper_connector_reset, 373 .reset = drm_atomic_helper_connector_reset,
375 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 374 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h
index 7d0d110f911d..711617fdf032 100644
--- a/include/drm/drm_atomic.h
+++ b/include/drm/drm_atomic.h
@@ -318,9 +318,6 @@ drm_atomic_get_plane_state(struct drm_atomic_state *state,
318struct drm_connector_state * __must_check 318struct drm_connector_state * __must_check
319drm_atomic_get_connector_state(struct drm_atomic_state *state, 319drm_atomic_get_connector_state(struct drm_atomic_state *state,
320 struct drm_connector *connector); 320 struct drm_connector *connector);
321int drm_atomic_connector_set_property(struct drm_connector *connector,
322 struct drm_connector_state *state, struct drm_property *property,
323 uint64_t val);
324 321
325void drm_atomic_private_obj_init(struct drm_private_obj *obj, 322void drm_atomic_private_obj_init(struct drm_private_obj *obj,
326 struct drm_private_state *state, 323 struct drm_private_state *state,
diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h
index a62aeb816dd8..619089a027ec 100644
--- a/include/drm/drm_atomic_helper.h
+++ b/include/drm/drm_atomic_helper.h
@@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state,
124int drm_atomic_helper_resume(struct drm_device *dev, 124int drm_atomic_helper_resume(struct drm_device *dev,
125 struct drm_atomic_state *state); 125 struct drm_atomic_state *state);
126 126
127int drm_atomic_helper_connector_set_property(struct drm_connector *connector,
128 struct drm_property *property,
129 uint64_t val);
130int drm_atomic_helper_page_flip(struct drm_crtc *crtc, 127int drm_atomic_helper_page_flip(struct drm_crtc *crtc,
131 struct drm_framebuffer *fb, 128 struct drm_framebuffer *fb,
132 struct drm_pending_vblank_event *event, 129 struct drm_pending_vblank_event *event,