New i915 modeset infrastructure Code

Daniel Vetter

Up to now all kms drivers used the same shared crtc helper framework to implement the modeset ioctls. Intel hardware has never been a perfect fit for the crtc helper framework and we've accumulated our fair share of hacks. But with recent efforts (Haswell enabling and planned better handling of shared resources like plls) piling hacks over hacks became no longer manageable, and for kernel 3.7 i915.ko will have a new, driver-private modeset framework.

This presentation details the assumptions and limitations of the crtc helper framework that are at odds with how intel hardware works and explains the design principles of the new code and some of the implementation details.