Hi!
The driver creates the /dev/dxg device, which can be opened by user mode application and handles their ioctls. The IOCTL interface to the driver is defined in dxgkmthk.h (Dxgkrnl Graphics Port Driver ioctl definitions). The interface matches the D3DKMT interface on Windows. Ioctls are implemented in ioctl.c.
Echoing what others said, you're not making a DRM driver. The driver should live outside of the DRM code.
Actually, this sounds to me like "this should not be merged into linux kernel". I mean, we already have DRM API on Linux. We don't want another one, do we?
And at the very least... this misses API docs for /dev/dxg. Code can't really be reviewed without that.
Best regards, Pavel