svn commit: r338285 - in head: . sys/amd64/conf sys/arm/conf sys/conf sys/contrib/dev/drm2 sys/dev/drm sys/dev/drm2 sys/dev/drm2/i915 sys/dev/drm2/radeon sys/dev/drm2/radeon/reg_srcs sys/dev/drm2/t...

Warner Losh imp at FreeBSD.org
Fri Aug 24 00:02:03 UTC 2018


Author: imp
Date: Fri Aug 24 00:02:00 2018
New Revision: 338285
URL: https://svnweb.freebsd.org/changeset/base/338285

Log:
  Revert drm2 removal.
  
  Revert r338177, r338176, r338175, r338174, r338172
  
  After long consultations with re@, core members and mmacy, revert
  these changes. Followup changes will be made to mark them as
  deprecated and prent a message about where to find the up-to-date
  driver.  Followup commits will be made to make this clear in the
  installer. Followup commits to reduce POLA in ways we're still
  exploring.
  
  It's anticipated that after the freeze, this will be removed in
  13-current (with the residual of the drm2 code copied to
  sys/arm/dev/drm2 for the TEGRA port's use w/o the intel or
  radeon drivers).
  
  Due to the impending freeze, there was no formal core vote for
  this. I've been talking to different core members all day, as well as
  Matt Macey and Glen Barber. Nobody is completely happy, all are
  grudgingly going along with this. Work is in progress to mitigate
  the negative effects as much as possible.
  
  Requested by: re@ (gjb, rgrimes)

