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

drm: Remove bridge support from legacy helpers

DRM bridges are only used by atomic drivers, and none of them use the
legacy helpers. Drop bridge support from those helpers to prepare for
making the bridge operations atomic-aware.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>

-32
-32
drivers/gpu/drm/drm_crtc_helper.c
··· 159 159 if (!encoder_funcs) 160 160 return; 161 161 162 - drm_bridge_disable(encoder->bridge); 163 - 164 162 if (encoder_funcs->disable) 165 163 (*encoder_funcs->disable)(encoder); 166 164 else if (encoder_funcs->dpms) 167 165 (*encoder_funcs->dpms)(encoder, DRM_MODE_DPMS_OFF); 168 - 169 - drm_bridge_post_disable(encoder->bridge); 170 166 } 171 167 172 168 static void __drm_helper_disable_unused_functions(struct drm_device *dev) ··· 322 326 if (!encoder_funcs) 323 327 continue; 324 328 325 - ret = drm_bridge_mode_fixup(encoder->bridge, 326 - mode, adjusted_mode); 327 - if (!ret) { 328 - DRM_DEBUG_KMS("Bridge fixup failed\n"); 329 - goto done; 330 - } 331 - 332 329 encoder_funcs = encoder->helper_private; 333 330 if (encoder_funcs->mode_fixup) { 334 331 if (!(ret = encoder_funcs->mode_fixup(encoder, mode, ··· 353 364 if (!encoder_funcs) 354 365 continue; 355 366 356 - drm_bridge_disable(encoder->bridge); 357 - 358 367 /* Disable the encoders as the first thing we do. */ 359 368 if (encoder_funcs->prepare) 360 369 encoder_funcs->prepare(encoder); 361 - 362 - drm_bridge_post_disable(encoder->bridge); 363 370 } 364 371 365 372 drm_crtc_prepare_encoders(dev); ··· 382 397 encoder->base.id, encoder->name, mode->name); 383 398 if (encoder_funcs->mode_set) 384 399 encoder_funcs->mode_set(encoder, mode, adjusted_mode); 385 - 386 - drm_bridge_mode_set(encoder->bridge, mode, adjusted_mode); 387 400 } 388 401 389 402 /* Now enable the clocks, plane, pipe, and connectors that we set up. */ ··· 396 413 if (!encoder_funcs) 397 414 continue; 398 415 399 - drm_bridge_pre_enable(encoder->bridge); 400 - 401 416 if (encoder_funcs->commit) 402 417 encoder_funcs->commit(encoder); 403 - 404 - drm_bridge_enable(encoder->bridge); 405 418 } 406 419 407 420 /* Calculate and store various constants which ··· 796 817 /* Helper which handles bridge ordering around encoder dpms */ 797 818 static void drm_helper_encoder_dpms(struct drm_encoder *encoder, int mode) 798 819 { 799 - struct drm_bridge *bridge = encoder->bridge; 800 820 const struct drm_encoder_helper_funcs *encoder_funcs; 801 821 802 822 encoder_funcs = encoder->helper_private; 803 823 if (!encoder_funcs) 804 824 return; 805 825 806 - if (mode == DRM_MODE_DPMS_ON) 807 - drm_bridge_pre_enable(bridge); 808 - else 809 - drm_bridge_disable(bridge); 810 - 811 826 if (encoder_funcs->dpms) 812 827 encoder_funcs->dpms(encoder, mode); 813 - 814 - if (mode == DRM_MODE_DPMS_ON) 815 - drm_bridge_enable(bridge); 816 - else 817 - drm_bridge_post_disable(bridge); 818 828 } 819 829 820 830 static int drm_helper_choose_crtc_dpms(struct drm_crtc *crtc)