On Tue, May 10, 2016 at 7:30 PM, Noralf Trønnes noralf@tronnes.org wrote:
Hm, my idea with external transcoders was to pull them in as a drm_bridge. That's of course more work, and we already have a proliferation of different transcoder driver standards in drm unfortunately (there's drm_bridge, but als to drm_encoder_slave).
Does this mean that you want the drm_bridge_*() functions in disable_outputs(), crtc_set_mode() and drm_atomic_helper_commit_modeset_enables() to run for drm_simple_display_pipe?
Because "drm: Make drm_encoder_helper_funcs optional" skips those bridge functions if encoder->helper_private is not set (I found this pattern in mode_fixup() which skips drm_bridge_mode_fixup() on !funcs). So if that's the case, I have to add an empty drm_encoder_helper_funcs to the simple pipe.
Oops you're right. I think the correct fix would be to always run the bridge functions though, there's really no need to break that when there's no encoder vtable. Since I merged your initial patch already, care to create a follow-up patch to rectify this?
Thanks, Daniel