Added:
  head/sys/contrib/dev/drm2/
     - copied from r338175, head/sys/contrib/dev/drm2/
  head/sys/dev/drm/
     - copied from r338174, head/sys/dev/drm/
  head/sys/dev/drm/ati_pcigart.c
     - copied unchanged from r338171, head/sys/dev/drm/ati_pcigart.c
  head/sys/dev/drm/drm.h
     - copied unchanged from r338171, head/sys/dev/drm/drm.h
  head/sys/dev/drm/drmP.h
     - copied unchanged from r338171, head/sys/dev/drm/drmP.h
  head/sys/dev/drm/drm_agpsupport.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_agpsupport.c
  head/sys/dev/drm/drm_atomic.h
     - copied unchanged from r338171, head/sys/dev/drm/drm_atomic.h
  head/sys/dev/drm/drm_auth.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_auth.c
  head/sys/dev/drm/drm_bufs.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_bufs.c
  head/sys/dev/drm/drm_context.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_context.c
  head/sys/dev/drm/drm_dma.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_dma.c
  head/sys/dev/drm/drm_drawable.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_drawable.c
  head/sys/dev/drm/drm_drv.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_drv.c
  head/sys/dev/drm/drm_fops.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_fops.c
  head/sys/dev/drm/drm_hashtab.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_hashtab.c
  head/sys/dev/drm/drm_hashtab.h
     - copied unchanged from r338171, head/sys/dev/drm/drm_hashtab.h
  head/sys/dev/drm/drm_internal.h
     - copied unchanged from r338171, head/sys/dev/drm/drm_internal.h
  head/sys/dev/drm/drm_ioctl.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_ioctl.c
  head/sys/dev/drm/drm_irq.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_irq.c
  head/sys/dev/drm/drm_linux_list.h
     - copied unchanged from r338171, head/sys/dev/drm/drm_linux_list.h
  head/sys/dev/drm/drm_lock.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_lock.c
  head/sys/dev/drm/drm_memory.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_memory.c
  head/sys/dev/drm/drm_mm.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_mm.c
  head/sys/dev/drm/drm_mm.h
     - copied unchanged from r338171, head/sys/dev/drm/drm_mm.h
  head/sys/dev/drm/drm_pci.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_pci.c
  head/sys/dev/drm/drm_pciids.h
     - copied unchanged from r338171, head/sys/dev/drm/drm_pciids.h
  head/sys/dev/drm/drm_sarea.h
     - copied unchanged from r338171, head/sys/dev/drm/drm_sarea.h
  head/sys/dev/drm/drm_scatter.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_scatter.c
  head/sys/dev/drm/drm_sman.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_sman.c
  head/sys/dev/drm/drm_sman.h
     - copied unchanged from r338171, head/sys/dev/drm/drm_sman.h
  head/sys/dev/drm/drm_sysctl.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_sysctl.c
  head/sys/dev/drm/drm_vm.c
     - copied unchanged from r338171, head/sys/dev/drm/drm_vm.c
  head/sys/dev/drm/mach64_dma.c
     - copied unchanged from r338171, head/sys/dev/drm/mach64_dma.c
  head/sys/dev/drm/mach64_drm.h
     - copied unchanged from r338171, head/sys/dev/drm/mach64_drm.h
  head/sys/dev/drm/mach64_drv.c
     - copied unchanged from r338171, head/sys/dev/drm/mach64_drv.c
  head/sys/dev/drm/mach64_drv.h
     - copied unchanged from r338171, head/sys/dev/drm/mach64_drv.h
  head/sys/dev/drm/mach64_irq.c
     - copied unchanged from r338171, head/sys/dev/drm/mach64_irq.c
  head/sys/dev/drm/mach64_state.c
     - copied unchanged from r338171, head/sys/dev/drm/mach64_state.c
  head/sys/dev/drm/mga_dma.c
     - copied unchanged from r338171, head/sys/dev/drm/mga_dma.c
  head/sys/dev/drm/mga_drm.h
     - copied unchanged from r338171, head/sys/dev/drm/mga_drm.h
  head/sys/dev/drm/mga_drv.c
     - copied unchanged from r338171, head/sys/dev/drm/mga_drv.c
  head/sys/dev/drm/mga_drv.h
     - copied unchanged from r338171, head/sys/dev/drm/mga_drv.h
  head/sys/dev/drm/mga_irq.c
     - copied unchanged from r338171, head/sys/dev/drm/mga_irq.c
  head/sys/dev/drm/mga_state.c
     - copied unchanged from r338171, head/sys/dev/drm/mga_state.c
  head/sys/dev/drm/mga_ucode.h
     - copied unchanged from r338171, head/sys/dev/drm/mga_ucode.h
  head/sys/dev/drm/mga_warp.c
     - copied unchanged from r338171, head/sys/dev/drm/mga_warp.c
  head/sys/dev/drm/r128_cce.c
     - copied unchanged from r338171, head/sys/dev/drm/r128_cce.c
  head/sys/dev/drm/r128_drm.h
     - copied unchanged from r338171, head/sys/dev/drm/r128_drm.h
  head/sys/dev/drm/r128_drv.c
     - copied unchanged from r338171, head/sys/dev/drm/r128_drv.c
  head/sys/dev/drm/r128_drv.h
     - copied unchanged from r338171, head/sys/dev/drm/r128_drv.h
  head/sys/dev/drm/r128_irq.c
     - copied unchanged from r338171, head/sys/dev/drm/r128_irq.c
  head/sys/dev/drm/r128_state.c
     - copied unchanged from r338171, head/sys/dev/drm/r128_state.c
  head/sys/dev/drm/savage_bci.c
     - copied unchanged from r338171, head/sys/dev/drm/savage_bci.c
  head/sys/dev/drm/savage_drm.h
     - copied unchanged from r338171, head/sys/dev/drm/savage_drm.h
  head/sys/dev/drm/savage_drv.c
     - copied unchanged from r338171, head/sys/dev/drm/savage_drv.c
  head/sys/dev/drm/savage_drv.h
     - copied unchanged from r338171, head/sys/dev/drm/savage_drv.h
  head/sys/dev/drm/savage_state.c
     - copied unchanged from r338171, head/sys/dev/drm/savage_state.c
  head/sys/dev/drm/sis_drm.h
     - copied unchanged from r338171, head/sys/dev/drm/sis_drm.h
  head/sys/dev/drm/sis_drv.c
     - copied unchanged from r338171, head/sys/dev/drm/sis_drv.c
  head/sys/dev/drm/sis_drv.h
     - copied unchanged from r338171, head/sys/dev/drm/sis_drv.h
  head/sys/dev/drm/sis_ds.c
     - copied unchanged from r338171, head/sys/dev/drm/sis_ds.c
  head/sys/dev/drm/sis_ds.h
     - copied unchanged from r338171, head/sys/dev/drm/sis_ds.h
  head/sys/dev/drm/sis_mm.c
     - copied unchanged from r338171, head/sys/dev/drm/sis_mm.c
  head/sys/dev/drm/tdfx_drv.c
     - copied unchanged from r338171, head/sys/dev/drm/tdfx_drv.c
  head/sys/dev/drm/tdfx_drv.h
     - copied unchanged from r338171, head/sys/dev/drm/tdfx_drv.h
  head/sys/dev/drm/via_3d_reg.h
     - copied unchanged from r338171, head/sys/dev/drm/via_3d_reg.h
  head/sys/dev/drm/via_dma.c
     - copied unchanged from r338171, head/sys/dev/drm/via_dma.c
  head/sys/dev/drm/via_dmablit.c
     - copied unchanged from r338171, head/sys/dev/drm/via_dmablit.c
  head/sys/dev/drm/via_dmablit.h
     - copied unchanged from r338171, head/sys/dev/drm/via_dmablit.h
  head/sys/dev/drm/via_drm.h
     - copied unchanged from r338171, head/sys/dev/drm/via_drm.h
  head/sys/dev/drm/via_drv.c
     - copied unchanged from r338171, head/sys/dev/drm/via_drv.c
  head/sys/dev/drm/via_drv.h
     - copied unchanged from r338171, head/sys/dev/drm/via_drv.h
  head/sys/dev/drm/via_irq.c
     - copied unchanged from r338171, head/sys/dev/drm/via_irq.c
  head/sys/dev/drm/via_map.c
     - copied unchanged from r338171, head/sys/dev/drm/via_map.c
  head/sys/dev/drm/via_mm.c
     - copied unchanged from r338171, head/sys/dev/drm/via_mm.c
  head/sys/dev/drm/via_verifier.c
     - copied unchanged from r338171, head/sys/dev/drm/via_verifier.c
  head/sys/dev/drm/via_verifier.h
     - copied unchanged from r338171, head/sys/dev/drm/via_verifier.h
  head/sys/dev/drm/via_video.c
     - copied unchanged from r338171, head/sys/dev/drm/via_video.c
  head/sys/dev/drm2/
     - copied from r338174, head/sys/dev/drm2/
  head/sys/dev/drm2/ati_pcigart.c
     - copied unchanged from r338171, head/sys/dev/drm2/ati_pcigart.c
  head/sys/dev/drm2/drm.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm.h
  head/sys/dev/drm2/drmP.h
     - copied unchanged from r338171, head/sys/dev/drm2/drmP.h
  head/sys/dev/drm2/drm_agpsupport.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_agpsupport.c
  head/sys/dev/drm2/drm_atomic.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_atomic.h
  head/sys/dev/drm2/drm_auth.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_auth.c
  head/sys/dev/drm2/drm_buffer.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_buffer.c
  head/sys/dev/drm2/drm_buffer.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_buffer.h
  head/sys/dev/drm2/drm_bufs.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_bufs.c
  head/sys/dev/drm2/drm_context.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_context.c
  head/sys/dev/drm2/drm_core.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_core.h
  head/sys/dev/drm2/drm_crtc.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_crtc.c
  head/sys/dev/drm2/drm_crtc.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_crtc.h
  head/sys/dev/drm2/drm_crtc_helper.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_crtc_helper.c
  head/sys/dev/drm2/drm_crtc_helper.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_crtc_helper.h
  head/sys/dev/drm2/drm_dma.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_dma.c
  head/sys/dev/drm2/drm_dp_helper.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_dp_helper.c
  head/sys/dev/drm2/drm_dp_helper.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_dp_helper.h
  head/sys/dev/drm2/drm_dp_iic_helper.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_dp_iic_helper.c
  head/sys/dev/drm2/drm_drv.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_drv.c
  head/sys/dev/drm2/drm_edid.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_edid.c
  head/sys/dev/drm2/drm_edid.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_edid.h
  head/sys/dev/drm2/drm_edid_modes.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_edid_modes.h
  head/sys/dev/drm2/drm_fb_helper.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_fb_helper.c
  head/sys/dev/drm2/drm_fb_helper.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_fb_helper.h
  head/sys/dev/drm2/drm_fixed.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_fixed.h
  head/sys/dev/drm2/drm_fops.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_fops.c
  head/sys/dev/drm2/drm_fourcc.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_fourcc.h
  head/sys/dev/drm2/drm_gem.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_gem.c
  head/sys/dev/drm2/drm_gem_names.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_gem_names.c
  head/sys/dev/drm2/drm_gem_names.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_gem_names.h
  head/sys/dev/drm2/drm_global.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_global.c
  head/sys/dev/drm2/drm_global.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_global.h
  head/sys/dev/drm2/drm_hashtab.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_hashtab.c
  head/sys/dev/drm2/drm_hashtab.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_hashtab.h
  head/sys/dev/drm2/drm_ioc32.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_ioc32.c
  head/sys/dev/drm2/drm_ioctl.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_ioctl.c
  head/sys/dev/drm2/drm_irq.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_irq.c
  head/sys/dev/drm2/drm_linux_list.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_linux_list.h
  head/sys/dev/drm2/drm_linux_list_sort.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_linux_list_sort.c
  head/sys/dev/drm2/drm_lock.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_lock.c
  head/sys/dev/drm2/drm_mem_util.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_mem_util.h
  head/sys/dev/drm2/drm_memory.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_memory.c
  head/sys/dev/drm2/drm_mm.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_mm.c
  head/sys/dev/drm2/drm_mm.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_mm.h
  head/sys/dev/drm2/drm_mode.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_mode.h
  head/sys/dev/drm2/drm_modes.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_modes.c
  head/sys/dev/drm2/drm_os_freebsd.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_os_freebsd.c
  head/sys/dev/drm2/drm_os_freebsd.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_os_freebsd.h
  head/sys/dev/drm2/drm_pci.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_pci.c
  head/sys/dev/drm2/drm_pciids.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_pciids.h
  head/sys/dev/drm2/drm_platform.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_platform.c
  head/sys/dev/drm2/drm_sarea.h
     - copied unchanged from r338171, head/sys/dev/drm2/drm_sarea.h
  head/sys/dev/drm2/drm_scatter.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_scatter.c
  head/sys/dev/drm2/drm_stub.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_stub.c
  head/sys/dev/drm2/drm_sysctl.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_sysctl.c
  head/sys/dev/drm2/drm_vm.c
     - copied unchanged from r338171, head/sys/dev/drm2/drm_vm.c
  head/sys/dev/drm2/i915/dvo.h
     - copied unchanged from r338171, head/sys/dev/drm2/i915/dvo.h
  head/sys/dev/drm2/i915/dvo_ch7017.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/dvo_ch7017.c
  head/sys/dev/drm2/i915/dvo_ch7xxx.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/dvo_ch7xxx.c
  head/sys/dev/drm2/i915/dvo_ivch.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/dvo_ivch.c
  head/sys/dev/drm2/i915/dvo_ns2501.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/dvo_ns2501.c
  head/sys/dev/drm2/i915/dvo_sil164.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/dvo_sil164.c
  head/sys/dev/drm2/i915/dvo_tfp410.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/dvo_tfp410.c
  head/sys/dev/drm2/i915/i915_debug.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_debug.c
  head/sys/dev/drm2/i915/i915_dma.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_dma.c
  head/sys/dev/drm2/i915/i915_drm.h
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_drm.h
  head/sys/dev/drm2/i915/i915_drv.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_drv.c
  head/sys/dev/drm2/i915/i915_drv.h
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_drv.h
  head/sys/dev/drm2/i915/i915_gem.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_gem.c
  head/sys/dev/drm2/i915/i915_gem_context.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_gem_context.c
  head/sys/dev/drm2/i915/i915_gem_evict.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_gem_evict.c
  head/sys/dev/drm2/i915/i915_gem_execbuffer.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_gem_execbuffer.c
  head/sys/dev/drm2/i915/i915_gem_gtt.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_gem_gtt.c
  head/sys/dev/drm2/i915/i915_gem_stolen.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_gem_stolen.c
  head/sys/dev/drm2/i915/i915_gem_tiling.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_gem_tiling.c
  head/sys/dev/drm2/i915/i915_ioc32.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_ioc32.c
  head/sys/dev/drm2/i915/i915_irq.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_irq.c
  head/sys/dev/drm2/i915/i915_reg.h
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_reg.h
  head/sys/dev/drm2/i915/i915_suspend.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/i915_suspend.c
  head/sys/dev/drm2/i915/intel_acpi.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_acpi.c
  head/sys/dev/drm2/i915/intel_bios.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_bios.c
  head/sys/dev/drm2/i915/intel_bios.h
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_bios.h
  head/sys/dev/drm2/i915/intel_crt.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_crt.c
  head/sys/dev/drm2/i915/intel_ddi.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_ddi.c
  head/sys/dev/drm2/i915/intel_display.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_display.c
  head/sys/dev/drm2/i915/intel_dp.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_dp.c
  head/sys/dev/drm2/i915/intel_drv.h
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_drv.h
  head/sys/dev/drm2/i915/intel_dvo.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_dvo.c
  head/sys/dev/drm2/i915/intel_fb.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_fb.c
  head/sys/dev/drm2/i915/intel_hdmi.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_hdmi.c
  head/sys/dev/drm2/i915/intel_iic.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_iic.c
  head/sys/dev/drm2/i915/intel_lvds.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_lvds.c
  head/sys/dev/drm2/i915/intel_modes.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_modes.c
  head/sys/dev/drm2/i915/intel_opregion.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_opregion.c
  head/sys/dev/drm2/i915/intel_overlay.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_overlay.c
  head/sys/dev/drm2/i915/intel_panel.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_panel.c
  head/sys/dev/drm2/i915/intel_pm.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_pm.c
  head/sys/dev/drm2/i915/intel_ringbuffer.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_ringbuffer.c
  head/sys/dev/drm2/i915/intel_ringbuffer.h
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_ringbuffer.h
  head/sys/dev/drm2/i915/intel_sdvo.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_sdvo.c
  head/sys/dev/drm2/i915/intel_sdvo_regs.h
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_sdvo_regs.h
  head/sys/dev/drm2/i915/intel_sprite.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_sprite.c
  head/sys/dev/drm2/i915/intel_tv.c
     - copied unchanged from r338171, head/sys/dev/drm2/i915/intel_tv.c
  head/sys/dev/drm2/radeon/ObjectID.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/ObjectID.h
  head/sys/dev/drm2/radeon/README
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/README
  head/sys/dev/drm2/radeon/atom-bits.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/atom-bits.h
  head/sys/dev/drm2/radeon/atom-names.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/atom-names.h
  head/sys/dev/drm2/radeon/atom-types.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/atom-types.h
  head/sys/dev/drm2/radeon/atom.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/atom.c
  head/sys/dev/drm2/radeon/atom.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/atom.h
  head/sys/dev/drm2/radeon/atombios.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/atombios.h
  head/sys/dev/drm2/radeon/atombios_crtc.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/atombios_crtc.c
  head/sys/dev/drm2/radeon/atombios_dp.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/atombios_dp.c
  head/sys/dev/drm2/radeon/atombios_encoders.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/atombios_encoders.c
  head/sys/dev/drm2/radeon/atombios_i2c.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/atombios_i2c.c
  head/sys/dev/drm2/radeon/avivod.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/avivod.h
  head/sys/dev/drm2/radeon/cayman_blit_shaders.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/cayman_blit_shaders.c
  head/sys/dev/drm2/radeon/cayman_blit_shaders.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/cayman_blit_shaders.h
  head/sys/dev/drm2/radeon/cayman_reg_safe.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/cayman_reg_safe.h
  head/sys/dev/drm2/radeon/evergreen.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/evergreen.c
  head/sys/dev/drm2/radeon/evergreen_blit_kms.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/evergreen_blit_kms.c
  head/sys/dev/drm2/radeon/evergreen_blit_shaders.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/evergreen_blit_shaders.c
  head/sys/dev/drm2/radeon/evergreen_blit_shaders.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/evergreen_blit_shaders.h
  head/sys/dev/drm2/radeon/evergreen_cs.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/evergreen_cs.c
  head/sys/dev/drm2/radeon/evergreen_hdmi.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/evergreen_hdmi.c
  head/sys/dev/drm2/radeon/evergreen_reg.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/evergreen_reg.h
  head/sys/dev/drm2/radeon/evergreen_reg_safe.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/evergreen_reg_safe.h
  head/sys/dev/drm2/radeon/evergreend.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/evergreend.h
  head/sys/dev/drm2/radeon/ni.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/ni.c
  head/sys/dev/drm2/radeon/ni_reg.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/ni_reg.h
  head/sys/dev/drm2/radeon/nid.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/nid.h
  head/sys/dev/drm2/radeon/r100.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r100.c
  head/sys/dev/drm2/radeon/r100_reg_safe.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r100_reg_safe.h
  head/sys/dev/drm2/radeon/r100_track.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r100_track.h
  head/sys/dev/drm2/radeon/r100d.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r100d.h
  head/sys/dev/drm2/radeon/r200.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r200.c
  head/sys/dev/drm2/radeon/r200_reg_safe.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r200_reg_safe.h
  head/sys/dev/drm2/radeon/r300.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r300.c
  head/sys/dev/drm2/radeon/r300_cmdbuf.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r300_cmdbuf.c
  head/sys/dev/drm2/radeon/r300_reg.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r300_reg.h
  head/sys/dev/drm2/radeon/r300_reg_safe.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r300_reg_safe.h
  head/sys/dev/drm2/radeon/r300d.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r300d.h
  head/sys/dev/drm2/radeon/r420.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r420.c
  head/sys/dev/drm2/radeon/r420_reg_safe.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r420_reg_safe.h
  head/sys/dev/drm2/radeon/r420d.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r420d.h
  head/sys/dev/drm2/radeon/r500_reg.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r500_reg.h
  head/sys/dev/drm2/radeon/r520.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r520.c
  head/sys/dev/drm2/radeon/r520d.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r520d.h
  head/sys/dev/drm2/radeon/r600.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r600.c
  head/sys/dev/drm2/radeon/r600_audio.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r600_audio.c
  head/sys/dev/drm2/radeon/r600_blit.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r600_blit.c
  head/sys/dev/drm2/radeon/r600_blit_kms.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r600_blit_kms.c
  head/sys/dev/drm2/radeon/r600_blit_shaders.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r600_blit_shaders.c
  head/sys/dev/drm2/radeon/r600_blit_shaders.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r600_blit_shaders.h
  head/sys/dev/drm2/radeon/r600_cp.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r600_cp.c
  head/sys/dev/drm2/radeon/r600_cp.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r600_cp.h
  head/sys/dev/drm2/radeon/r600_cs.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r600_cs.c
  head/sys/dev/drm2/radeon/r600_cs.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r600_cs.h
  head/sys/dev/drm2/radeon/r600_hdmi.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r600_hdmi.c
  head/sys/dev/drm2/radeon/r600_reg.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r600_reg.h
  head/sys/dev/drm2/radeon/r600_reg_safe.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r600_reg_safe.h
  head/sys/dev/drm2/radeon/r600d.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/r600d.h
  head/sys/dev/drm2/radeon/radeon.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon.h
  head/sys/dev/drm2/radeon/radeon_acpi.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_acpi.c
  head/sys/dev/drm2/radeon/radeon_acpi.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_acpi.h
  head/sys/dev/drm2/radeon/radeon_agp.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_agp.c
  head/sys/dev/drm2/radeon/radeon_asic.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_asic.c
  head/sys/dev/drm2/radeon/radeon_asic.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_asic.h
  head/sys/dev/drm2/radeon/radeon_atombios.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_atombios.c
  head/sys/dev/drm2/radeon/radeon_benchmark.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_benchmark.c
  head/sys/dev/drm2/radeon/radeon_bios.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_bios.c
  head/sys/dev/drm2/radeon/radeon_blit_common.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_blit_common.h
  head/sys/dev/drm2/radeon/radeon_clocks.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_clocks.c
  head/sys/dev/drm2/radeon/radeon_combios.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_combios.c
  head/sys/dev/drm2/radeon/radeon_connectors.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_connectors.c
  head/sys/dev/drm2/radeon/radeon_cp.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_cp.c
  head/sys/dev/drm2/radeon/radeon_cs.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_cs.c
  head/sys/dev/drm2/radeon/radeon_cursor.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_cursor.c
  head/sys/dev/drm2/radeon/radeon_device.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_device.c
  head/sys/dev/drm2/radeon/radeon_display.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_display.c
  head/sys/dev/drm2/radeon/radeon_drm.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_drm.h
  head/sys/dev/drm2/radeon/radeon_drv.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_drv.c
  head/sys/dev/drm2/radeon/radeon_drv.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_drv.h
  head/sys/dev/drm2/radeon/radeon_encoders.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_encoders.c
  head/sys/dev/drm2/radeon/radeon_family.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_family.h
  head/sys/dev/drm2/radeon/radeon_fb.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_fb.c
  head/sys/dev/drm2/radeon/radeon_fence.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_fence.c
  head/sys/dev/drm2/radeon/radeon_gart.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_gart.c
  head/sys/dev/drm2/radeon/radeon_gem.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_gem.c
  head/sys/dev/drm2/radeon/radeon_gem.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_gem.h
  head/sys/dev/drm2/radeon/radeon_i2c.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_i2c.c
  head/sys/dev/drm2/radeon/radeon_ioc32.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_ioc32.c
  head/sys/dev/drm2/radeon/radeon_irq.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_irq.c
  head/sys/dev/drm2/radeon/radeon_irq_kms.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_irq_kms.c
  head/sys/dev/drm2/radeon/radeon_irq_kms.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_irq_kms.h
  head/sys/dev/drm2/radeon/radeon_kms.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_kms.c
  head/sys/dev/drm2/radeon/radeon_kms.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_kms.h
  head/sys/dev/drm2/radeon/radeon_legacy_crtc.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_legacy_crtc.c
  head/sys/dev/drm2/radeon/radeon_legacy_encoders.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_legacy_encoders.c
  head/sys/dev/drm2/radeon/radeon_legacy_tv.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_legacy_tv.c
  head/sys/dev/drm2/radeon/radeon_mem.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_mem.c
  head/sys/dev/drm2/radeon/radeon_mode.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_mode.h
  head/sys/dev/drm2/radeon/radeon_object.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_object.c
  head/sys/dev/drm2/radeon/radeon_object.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_object.h
  head/sys/dev/drm2/radeon/radeon_pm.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_pm.c
  head/sys/dev/drm2/radeon/radeon_prime.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_prime.c
  head/sys/dev/drm2/radeon/radeon_reg.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_reg.h
  head/sys/dev/drm2/radeon/radeon_ring.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_ring.c
  head/sys/dev/drm2/radeon/radeon_sa.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_sa.c
  head/sys/dev/drm2/radeon/radeon_semaphore.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_semaphore.c
  head/sys/dev/drm2/radeon/radeon_state.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_state.c
  head/sys/dev/drm2/radeon/radeon_test.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_test.c
  head/sys/dev/drm2/radeon/radeon_trace.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_trace.h
  head/sys/dev/drm2/radeon/radeon_trace_points.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_trace_points.c
  head/sys/dev/drm2/radeon/radeon_ttm.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/radeon_ttm.c
  head/sys/dev/drm2/radeon/reg_srcs/cayman
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/reg_srcs/cayman
  head/sys/dev/drm2/radeon/reg_srcs/evergreen
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/reg_srcs/evergreen
  head/sys/dev/drm2/radeon/reg_srcs/r100
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/reg_srcs/r100
  head/sys/dev/drm2/radeon/reg_srcs/r200
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/reg_srcs/r200
  head/sys/dev/drm2/radeon/reg_srcs/r300
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/reg_srcs/r300
  head/sys/dev/drm2/radeon/reg_srcs/r420
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/reg_srcs/r420
  head/sys/dev/drm2/radeon/reg_srcs/r600
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/reg_srcs/r600
  head/sys/dev/drm2/radeon/reg_srcs/rn50
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/reg_srcs/rn50
  head/sys/dev/drm2/radeon/reg_srcs/rs600
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/reg_srcs/rs600
  head/sys/dev/drm2/radeon/reg_srcs/rv515
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/reg_srcs/rv515
  head/sys/dev/drm2/radeon/rn50_reg_safe.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rn50_reg_safe.h
  head/sys/dev/drm2/radeon/rs100d.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rs100d.h
  head/sys/dev/drm2/radeon/rs400.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rs400.c
  head/sys/dev/drm2/radeon/rs400d.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rs400d.h
  head/sys/dev/drm2/radeon/rs600.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rs600.c
  head/sys/dev/drm2/radeon/rs600_reg_safe.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rs600_reg_safe.h
  head/sys/dev/drm2/radeon/rs600d.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rs600d.h
  head/sys/dev/drm2/radeon/rs690.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rs690.c
  head/sys/dev/drm2/radeon/rs690d.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rs690d.h
  head/sys/dev/drm2/radeon/rv200d.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rv200d.h
  head/sys/dev/drm2/radeon/rv250d.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rv250d.h
  head/sys/dev/drm2/radeon/rv350d.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rv350d.h
  head/sys/dev/drm2/radeon/rv515.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rv515.c
  head/sys/dev/drm2/radeon/rv515_reg_safe.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rv515_reg_safe.h
  head/sys/dev/drm2/radeon/rv515d.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rv515d.h
  head/sys/dev/drm2/radeon/rv770.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rv770.c
  head/sys/dev/drm2/radeon/rv770d.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/rv770d.h
  head/sys/dev/drm2/radeon/si.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/si.c
  head/sys/dev/drm2/radeon/si_blit_shaders.c
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/si_blit_shaders.c
  head/sys/dev/drm2/radeon/si_blit_shaders.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/si_blit_shaders.h
  head/sys/dev/drm2/radeon/si_reg.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/si_reg.h
  head/sys/dev/drm2/radeon/sid.h
     - copied unchanged from r338171, head/sys/dev/drm2/radeon/sid.h
  head/sys/dev/drm2/ttm/ttm_agp_backend.c
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_agp_backend.c
  head/sys/dev/drm2/ttm/ttm_bo.c
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_bo.c
  head/sys/dev/drm2/ttm/ttm_bo_api.h
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_bo_api.h
  head/sys/dev/drm2/ttm/ttm_bo_driver.h
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_bo_driver.h
  head/sys/dev/drm2/ttm/ttm_bo_manager.c
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_bo_manager.c
  head/sys/dev/drm2/ttm/ttm_bo_util.c
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_bo_util.c
  head/sys/dev/drm2/ttm/ttm_bo_vm.c
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_bo_vm.c
  head/sys/dev/drm2/ttm/ttm_execbuf_util.c
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_execbuf_util.c
  head/sys/dev/drm2/ttm/ttm_execbuf_util.h
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_execbuf_util.h
  head/sys/dev/drm2/ttm/ttm_lock.c
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_lock.c
  head/sys/dev/drm2/ttm/ttm_lock.h
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_lock.h
  head/sys/dev/drm2/ttm/ttm_memory.c
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_memory.c
  head/sys/dev/drm2/ttm/ttm_memory.h
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_memory.h
  head/sys/dev/drm2/ttm/ttm_module.h
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_module.h
  head/sys/dev/drm2/ttm/ttm_object.c
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_object.c
  head/sys/dev/drm2/ttm/ttm_object.h
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_object.h
  head/sys/dev/drm2/ttm/ttm_page_alloc.c
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_page_alloc.c
  head/sys/dev/drm2/ttm/ttm_page_alloc.h
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_page_alloc.h
  head/sys/dev/drm2/ttm/ttm_page_alloc_dma.c
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_page_alloc_dma.c
  head/sys/dev/drm2/ttm/ttm_placement.h
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_placement.h
  head/sys/dev/drm2/ttm/ttm_tt.c
     - copied unchanged from r338171, head/sys/dev/drm2/ttm/ttm_tt.c
  head/sys/modules/drm/Makefile
     - copied unchanged from r338171, head/sys/modules/drm/Makefile
  head/sys/modules/drm/Makefile.inc
     - copied unchanged from r338171, head/sys/modules/drm/Makefile.inc
  head/sys/modules/drm/drm/Makefile
     - copied unchanged from r338171, head/sys/modules/drm/drm/Makefile
  head/sys/modules/drm/mach64/Makefile
     - copied unchanged from r338171, head/sys/modules/drm/mach64/Makefile
  head/sys/modules/drm/mga/Makefile
     - copied unchanged from r338171, head/sys/modules/drm/mga/Makefile
  head/sys/modules/drm/r128/Makefile
     - copied unchanged from r338171, head/sys/modules/drm/r128/Makefile
  head/sys/modules/drm/savage/Makefile
     - copied unchanged from r338171, head/sys/modules/drm/savage/Makefile
  head/sys/modules/drm/sis/Makefile
     - copied unchanged from r338171, head/sys/modules/drm/sis/Makefile
  head/sys/modules/drm/tdfx/Makefile
     - copied unchanged from r338171, head/sys/modules/drm/tdfx/Makefile
  head/sys/modules/drm/via/Makefile
     - copied unchanged from r338171, head/sys/modules/drm/via/Makefile
  head/sys/modules/drm2/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/Makefile
  head/sys/modules/drm2/Makefile.inc
     - copied unchanged from r338171, head/sys/modules/drm2/Makefile.inc
  head/sys/modules/drm2/drm2/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/drm2/Makefile
  head/sys/modules/drm2/i915kms/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/i915kms/Makefile
  head/sys/modules/drm2/radeonkms/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkms/Makefile
  head/sys/modules/drm2/radeonkmsfw/ARUBA_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/ARUBA_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/ARUBA_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/ARUBA_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/ARUBA_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/ARUBA_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/BARTS_mc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/BARTS_mc/Makefile
  head/sys/modules/drm2/radeonkmsfw/BARTS_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/BARTS_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/BARTS_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/BARTS_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/BTC_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/BTC_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/CAICOS_mc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/CAICOS_mc/Makefile
  head/sys/modules/drm2/radeonkmsfw/CAICOS_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/CAICOS_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/CAICOS_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/CAICOS_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/CAYMAN_mc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/CAYMAN_mc/Makefile
  head/sys/modules/drm2/radeonkmsfw/CAYMAN_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/CAYMAN_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/CAYMAN_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/CAYMAN_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/CAYMAN_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/CAYMAN_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/CEDAR_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/CEDAR_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/CEDAR_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/CEDAR_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/CEDAR_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/CEDAR_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/CYPRESS_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/CYPRESS_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/CYPRESS_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/CYPRESS_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/CYPRESS_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/CYPRESS_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/CYPRESS_uvd/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/CYPRESS_uvd/Makefile
  head/sys/modules/drm2/radeonkmsfw/HAINAN_ce/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/HAINAN_ce/Makefile
  head/sys/modules/drm2/radeonkmsfw/HAINAN_mc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/HAINAN_mc/Makefile
  head/sys/modules/drm2/radeonkmsfw/HAINAN_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/HAINAN_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/HAINAN_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/HAINAN_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/HAINAN_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/HAINAN_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/JUNIPER_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/JUNIPER_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/JUNIPER_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/JUNIPER_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/JUNIPER_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/JUNIPER_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/Makefile
  head/sys/modules/drm2/radeonkmsfw/Makefile.inc
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/Makefile.inc
  head/sys/modules/drm2/radeonkmsfw/OLAND_ce/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/OLAND_ce/Makefile
  head/sys/modules/drm2/radeonkmsfw/OLAND_mc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/OLAND_mc/Makefile
  head/sys/modules/drm2/radeonkmsfw/OLAND_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/OLAND_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/OLAND_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/OLAND_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/OLAND_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/OLAND_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/PALM_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/PALM_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/PALM_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/PALM_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/PITCAIRN_ce/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/PITCAIRN_ce/Makefile
  head/sys/modules/drm2/radeonkmsfw/PITCAIRN_mc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/PITCAIRN_mc/Makefile
  head/sys/modules/drm2/radeonkmsfw/PITCAIRN_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/PITCAIRN_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/PITCAIRN_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/PITCAIRN_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/PITCAIRN_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/PITCAIRN_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/R100_cp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/R100_cp/Makefile
  head/sys/modules/drm2/radeonkmsfw/R200_cp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/R200_cp/Makefile
  head/sys/modules/drm2/radeonkmsfw/R300_cp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/R300_cp/Makefile
  head/sys/modules/drm2/radeonkmsfw/R420_cp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/R420_cp/Makefile
  head/sys/modules/drm2/radeonkmsfw/R520_cp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/R520_cp/Makefile
  head/sys/modules/drm2/radeonkmsfw/R600_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/R600_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/R600_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/R600_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/R600_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/R600_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/R700_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/R700_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/REDWOOD_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/REDWOOD_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/REDWOOD_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/REDWOOD_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/REDWOOD_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/REDWOOD_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/RS600_cp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RS600_cp/Makefile
  head/sys/modules/drm2/radeonkmsfw/RS690_cp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RS690_cp/Makefile
  head/sys/modules/drm2/radeonkmsfw/RS780_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RS780_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/RS780_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RS780_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV610_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV610_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV610_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV610_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV620_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV620_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV620_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV620_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV630_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV630_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV630_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV630_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV635_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV635_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV635_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV635_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV670_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV670_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV670_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV670_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV710_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV710_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV710_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV710_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV710_uvd/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV710_uvd/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV730_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV730_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV730_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV730_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV770_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV770_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/RV770_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/RV770_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/SUMO2_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/SUMO2_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/SUMO2_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/SUMO2_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/SUMO_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/SUMO_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/SUMO_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/SUMO_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/SUMO_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/SUMO_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/SUMO_uvd/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/SUMO_uvd/Makefile
  head/sys/modules/drm2/radeonkmsfw/TAHITI_ce/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/TAHITI_ce/Makefile
  head/sys/modules/drm2/radeonkmsfw/TAHITI_mc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/TAHITI_mc/Makefile
  head/sys/modules/drm2/radeonkmsfw/TAHITI_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/TAHITI_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/TAHITI_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/TAHITI_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/TAHITI_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/TAHITI_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/TAHITI_uvd/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/TAHITI_uvd/Makefile
  head/sys/modules/drm2/radeonkmsfw/TURKS_mc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/TURKS_mc/Makefile
  head/sys/modules/drm2/radeonkmsfw/TURKS_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/TURKS_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/TURKS_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/TURKS_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/VERDE_ce/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/VERDE_ce/Makefile
  head/sys/modules/drm2/radeonkmsfw/VERDE_mc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/VERDE_mc/Makefile
  head/sys/modules/drm2/radeonkmsfw/VERDE_me/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/VERDE_me/Makefile
  head/sys/modules/drm2/radeonkmsfw/VERDE_pfp/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/VERDE_pfp/Makefile
  head/sys/modules/drm2/radeonkmsfw/VERDE_rlc/Makefile
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/VERDE_rlc/Makefile
  head/sys/modules/drm2/radeonkmsfw/gen-makefiles
     - copied unchanged from r338171, head/sys/modules/drm2/radeonkmsfw/gen-makefiles
  head/tools/kerneldoc/subsys/Doxyfile-dev_drm
     - copied unchanged from r338176, head/tools/kerneldoc/subsys/Doxyfile-dev_drm
  head/tools/tools/drm/
     - copied from r338175, head/tools/tools/drm/
