1 Note that current msm kernel driver is a bit strange. It provides a 2 DRM interface for GEM, which is basically sufficient to have DRI2 3 working. But it does not provide KMS. And interface to 2d and 3d 4 cores is via different other devices (/dev/kgsl-*). This is not 5 quite how I'd write a DRM driver, but at this stage it is useful for 6 xf86-video-freedreno and fdre (and eventual gallium driver) to be 7 able to work on existing kernel driver from QCOM, to allow to 8 capture cmdstream dumps from the binary blob drivers without having 9 to reboot. So libdrm_freedreno attempts to hide most of the crazy. 10 The intention is that when there is a proper kernel driver, it will 11 be mostly just changes in libdrm_freedreno to adapt the gallium 12 driver and xf86-video-freedreno (ignoring the fbdev->KMS changes). 13 14 So don't look at freedreno as an example of how to write a libdrm 15 module or a DRM driver.. it is just an attempt to paper over a non- 16 standard kernel driver architecture. 17