diff options
author | dumbbell <dumbbell@FreeBSD.org> | 2015-04-28 19:35:05 +0000 |
---|---|---|
committer | dumbbell <dumbbell@FreeBSD.org> | 2015-04-28 19:35:05 +0000 |
commit | ea79a6539f43803c0c31ce2924f403be84b383cb (patch) | |
tree | 5f6306edb9b0d44300b67836b2a0b9b018a4aa15 /sys/modules | |
parent | 616b358cb6cac89dff87e789620e451b9828c6f3 (diff) | |
download | FreeBSD-src-ea79a6539f43803c0c31ce2924f403be84b383cb.zip FreeBSD-src-ea79a6539f43803c0c31ce2924f403be84b383cb.tar.gz |
drm: Update the device-independent code to match Linux 3.8.13
This update brings few features:
o Support for the setmaster/dropmaster ioctls. For instance, they
are used to run multiple X servers simultaneously.
o Support for minor devices. The only user-visible change is a new
entry in /dev/dri but it is useless at the moment. This is a
first step to support render nodes [1].
The main benefit is to greatly reduce the diff with Linux (at the
expense of an unreadable commit diff). Hopefully, next upgrades will be
easier.
No updates were made to the drivers, beside adapting them to API
changes.
[1] https://en.wikipedia.org/wiki/Direct_Rendering_Manager#Render_nodes
r280814 is merged at the same time to avoid a short window where RANDR
might be broken:
drm: Import Linux commit 9bc3cd5673d84d29272fa7181a4dfca83cbb48c1
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date: Fri May 31 12:17:08 2013 +0000
drm: Sort connector modes based on vrefresh
Keeping the modes sorted by vrefresh before the pixel clock makes the
mode list somehow more pleasing to the eye.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
PR: 198936 (r280814)
Tested by: Many people
MFC of: r280183, r280187 (original commit by glebius), r280814
Relnotes: yes
Diffstat (limited to 'sys/modules')
-rw-r--r-- | sys/modules/Makefile | 2 | ||||
-rw-r--r-- | sys/modules/drm2/Makefile | 7 | ||||
-rw-r--r-- | sys/modules/drm2/drm2/Makefile | 10 | ||||
-rw-r--r-- | sys/modules/drm2/radeonkms/Makefile | 22 |
4 files changed, 32 insertions, 9 deletions
diff --git a/sys/modules/Makefile b/sys/modules/Makefile index cbbf239..f903391 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -866,6 +866,8 @@ _wi= wi .endif .if ${MACHINE_ARCH} == "powerpc64" +_drm2= drm2 +_i2c= i2c .if ${MK_ZFS} != "no" || defined(ALL_MODULES) _zfs= zfs .endif diff --git a/sys/modules/drm2/Makefile b/sys/modules/drm2/Makefile index abbe80f..e4e19fb 100644 --- a/sys/modules/drm2/Makefile +++ b/sys/modules/drm2/Makefile @@ -20,6 +20,13 @@ _radeonkmsfw= radeonkmsfw . endif .endif +.if ${MACHINE_CPUARCH} == "powerpc" +_radeonkms= radeonkms +. if ${MK_SOURCELESS_UCODE} != "no" +_radeonkmsfw= radeonkmsfw +. endif +.endif + SUBDIR = \ drm2 \ ${_i915kms} \ diff --git a/sys/modules/drm2/drm2/Makefile b/sys/modules/drm2/drm2/Makefile index 3bbccb5..35bee29 100644 --- a/sys/modules/drm2/drm2/Makefile +++ b/sys/modules/drm2/drm2/Makefile @@ -13,7 +13,6 @@ SRCS = \ drm_dma.c \ drm_dp_helper.c \ drm_dp_iic_helper.c \ - drm_drawable.c \ drm_drv.c \ drm_edid.c \ drm_fb_helper.c \ @@ -31,10 +30,10 @@ SRCS = \ drm_modes.c \ drm_pci.c \ drm_scatter.c \ - drm_sman.c \ drm_stub.c \ drm_sysctl.c \ drm_vm.c \ + drm_os_freebsd.c \ ttm_agp_backend.c \ ttm_lock.c \ ttm_object.c \ @@ -49,11 +48,16 @@ SRCS = \ ati_pcigart.c #ttm_page_alloc_dma.c -.if ${MACHINE_CPUARCH} == "amd64" +.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_ARCH} == "powerpc64" SRCS += drm_ioc32.c .endif SRCS +=device_if.h bus_if.h pci_if.h device_if.h iicbus_if.h opt_drm.h \ opt_vm.h opt_compat.h opt_syscons.h + +.if ${MACHINE_CPUARCH} == "powerpc" +CWARNFLAGS+=-Wno-cast-qual +.endif + .include <bsd.kmod.mk> diff --git a/sys/modules/drm2/radeonkms/Makefile b/sys/modules/drm2/radeonkms/Makefile index 6315a85..9c9695f 100644 --- a/sys/modules/drm2/radeonkms/Makefile +++ b/sys/modules/drm2/radeonkms/Makefile @@ -17,11 +17,11 @@ SRCS = \ evergreen_reg_safe.h \ cayman_reg_safe.h SRCS += \ - radeon_acpi.c \ + ${radeon_acpi} \ radeon_agp.c \ radeon_asic.c \ radeon_atombios.c \ - radeon_atpx_handler.c \ + ${radeon_atpx_handler} \ radeon_benchmark.c \ radeon_bios.c \ radeon_clocks.c \ @@ -39,6 +39,7 @@ SRCS += \ radeon_gart.c \ radeon_gem.c \ radeon_i2c.c \ + ${radeon_ioc32} \ radeon_irq.c \ radeon_irq_kms.c \ radeon_kms.c \ @@ -88,8 +89,13 @@ SRCS += \ si.c \ si_blit_shaders.c -.if ${MACHINE_CPUARCH} == "amd64" -SRCS += radeon_ioc32.c +.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" +radeon_acpi= radeon_acpi.c +#radeon_atpx_handler= radeon_atpx_handler.c +.endif + +.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_ARCH} == "powerpc64" +radeon_ioc32= radeon_ioc32.c .endif #radeon_prime.c @@ -108,6 +114,10 @@ SRCS += \ iicbus_if.h \ pci_if.h -CFLAGS += -I${.CURDIR}/../../../dev/drm2/radeon ${GCC_MS_EXTENSIONS} - .include <bsd.kmod.mk> + +CFLAGS+= -I${.CURDIR}/../../../dev/drm2/radeon ${GCC_MS_EXTENSIONS} + +CWARNFLAGS.radeon_cp.c= -Wno-unused-value +CWARNFLAGS.r600_cp.c= -Wno-unused-value +CWARNFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}} |