Can you try my latest 4.6 wip branch? I fixed it in a more unified way. http://cgit.freedesktop.org/~agd5f/linux/log/?h=drm-next-4.6-wip