Modified:
  head/UPDATING
  head/sys/amd64/conf/NOTES
  head/sys/arm/conf/TEGRA124
  head/sys/conf/files
  head/sys/i386/conf/NOTES
  head/sys/modules/Makefile
  head/sys/sys/param.h
  head/tools/tools/README

Modified: head/UPDATING
==============================================================================
--- head/UPDATING	Thu Aug 23 23:24:28 2018	(r338284)
+++ head/UPDATING	Fri Aug 24 00:02:00 2018	(r338285)
@@ -36,13 +36,6 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
 	updated to use them and devmatch has been changed.  You should update
 	kernel, userland and rc scripts all at the same time.
 
-20180821:
-	drm and drm2 have been removed. Users on powerpc, 32-bit hardware,
-	or with GPUs predating Radeon and i915 will need to install the
-	graphics/drm-legacy-kmod. All other users should be able to use
-	one of the LinuxKPI-based ports: graphics/drm-stable-kmod,
-	graphics/drm-next-kmod, graphics/drm-devel-kmod.
-
 20180818:
 	The default interpreter has been switched from 4th to Lua.
 	LOADER_DEFAULT_INTERP, documented in build(7), will override the default

Modified: head/sys/amd64/conf/NOTES
==============================================================================
--- head/sys/amd64/conf/NOTES	Thu Aug 23 23:24:28 2018	(r338284)
+++ head/sys/amd64/conf/NOTES	Fri Aug 24 00:02:00 2018	(r338285)
@@ -286,6 +286,17 @@ options 	ACPI_DEBUG
 # The cpufreq(4) driver provides support for non-ACPI CPU frequency control
 device		cpufreq
 
