Weston should have the ability to try all possible CRTCs
Weston should be able to iterate through all permutations of outputs and crtcs to find a suitable routing for all outputs.
I am coming to this issue from a place of hotplug failure, where the driver is unable to meet the timing requirements for 2 outputs where the hardware shares a base clock near the base of the clock tree. In this case, the 2 pixel clocks cant be generated with enough accuracy for both based on the shared clock with each pixel clock being driven by independent trees of dividers from the base. This occurs during hotplugging of the second display.
Other situations may also require this functionality.