drm: Update to Linux 4.15.18 * Create /dev/dri/renderD* devices Generally handle /dev entries creation as close to Linux as possible. * Add drm master support Sync authentification code with Linux 4.15.18 * handle vm_mm->mmap_sem in ttm page fault operations * Update dma-fence code from OpenBSD * This commit contains sleep/wakeup and other changes from Matthew Dillon <dillon@apollo.backplane.com>
drm: Update to Linux 4.12.14 * Initial Geminilake support * Support improvements and model-specific bug fixes for Broxton, Haswell, Broadwell, Skylake and Kabylake hardware * Various generic i915 bug fixes, including page flipping and memory corruption issues * Minor radeon bug fixes
drm: Replace all Linux spinlocks by lockmgr locks * The DragonFly kernel can sleep in different circumstances than Linux * Linux driver code has not been written to prevent it * Make all Linux spinlock_t spinlocks lockmgr locks and avoid potential problems once and for all
drm: Stop using an embedded struct drm_device in driver softcs * All drm drivers use a struct drm_device record but are free to allocate it by themselves in different ways or let the generic drm subsystem code do it. * This drm_device record can even be part of another data structure, dynamically or statically allocated. * We cannot just assume the length of a drm_device structure in the softc memory block will be enough to store all driver private data. * Make the drm softc the equivalent of a void* pointer and let the upstream code behave as expected on Linux
drm - Move startup delay to VERSION ioctl * We had a startup delay in the i915 attach path, which is synchronous with the kldload that X does. Unfortunately, this doesn't appear to work well, probably because it just stalls everything and leaves the race intact after the sleep returns. Also, the kld lock is held across the sleep. * Move the startup delay to the first call of the DRM_IOCTL_VERSION ioctl. This is outside the kld path allows drm to free-run while simply imposing a short delay on the X startup to give the drm system time to stabilize. * Should fix several intel i915 startup issues that can leave the screen corrupt, and perhaps other startup issues.