+# Direct Rendering modules for 3D acceleration.
+device		drm		# DRM core module required by DRM drivers
+device		mach64drm	# ATI Rage Pro, Rage Mobility P/M, Rage XL
+device		mgadrm		# AGP Matrox G200, G400, G450, G550
+device		r128drm		# ATI Rage 128
+device		savagedrm	# S3 Savage3D, Savage4
+device		sisdrm		# SiS 300/305, 540, 630
+device		tdfxdrm		# 3dfx Voodoo 3/4/5 and Banshee
+device		viadrm		# VIA
+options 	DRM_DEBUG	# Include debug printfs (slow)
+
 #
 # Network interfaces:
 #

Modified: head/sys/arm/conf/TEGRA124
==============================================================================
--- head/sys/arm/conf/TEGRA124	Thu Aug 23 23:24:28 2018	(r338284)
+++ head/sys/arm/conf/TEGRA124	Fri Aug 24 00:02:00 2018	(r338285)
@@ -124,6 +124,7 @@ device		re			# RealTek 8139C+/8169/8169S/8110S
 device		fbd
 device		vt
 device		kbdmux
+device		drm2
 
 # Sound
 #device		sound

Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files	Thu Aug 23 23:24:28 2018	(r338284)
+++ head/sys/conf/files	Fri Aug 24 00:02:00 2018	(r338285)
@@ -1553,6 +1553,99 @@ dev/de/if_de.c			optional de pci
 dev/dme/if_dme.c		optional dme
 dev/dpt/dpt_pci.c		optional dpt pci
 dev/dpt/dpt_scsi.c		optional dpt
