suspend/resume/power management kernel interfaces to implement are specific to each driver model. Creating a DRM interface which would suit all driver models may not be reasonable. Another approach would be to have driver model specific code (with all the suspend/resume/power management kernel interfaces implementations) and a perfectly orthogonal DRM interface (As far as I understood current DRM, it provides almost a full blown driver model abstraction layer, I may be wrong though). The mode setting interface would be part of the "perfectly orthogonal DRM interface".

my main concern is the current fb layer. The current code & design duplicates a lot of fb functionality (getting mode lists, setting modes, exporting interfaces to userland). How much duplication is acceptable? Should we extend the fb APIs or accept the duplication? Should fb be obsoleted entirely by this new code? Should we share code? If the answer to the last question is no, I think we can expect a lot of pushback from the fb and broader kernel community...

Do we want to emulate framebuffer in kernel ? The scanout buffer format might be a little bit complicated to handle in kernel (stride, tiles, ...) and we may want to avoid to put such knowledge in the kernel. Then how kernel can tell you when anythings when it panics (asking for the modesetting to provide a failsafe and easy to use mode might help but also might not work in all case). This was already discussed a bit on IRC and mail.

IOCTL versioning versus tag based arguments. Maybe it's good to think now to possible interface change rather than find out in couple of month, years that changing the interface is painfull (as it is now).

For power management i would like to see the kernel exporting each hw capacity through somethings like HAL so we can then use some project like ohm which i believe is aimed to centralize all this power things. But i don't think this really fit modesetting topic and likely we could already work on this without drastic change in drm.