DAL has a concept of storing the graphics object ids in a special small struct, and adding type safety to them.
I'm starting to contemplate bringing some pieces of DAL into the mainline modesetting code (like the bios parser for a start), and I think this is the best first step in that direction.
This series converts connectors, encoders and crtcs id to the DAL objects. I haven't done PLLs yet they are a bit messier and I probably need to think about them a bit more.
Also DAL doesn't support any of the DVO/external encoders, I've no idea if they even exist on DCE8 or newer GPUs, so I've done a separate patch to drop them.
Dave.