+dev/drm/ati_pcigart.c		optional drm
+dev/drm/drm_agpsupport.c	optional drm
+dev/drm/drm_auth.c		optional drm
+dev/drm/drm_bufs.c		optional drm
+dev/drm/drm_context.c		optional drm
+dev/drm/drm_dma.c		optional drm
+dev/drm/drm_drawable.c		optional drm
+dev/drm/drm_drv.c		optional drm
+dev/drm/drm_fops.c		optional drm
+dev/drm/drm_hashtab.c		optional drm
+dev/drm/drm_ioctl.c		optional drm
+dev/drm/drm_irq.c		optional drm
+dev/drm/drm_lock.c		optional drm
+dev/drm/drm_memory.c		optional drm
+dev/drm/drm_mm.c		optional drm
+dev/drm/drm_pci.c		optional drm
+dev/drm/drm_scatter.c		optional drm
+dev/drm/drm_sman.c		optional drm
+dev/drm/drm_sysctl.c		optional drm
+dev/drm/drm_vm.c		optional drm
+dev/drm/mach64_dma.c		optional mach64drm
+dev/drm/mach64_drv.c		optional mach64drm
+dev/drm/mach64_irq.c		optional mach64drm
+dev/drm/mach64_state.c		optional mach64drm
+dev/drm/mga_dma.c		optional mgadrm
+dev/drm/mga_drv.c		optional mgadrm
+dev/drm/mga_irq.c		optional mgadrm
+dev/drm/mga_state.c		optional mgadrm
+dev/drm/mga_warp.c		optional mgadrm
+dev/drm/r128_cce.c		optional r128drm \
+	compile-with "${NORMAL_C} ${NO_WCONSTANT_CONVERSION}"
+dev/drm/r128_drv.c		optional r128drm
+dev/drm/r128_irq.c		optional r128drm
+dev/drm/r128_state.c		optional r128drm
+dev/drm/savage_bci.c		optional savagedrm
+dev/drm/savage_drv.c		optional savagedrm
+dev/drm/savage_state.c		optional savagedrm
+dev/drm/sis_drv.c		optional sisdrm
+dev/drm/sis_ds.c		optional sisdrm
+dev/drm/sis_mm.c		optional sisdrm
+dev/drm/tdfx_drv.c		optional tdfxdrm
+dev/drm/via_dma.c		optional viadrm
+dev/drm/via_dmablit.c		optional viadrm
+dev/drm/via_drv.c		optional viadrm
+dev/drm/via_irq.c		optional viadrm
+dev/drm/via_map.c		optional viadrm
+dev/drm/via_mm.c		optional viadrm
+dev/drm/via_verifier.c		optional viadrm
+dev/drm/via_video.c		optional viadrm
+dev/drm2/drm_agpsupport.c	optional drm2
+dev/drm2/drm_auth.c		optional drm2
+dev/drm2/drm_bufs.c		optional drm2
+dev/drm2/drm_buffer.c		optional drm2
+dev/drm2/drm_context.c		optional drm2
+dev/drm2/drm_crtc.c		optional drm2
+dev/drm2/drm_crtc_helper.c	optional drm2
+dev/drm2/drm_dma.c		optional drm2
+dev/drm2/drm_dp_helper.c	optional drm2
+dev/drm2/drm_dp_iic_helper.c	optional drm2
+dev/drm2/drm_drv.c		optional drm2
+dev/drm2/drm_edid.c		optional drm2
+dev/drm2/drm_fb_helper.c	optional drm2
+dev/drm2/drm_fops.c		optional drm2
+dev/drm2/drm_gem.c		optional drm2
+dev/drm2/drm_gem_names.c	optional drm2
+dev/drm2/drm_global.c		optional drm2
+dev/drm2/drm_hashtab.c		optional drm2
+dev/drm2/drm_ioctl.c		optional drm2
+dev/drm2/drm_irq.c		optional drm2
+dev/drm2/drm_linux_list_sort.c	optional drm2
+dev/drm2/drm_lock.c		optional drm2
+dev/drm2/drm_memory.c		optional drm2
+dev/drm2/drm_mm.c		optional drm2
+dev/drm2/drm_modes.c		optional drm2
+dev/drm2/drm_pci.c		optional drm2
+dev/drm2/drm_platform.c		optional drm2
+dev/drm2/drm_scatter.c		optional drm2
+dev/drm2/drm_stub.c		optional drm2
+dev/drm2/drm_sysctl.c		optional drm2
+dev/drm2/drm_vm.c		optional drm2
+dev/drm2/drm_os_freebsd.c	optional drm2
+dev/drm2/ttm/ttm_agp_backend.c	optional drm2
+dev/drm2/ttm/ttm_lock.c		optional drm2
+dev/drm2/ttm/ttm_object.c	optional drm2
+dev/drm2/ttm/ttm_tt.c		optional drm2
+dev/drm2/ttm/ttm_bo_util.c	optional drm2
+dev/drm2/ttm/ttm_bo.c		optional drm2
+dev/drm2/ttm/ttm_bo_manager.c	optional drm2
+dev/drm2/ttm/ttm_execbuf_util.c	optional drm2
+dev/drm2/ttm/ttm_memory.c	optional drm2
+dev/drm2/ttm/ttm_page_alloc.c	optional drm2
+dev/drm2/ttm/ttm_bo_vm.c	optional drm2
+dev/drm2/ati_pcigart.c		optional drm2 agp pci
 dev/ed/if_ed.c			optional ed
 dev/ed/if_ed_novell.c		optional ed
 dev/ed/if_ed_rtl80x9.c		optional ed

Copied: head/sys/dev/drm/ati_pcigart.c (from r338171, head/sys/dev/drm/ati_pcigart.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/dev/drm/ati_pcigart.c	Fri Aug 24 00:02:00 2018	(r338285, copy of r338171, head/sys/dev/drm/ati_pcigart.c)
@@ -0,0 +1,227 @@
+/*-
+ * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Authors:
+ *   Gareth Hughes <gareth at valinux.com>
+ *
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+/** @file ati_pcigart.c
+ * Implementation of ATI's PCIGART, which provides an aperture in card virtual
+ * address space with addresses remapped to system memory.
+ */
+
+#include "dev/drm/drmP.h"
+
+#define ATI_PCIGART_PAGE_SIZE		4096	/* PCI GART page size */
+#define ATI_PCIGART_PAGE_MASK		(~(ATI_PCIGART_PAGE_SIZE-1))
+
+#define ATI_GART_NOSNOOP	0x1
+#define ATI_GART_WRITE		0x4
+#define ATI_GART_READ		0x8
+
+static void
+drm_ati_alloc_pcigart_table_cb(void *arg, bus_dma_segment_t *segs,
+			       int nsegs, int error)
+{
+	struct drm_dma_handle *dmah = arg;
+
+	if (error != 0)
+		return;
+
+	KASSERT(nsegs == 1,
+	    ("drm_ati_alloc_pcigart_table_cb: bad dma segment count"));
+
+	dmah->busaddr = segs[0].ds_addr;
+}
+
+static int
+drm_ati_alloc_pcigart_table(struct drm_device *dev,
+			    struct drm_ati_pcigart_info *gart_info)
+{
+	struct drm_dma_handle *dmah;
+	int flags, ret;
+
+	dmah = malloc(sizeof(struct drm_dma_handle), DRM_MEM_DMA,
+	    M_ZERO | M_NOWAIT);
+	if (dmah == NULL)
+		return ENOMEM;
+
+	DRM_UNLOCK();
+	ret = bus_dma_tag_create(NULL, PAGE_SIZE, 0, /* tag, align, boundary */
+	    gart_info->table_mask, BUS_SPACE_MAXADDR, /* lowaddr, highaddr */
+	    NULL, NULL, /* filtfunc, filtfuncargs */
+	    gart_info->table_size, 1, /* maxsize, nsegs */
+	    gart_info->table_size, /* maxsegsize */
+	    0, NULL, NULL, /* flags, lockfunc, lockfuncargs */
+	    &dmah->tag);
+	if (ret != 0) {
+		free(dmah, DRM_MEM_DMA);
+		return ENOMEM;
+	}
+
+	flags = BUS_DMA_WAITOK | BUS_DMA_ZERO;
+	if (gart_info->gart_reg_if == DRM_ATI_GART_IGP)
+	    flags |= BUS_DMA_NOCACHE;
+	
+	ret = bus_dmamem_alloc(dmah->tag, &dmah->vaddr, flags, &dmah->map);
+	if (ret != 0) {
+		bus_dma_tag_destroy(dmah->tag);
+		free(dmah, DRM_MEM_DMA);
+		return ENOMEM;
+	}
+	DRM_LOCK();
+
+	ret = bus_dmamap_load(dmah->tag, dmah->map, dmah->vaddr,
+	    gart_info->table_size, drm_ati_alloc_pcigart_table_cb, dmah,
+	    BUS_DMA_NOWAIT);
+	if (ret != 0) {
+		bus_dmamem_free(dmah->tag, dmah->vaddr, dmah->map);
+		bus_dma_tag_destroy(dmah->tag);
+		free(dmah, DRM_MEM_DMA);
+		return ENOMEM;
+	}
+
+	gart_info->dmah = dmah;
+
+	return 0;
+}
+
+static void
+drm_ati_free_pcigart_table(struct drm_device *dev,
+			   struct drm_ati_pcigart_info *gart_info)
+{
+	struct drm_dma_handle *dmah = gart_info->dmah;
+
+	bus_dmamap_unload(dmah->tag, dmah->map);
+	bus_dmamem_free(dmah->tag, dmah->vaddr, dmah->map);
+	bus_dma_tag_destroy(dmah->tag);
+	free(dmah, DRM_MEM_DMA);
+	gart_info->dmah = NULL;
+}
+
+int
+drm_ati_pcigart_cleanup(struct drm_device *dev,
+			struct drm_ati_pcigart_info *gart_info)
+{
+	/* we need to support large memory configurations */
+	if (dev->sg == NULL) {
+		DRM_ERROR("no scatter/gather memory!\n");
+		return 0;
+	}
+
+	if (gart_info->bus_addr) {
+		if (gart_info->gart_table_location == DRM_ATI_GART_MAIN) {
+			gart_info->bus_addr = 0;
+			if (gart_info->dmah)
+				drm_ati_free_pcigart_table(dev, gart_info);
+		}
+	}
+
+	return 1;
+}
+
+int
+drm_ati_pcigart_init(struct drm_device *dev,
+		     struct drm_ati_pcigart_info *gart_info)
+{
+	void *address = NULL;
+	unsigned long pages;
+	u32 *pci_gart, page_base;
+	dma_addr_t bus_address = 0;
+	dma_addr_t entry_addr;
+	int i, j, ret = 0;
+	int max_pages;
+
+	/* we need to support large memory configurations */
+	if (dev->sg == NULL) {
+		DRM_ERROR("no scatter/gather memory!\n");
+		goto done;
+	}
+
+	if (gart_info->gart_table_location == DRM_ATI_GART_MAIN) {
+		DRM_DEBUG("PCI: no table in VRAM: using normal RAM\n");
+
+		ret = drm_ati_alloc_pcigart_table(dev, gart_info);
+		if (ret) {
+			DRM_ERROR("cannot allocate PCI GART page!\n");
+			goto done;
+		}
+
+		address = (void *)gart_info->dmah->vaddr;
+		bus_address = gart_info->dmah->busaddr;
+	} else {
+		address = gart_info->addr;
+		bus_address = gart_info->bus_addr;
+		DRM_DEBUG("PCI: Gart Table: VRAM %08X mapped at %08lX\n",
+			  (unsigned int)bus_address, (unsigned long)address);
+	}
+
+	pci_gart = (u32 *) address;
+
+	max_pages = (gart_info->table_size / sizeof(u32));
+	pages = (dev->sg->pages <= max_pages)
+	    ? dev->sg->pages : max_pages;
+
+	memset(pci_gart, 0, max_pages * sizeof(u32));
+
+	KASSERT(PAGE_SIZE >= ATI_PCIGART_PAGE_SIZE, ("page size too small"));
+
+	for (i = 0; i < pages; i++) {
+		entry_addr = dev->sg->busaddr[i];
+		for (j = 0; j < (PAGE_SIZE / ATI_PCIGART_PAGE_SIZE); j++) {
+			page_base = (u32) entry_addr & ATI_PCIGART_PAGE_MASK;
+			switch(gart_info->gart_reg_if) {
+			case DRM_ATI_GART_IGP:
+				page_base |=
+				    (upper_32_bits(entry_addr) & 0xff) << 4;
+				page_base |= ATI_GART_READ | ATI_GART_WRITE;
+				page_base |= ATI_GART_NOSNOOP;
+				break;
+			case DRM_ATI_GART_PCIE:
+				page_base >>= 8;
+				page_base |=
+				    (upper_32_bits(entry_addr) & 0xff) << 24;
+				page_base |= ATI_GART_READ | ATI_GART_WRITE;
+				page_base |= ATI_GART_NOSNOOP;
+				break;
+			default:
+			case DRM_ATI_GART_PCI:
+				break;
+			}
+			*pci_gart = cpu_to_le32(page_base);
+			pci_gart++;
+			entry_addr += ATI_PCIGART_PAGE_SIZE;
+		}
+	}
+
+	ret = 1;
+
+    done:
+	gart_info->addr = address;
+	gart_info->bus_addr = bus_address;
+	return ret;
+}

Copied: head/sys/dev/drm/drm.h (from r338171, head/sys/dev/drm/drm.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/dev/drm/drm.h	Fri Aug 24 00:02:00 2018	(r338285, copy of r338171, head/sys/dev/drm/drm.h)
@@ -0,0 +1,1148 @@
+/**
+ * \file drm.h
+ * Header for the Direct Rendering Manager
+ *
+ * \author Rickard E. (Rik) Faith <faith at valinux.com>
+ *
+ * \par Acknowledgments:
+ * Dec 1999, Richard Henderson <rth at twiddle.net>, move to generic \c cmpxchg.
+ */
+
+/*-
+ * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
+ * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
+ * All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+/**
+ * \mainpage
+ *
+ * The Direct Rendering Manager (DRM) is a device-independent kernel-level
+ * device driver that provides support for the XFree86 Direct Rendering
+ * Infrastructure (DRI).
+ *
+ * The DRM supports the Direct Rendering Infrastructure (DRI) in four major
+ * ways:
+ *     -# The DRM provides synchronized access to the graphics hardware via
+ *        the use of an optimized two-tiered lock.
+ *     -# The DRM enforces the DRI security policy for access to the graphics
+ *        hardware by only allowing authenticated X11 clients access to
+ *        restricted regions of memory.
+ *     -# The DRM provides a generic DMA engine, complete with multiple
+ *        queues and the ability to detect the need for an OpenGL context
+ *        switch.
+ *     -# The DRM is extensible via the use of small device-specific modules
+ *        that rely extensively on the API exported by the DRM module.
+ *
+ */
+
+#ifndef _DRM_H_
+#define _DRM_H_
+
+#ifndef __user
+#define __user
+#endif
+#ifndef __iomem
+#define __iomem
+#endif
+
+#ifdef __GNUC__
+# define DEPRECATED  __attribute__ ((deprecated))
+#else
+# define DEPRECATED
+#endif
+
+#if defined(__linux__)
+#include <asm/ioctl.h>		/* For _IO* macros */
+#define DRM_IOCTL_NR(n)		_IOC_NR(n)
+#define DRM_IOC_VOID		_IOC_NONE
+#define DRM_IOC_READ		_IOC_READ
+#define DRM_IOC_WRITE		_IOC_WRITE
+#define DRM_IOC_READWRITE	_IOC_READ|_IOC_WRITE
+#define DRM_IOC(dir, group, nr, size) _IOC(dir, group, nr, size)
+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
+#include <sys/ioccom.h>
+#define DRM_IOCTL_NR(n)		((n) & 0xff)
+#define DRM_IOC_VOID		IOC_VOID
+#define DRM_IOC_READ		IOC_OUT
+#define DRM_IOC_WRITE		IOC_IN
+#define DRM_IOC_READWRITE	IOC_INOUT
+#define DRM_IOC(dir, group, nr, size) _IOC(dir, group, nr, size)
+#endif
+
+#ifdef __OpenBSD__
+#define DRM_MAJOR       81
+#endif
+#if defined(__linux__) || defined(__NetBSD__)
+#define DRM_MAJOR       226
+#endif
+#define DRM_MAX_MINOR   15
+
+#define DRM_NAME	"drm"	  /**< Name in kernel, /dev, and /proc */
+#define DRM_MIN_ORDER	5	  /**< At least 2^5 bytes = 32 bytes */
+#define DRM_MAX_ORDER	22	  /**< Up to 2^22 bytes = 4MB */
+#define DRM_RAM_PERCENT 10	  /**< How much system ram can we lock? */
+
+#define _DRM_LOCK_HELD	0x80000000U /**< Hardware lock is held */
+#define _DRM_LOCK_CONT	0x40000000U /**< Hardware lock is contended */
+#define _DRM_LOCK_IS_HELD(lock)	   ((lock) & _DRM_LOCK_HELD)
+#define _DRM_LOCK_IS_CONT(lock)	   ((lock) & _DRM_LOCK_CONT)
+#define _DRM_LOCKING_CONTEXT(lock) ((lock) & ~(_DRM_LOCK_HELD|_DRM_LOCK_CONT))
+
+#if defined(__linux__)
+typedef unsigned int drm_handle_t;
+#else
+#include <sys/types.h>
+typedef unsigned long drm_handle_t;	/**< To mapped regions */
+#endif
+typedef unsigned int drm_context_t;	/**< GLXContext handle */
+typedef unsigned int drm_drawable_t;
+typedef unsigned int drm_magic_t;	/**< Magic for authentication */
+
+/**
+ * Cliprect.
+ *
+ * \warning If you change this structure, make sure you change
+ * XF86DRIClipRectRec in the server as well
+ *
+ * \note KW: Actually it's illegal to change either for
+ * backwards-compatibility reasons.
+ */
+struct drm_clip_rect {
+	unsigned short x1;
+	unsigned short y1;
+	unsigned short x2;
+	unsigned short y2;
+};
+
+/**
+ * Texture region,
+ */
+struct drm_tex_region {
+	unsigned char next;
+	unsigned char prev;
+	unsigned char in_use;
+	unsigned char padding;
+	unsigned int age;
+};
+
+/**
+ * Hardware lock.
+ *
+ * The lock structure is a simple cache-line aligned integer.  To avoid
+ * processor bus contention on a multiprocessor system, there should not be any
+ * other data stored in the same cache line.
+ */
+struct drm_hw_lock {
+	__volatile__ unsigned int lock;		/**< lock variable */
+	char padding[60];			/**< Pad to cache line */
+};
+
+/* This is beyond ugly, and only works on GCC.  However, it allows me to use
+ * drm.h in places (i.e., in the X-server) where I can't use size_t.  The real
+ * fix is to use uint32_t instead of size_t, but that fix will break existing
+ * LP64 (i.e., PowerPC64, SPARC64, Alpha, etc.) systems.  That *will*
+ * eventually happen, though.  I chose 'unsigned long' to be the fallback type
+ * because that works on all the platforms I know about.  Hopefully, the
+ * real fix will happen before that bites us.
+ */
+
+#ifdef __SIZE_TYPE__
+# define DRM_SIZE_T __SIZE_TYPE__
+#else
+# warning "__SIZE_TYPE__ not defined.  Assuming sizeof(size_t) == sizeof(unsigned long)!"
+# define DRM_SIZE_T unsigned long
+#endif
+
+/**
+ * DRM_IOCTL_VERSION ioctl argument type.
+ *
+ * \sa drmGetVersion().
+ */
+struct drm_version {
+	int version_major;	  /**< Major version */
+	int version_minor;	  /**< Minor version */
+	int version_patchlevel;	  /**< Patch level */
+	DRM_SIZE_T name_len;	  /**< Length of name buffer */
+	char __user *name;		  /**< Name of driver */
+	DRM_SIZE_T date_len;	  /**< Length of date buffer */
+	char __user *date;		  /**< User-space buffer to hold date */
+	DRM_SIZE_T desc_len;	  /**< Length of desc buffer */
+	char __user *desc;		  /**< User-space buffer to hold desc */
+};
+
+/**
+ * DRM_IOCTL_GET_UNIQUE ioctl argument type.
+ *
+ * \sa drmGetBusid() and drmSetBusId().
+ */
+struct drm_unique {
+	DRM_SIZE_T unique_len;	  /**< Length of unique */
+	char __user *unique;		  /**< Unique name for driver instantiation */
+};
+
+#undef DRM_SIZE_T
+
+struct drm_list {
+	int count;		  /**< Length of user-space structures */
+	struct drm_version __user *version;
+};
+
+struct drm_block {
+	int unused;
+};
+
+/**
+ * DRM_IOCTL_CONTROL ioctl argument type.
+ *
+ * \sa drmCtlInstHandler() and drmCtlUninstHandler().
+ */
+struct drm_control {
+	enum {
+		DRM_ADD_COMMAND,
+		DRM_RM_COMMAND,
+		DRM_INST_HANDLER,
+		DRM_UNINST_HANDLER
+	} func;
+	int irq;
+};
+
+/**
+ * Type of memory to map.
+ */
+enum drm_map_type {
+	_DRM_FRAME_BUFFER = 0,	  /**< WC (no caching), no core dump */
+	_DRM_REGISTERS = 1,	  /**< no caching, no core dump */
+	_DRM_SHM = 2,		  /**< shared, cached */
+	_DRM_AGP = 3,		  /**< AGP/GART */
+	_DRM_SCATTER_GATHER = 4,  /**< Scatter/gather memory for PCI DMA */
+	_DRM_CONSISTENT = 5,	  /**< Consistent memory for PCI DMA */
+	_DRM_TTM = 6
+};
+
+/**
+ * Memory mapping flags.
+ */
+enum drm_map_flags {
+	_DRM_RESTRICTED = 0x01,	     /**< Cannot be mapped to user-virtual */
+	_DRM_READ_ONLY = 0x02,
+	_DRM_LOCKED = 0x04,	     /**< shared, cached, locked */
+	_DRM_KERNEL = 0x08,	     /**< kernel requires access */
+	_DRM_WRITE_COMBINING = 0x10, /**< use write-combining if available */
+	_DRM_CONTAINS_LOCK = 0x20,   /**< SHM page that contains lock */
+	_DRM_REMOVABLE = 0x40,	     /**< Removable mapping */
+	_DRM_DRIVER = 0x80	     /**< Managed by driver */
+};
+
+struct drm_ctx_priv_map {
+	unsigned int ctx_id;	 /**< Context requesting private mapping */
+	void *handle;		 /**< Handle of map */
+};
+
+/**
+ * DRM_IOCTL_GET_MAP, DRM_IOCTL_ADD_MAP and DRM_IOCTL_RM_MAP ioctls
+ * argument type.
+ *
+ * \sa drmAddMap().
+ */
+struct drm_map {
+	unsigned long offset;	 /**< Requested physical address (0 for SAREA)*/
+	unsigned long size;	 /**< Requested physical size (bytes) */
+	enum drm_map_type type;	 /**< Type of memory to map */
+	enum drm_map_flags flags;	 /**< Flags */
+	void *handle;		 /**< User-space: "Handle" to pass to mmap() */
+				 /**< Kernel-space: kernel-virtual address */
+	int mtrr;		 /**< MTRR slot used */
+	/*   Private data */
+};
+
+/**
+ * DRM_IOCTL_GET_CLIENT ioctl argument type.
+ */
+struct drm_client {
+	int idx;		/**< Which client desired? */
+	int auth;		/**< Is client authenticated? */
+	unsigned long pid;	/**< Process ID */
+	unsigned long uid;	/**< User ID */
+	unsigned long magic;	/**< Magic */
+	unsigned long iocs;	/**< Ioctl count */
+};
+
+enum drm_stat_type {
+	_DRM_STAT_LOCK,
+	_DRM_STAT_OPENS,
+	_DRM_STAT_CLOSES,
+	_DRM_STAT_IOCTLS,
+	_DRM_STAT_LOCKS,
+	_DRM_STAT_UNLOCKS,
+	_DRM_STAT_VALUE,	/**< Generic value */
+	_DRM_STAT_BYTE,		/**< Generic byte counter (1024bytes/K) */
+	_DRM_STAT_COUNT,	/**< Generic non-byte counter (1000/k) */
+
+	_DRM_STAT_IRQ,		/**< IRQ */
+	_DRM_STAT_PRIMARY,	/**< Primary DMA bytes */
+	_DRM_STAT_SECONDARY,	/**< Secondary DMA bytes */
+	_DRM_STAT_DMA,		/**< DMA */
+	_DRM_STAT_SPECIAL,	/**< Special DMA (e.g., priority or polled) */
+	_DRM_STAT_MISSED	/**< Missed DMA opportunity */
+	    /* Add to the *END* of the list */
+};
+
+/**
+ * DRM_IOCTL_GET_STATS ioctl argument type.
+ */
+struct drm_stats {
+	unsigned long count;
+	struct {
+		unsigned long value;
+		enum drm_stat_type type;
+	} data[15];
+};
+
+/**
+ * Hardware locking flags.
+ */
+enum drm_lock_flags {
+	_DRM_LOCK_READY = 0x01,	     /**< Wait until hardware is ready for DMA */
+	_DRM_LOCK_QUIESCENT = 0x02,  /**< Wait until hardware quiescent */
+	_DRM_LOCK_FLUSH = 0x04,	     /**< Flush this context's DMA queue first */
+	_DRM_LOCK_FLUSH_ALL = 0x08,  /**< Flush all DMA queues first */
+	/* These *HALT* flags aren't supported yet
+	   -- they will be used to support the
+	   full-screen DGA-like mode. */
+	_DRM_HALT_ALL_QUEUES = 0x10, /**< Halt all current and future queues */
+	_DRM_HALT_CUR_QUEUES = 0x20  /**< Halt all current queues */
+};
+
+/**
+ * DRM_IOCTL_LOCK, DRM_IOCTL_UNLOCK and DRM_IOCTL_FINISH ioctl argument type.
+ *
+ * \sa drmGetLock() and drmUnlock().
+ */
+struct drm_lock {
+	int context;
+	enum drm_lock_flags flags;
+};
+
+/**
+ * DMA flags
+ *
+ * \warning
+ * These values \e must match xf86drm.h.
+ *
+ * \sa drm_dma.
+ */
+enum drm_dma_flags {
+	/* Flags for DMA buffer dispatch */
+	_DRM_DMA_BLOCK = 0x01,	      /**<
+				       * Block until buffer dispatched.
+				       *
+				       * \note The buffer may not yet have
+				       * been processed by the hardware --
+				       * getting a hardware lock with the
+				       * hardware quiescent will ensure
+				       * that the buffer has been
+				       * processed.
+				       */
+	_DRM_DMA_WHILE_LOCKED = 0x02, /**< Dispatch while lock held */
+	_DRM_DMA_PRIORITY = 0x04,     /**< High priority dispatch */
+
+	/* Flags for DMA buffer request */
+	_DRM_DMA_WAIT = 0x10,	      /**< Wait for free buffers */
+	_DRM_DMA_SMALLER_OK = 0x20,   /**< Smaller-than-requested buffers OK */
+	_DRM_DMA_LARGER_OK = 0x40     /**< Larger-than-requested buffers OK */
+};
+
+/**
+ * DRM_IOCTL_ADD_BUFS and DRM_IOCTL_MARK_BUFS ioctl argument type.
+ *
+ * \sa drmAddBufs().
+ */
+struct drm_buf_desc {
+	int count;		 /**< Number of buffers of this size */
+	int size;		 /**< Size in bytes */
+	int low_mark;		 /**< Low water mark */
+	int high_mark;		 /**< High water mark */
+	enum {
+		_DRM_PAGE_ALIGN = 0x01,	/**< Align on page boundaries for DMA */
+		_DRM_AGP_BUFFER = 0x02,	/**< Buffer is in AGP space */
+		_DRM_SG_BUFFER  = 0x04,	/**< Scatter/gather memory buffer */
+		_DRM_FB_BUFFER  = 0x08, /**< Buffer is in frame buffer */
+		_DRM_PCI_BUFFER_RO = 0x10 /**< Map PCI DMA buffer read-only */
+	} flags;
+	unsigned long agp_start; /**<
+				  * Start address of where the AGP buffers are
+				  * in the AGP aperture
+				  */
+};
+
+/**
+ * DRM_IOCTL_INFO_BUFS ioctl argument type.
+ */
+struct drm_buf_info {
+	int count;		  /**< Number of buffers described in list */
+	struct drm_buf_desc __user *list; /**< List of buffer descriptions */
+};
+
+/**
+ * DRM_IOCTL_FREE_BUFS ioctl argument type.
+ */
+struct drm_buf_free {
+	int count;
+	int __user *list;
+};
+
+/**
+ * Buffer information
+ *
+ * \sa drm_buf_map.
+ */
+struct drm_buf_pub {
+	int idx;		       /**< Index into the master buffer list */
+	int total;		       /**< Buffer size */
+	int used;		       /**< Amount of buffer in use (for DMA) */
+	void __user *address;	       /**< Address of buffer */
+};
+
+/**
+ * DRM_IOCTL_MAP_BUFS ioctl argument type.
+ */
+struct drm_buf_map {
+	int count;		/**< Length of the buffer list */
+#if defined(__cplusplus)
+	void __user *c_virtual;
+#else
+	void __user *virtual;		/**< Mmap'd area in user-virtual */
+#endif
+	struct drm_buf_pub __user *list;	/**< Buffer information */
+};
+
+/**
+ * DRM_IOCTL_DMA ioctl argument type.
+ *
+ * Indices here refer to the offset into the buffer list in drm_buf_get.
+ *
+ * \sa drmDMA().
+ */
+struct drm_dma {
+	int context;			  /**< Context handle */
+	int send_count;			  /**< Number of buffers to send */
+	int __user *send_indices;	  /**< List of handles to buffers */
+	int __user *send_sizes;		  /**< Lengths of data to send */
+	enum drm_dma_flags flags;	  /**< Flags */
+	int request_count;		  /**< Number of buffers requested */
+	int request_size;		  /**< Desired size for buffers */
+	int __user *request_indices;	 /**< Buffer information */
+	int __user *request_sizes;
+	int granted_count;		  /**< Number of buffers granted */
+};
+
+enum drm_ctx_flags {
+	_DRM_CONTEXT_PRESERVED = 0x01,
+	_DRM_CONTEXT_2DONLY = 0x02
+};
+
+/**
+ * DRM_IOCTL_ADD_CTX ioctl argument type.
+ *
+ * \sa drmCreateContext() and drmDestroyContext().
+ */
+struct drm_ctx {
+	drm_context_t handle;
+	enum drm_ctx_flags flags;
+};
+
+/**
+ * DRM_IOCTL_RES_CTX ioctl argument type.
+ */
+struct drm_ctx_res {
+	int count;
+	struct drm_ctx __user *contexts;
+};
+
+/**
+ * DRM_IOCTL_ADD_DRAW and DRM_IOCTL_RM_DRAW ioctl argument type.
+ */
+struct drm_draw {
+	drm_drawable_t handle;
+};
+
+/**
+ * DRM_IOCTL_UPDATE_DRAW ioctl argument type.
+ */
+typedef enum {
+	DRM_DRAWABLE_CLIPRECTS,
+} drm_drawable_info_type_t;
+
+struct drm_update_draw {
+	drm_drawable_t handle;
+	unsigned int type;
+	unsigned int num;
+	unsigned long long data;
+};
+
+/**
+ * DRM_IOCTL_GET_MAGIC and DRM_IOCTL_AUTH_MAGIC ioctl argument type.
+ */
+struct drm_auth {
+	drm_magic_t magic;
+};
+
+/**
+ * DRM_IOCTL_IRQ_BUSID ioctl argument type.
+ *
+ * \sa drmGetInterruptFromBusID().
+ */
+struct drm_irq_busid {
+	int irq;	/**< IRQ number */
+	int busnum;	/**< bus number */
+	int devnum;	/**< device number */
+	int funcnum;	/**< function number */
+};
+
+enum drm_vblank_seq_type {
+	_DRM_VBLANK_ABSOLUTE = 0x0,	/**< Wait for specific vblank sequence number */
+	_DRM_VBLANK_RELATIVE = 0x1,	/**< Wait for given number of vblanks */
+	_DRM_VBLANK_FLIP = 0x8000000,	/**< Scheduled buffer swap should flip */
+	_DRM_VBLANK_NEXTONMISS = 0x10000000,	/**< If missed, wait for next vblank */
+	_DRM_VBLANK_SECONDARY = 0x20000000,	/**< Secondary display controller */
+	_DRM_VBLANK_SIGNAL = 0x40000000	/**< Send signal instead of blocking */
+};
+
+#define _DRM_VBLANK_TYPES_MASK (_DRM_VBLANK_ABSOLUTE | _DRM_VBLANK_RELATIVE)
+#define _DRM_VBLANK_FLAGS_MASK (_DRM_VBLANK_SIGNAL | _DRM_VBLANK_SECONDARY | \
+				_DRM_VBLANK_NEXTONMISS)
+
+struct drm_wait_vblank_request {
+	enum drm_vblank_seq_type type;
+	unsigned int sequence;
+	unsigned long signal;
+};
+
+struct drm_wait_vblank_reply {
+	enum drm_vblank_seq_type type;
+	unsigned int sequence;
+	long tval_sec;
+	long tval_usec;
+};
+
+/**
+ * DRM_IOCTL_WAIT_VBLANK ioctl argument type.
+ *
+ * \sa drmWaitVBlank().
+ */
+union drm_wait_vblank {
+	struct drm_wait_vblank_request request;
+	struct drm_wait_vblank_reply reply;
+};
+
+
+#define _DRM_PRE_MODESET 1
+#define _DRM_POST_MODESET 2
+
+/**
+ * DRM_IOCTL_MODESET_CTL ioctl argument type
+ *
+ * \sa drmModesetCtl().
+ */
+struct drm_modeset_ctl {
+	uint32_t crtc;
+	uint32_t cmd;
+};
+
+/**
+ * DRM_IOCTL_AGP_ENABLE ioctl argument type.
+ *
+ * \sa drmAgpEnable().
+ */
+struct drm_agp_mode {
+	unsigned long mode;	/**< AGP mode */
+};
+
+/**
+ * DRM_IOCTL_AGP_ALLOC and DRM_IOCTL_AGP_FREE ioctls argument type.
+ *
+ * \sa drmAgpAlloc() and drmAgpFree().
+ */
+struct drm_agp_buffer {
+	unsigned long size;	/**< In bytes -- will round to page boundary */
+	unsigned long handle;	/**< Used for binding / unbinding */
+	unsigned long type;	/**< Type of memory to allocate */
+	unsigned long physical;	/**< Physical used by i810 */
+};
+
+/**
+ * DRM_IOCTL_AGP_BIND and DRM_IOCTL_AGP_UNBIND ioctls argument type.
+ *
+ * \sa drmAgpBind() and drmAgpUnbind().
+ */
+struct drm_agp_binding {
+	unsigned long handle;	/**< From drm_agp_buffer */
+	unsigned long offset;	/**< In bytes -- will round to page boundary */
+};
+
+/**
+ * DRM_IOCTL_AGP_INFO ioctl argument type.
+ *
+ * \sa drmAgpVersionMajor(), drmAgpVersionMinor(), drmAgpGetMode(),
+ * drmAgpBase(), drmAgpSize(), drmAgpMemoryUsed(), drmAgpMemoryAvail(),
+ * drmAgpVendorId() and drmAgpDeviceId().
+ */
+struct drm_agp_info {
+	int agp_version_major;
+	int agp_version_minor;
+	unsigned long mode;
+	unsigned long aperture_base;   /**< physical address */
+	unsigned long aperture_size;   /**< bytes */
+	unsigned long memory_allowed;  /**< bytes */

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-head mailing list