git: drm/radeon: Update to Linux 3.17 (v2)
Francois Tigeot
ftigeot at crater.dragonflybsd.org
Sat Aug 22 13:41:15 PDT 2015
commit c6f73aab61fac8c404b25589bb53548913079bc6
Author: François Tigeot <ftigeot at wolfpond.org>
Date: Sat Aug 22 18:20:38 2015 +0200
drm/radeon: Update to Linux 3.17 (v2)
Catch up with recent updates in i915kms driver.
While there perform some cleaning in drm and drm/ttm too.
This smallish(1.2MB) diff between Linux v3.12..v3.17 brings
few improvements for radeon cards support on DragonFly BSD.
Driver is VERY experimental even if FF 720p "Hey Mamma"
looks much more pleasing to the eyes on my Xeon box.
Me being Fortran developer(who wants to run OpenCL on BSDs too)
was literally throwing diffs at the fan to see what sticks on.
After cleaning up the mess a bit, these features seems to behave:
kms-syscons switching on R7 240 and 5770 JUNIPER;
current DPorts Xorg;
Xorg-next(1.17.2) + Mesa-next(glamor for radeonsi);
2D tiling now works out of the box on OLAND;
glxgears/cubemap/cuberender mesa demos;
firefox youtube videos(still some blinking on overlays);
mpv -vo vdpau --hwdec=vdpau bsd-0088.mp4 (--vo=opengl too);
UVD (decoding limited to 1080p frame streams);
fragging in OpenArena maxed-out(even ttys[0-8] to quickly check mail);
hdmi audio;
DPM (enabled by default);
gpu temperature monitoring through hw.sensors framework;
automatic firmware loading.
TODO:
update drm/ttm, any help would be really appreciated;
ww_mutex, yep still good old "homegrown" locks;
vma, newer shrinker api;
dma_buf/prime;
iic/i2c rework;
kldunload radeonkms;
better gart sizes support;
newer firmware format support;
fix failing ring sync test to ring-5(UVD);
check how driver supports X2 and IGP cards;
better OpenCL through Clover;
many more.
Thanks goes to:
ftigeot at efnet for opportunity and i915 work
YRabbit at efnet for extensive testing of hdmi A/V on TURKS
ivadasz at efnet for temperature sensors support
mneumann at efnet for testing on HAWAII
AMD for investing time and effort in opensource drivers
NetBSD and Linux gpu developers
Special thanks to:
everyone behind freebsd-ports-graphics/opencl (keep pushing the mngt!)
and that Sweet special girl out there.
Summary of changes:
sys/dev/drm/drm/Makefile | 2 +-
sys/dev/drm/drm_buffer.c | 2 +-
sys/dev/drm/drm_bufs.c | 18 +-
sys/dev/drm/drm_crtc.c | 30 +-
sys/dev/drm/drm_drv.c | 9 +-
sys/dev/drm/drm_edid.c | 3 +
sys/dev/drm/drm_fb_helper.c | 47 +-
sys/dev/drm/drm_fops.c | 2 +-
sys/dev/drm/drm_ioctl.c | 4 +-
sys/dev/drm/drm_lock.c | 4 +-
sys/dev/drm/drm_vm.c | 2 +-
sys/dev/drm/i915/intel_crt.c | 2 +-
sys/dev/drm/i915/intel_display.c | 2 +-
sys/dev/drm/i915/intel_dp.c | 4 +-
sys/dev/drm/i915/intel_dsi.c | 2 +-
sys/dev/drm/i915/intel_dvo.c | 2 +-
sys/dev/drm/i915/intel_fbdev.c | 5 +-
sys/dev/drm/i915/intel_hdmi.c | 2 +-
sys/dev/drm/i915/intel_lvds.c | 2 +-
sys/dev/drm/i915/intel_sdvo.c | 10 +-
sys/dev/drm/i915/intel_tv.c | 2 +-
sys/dev/drm/include/drm/drmP.h | 44 +-
sys/dev/drm/include/drm/drm_crtc.h | 5 +
sys/dev/drm/include/drm/drm_fb_helper.h | 4 +-
sys/dev/drm/include/drm/drm_os_linux.h | 1 -
sys/dev/drm/include/drm/drm_pciids.h | 58 +-
sys/dev/drm/include/drm/ttm/ttm_bo_api.h | 5 +-
sys/dev/drm/include/drm/ttm/ttm_bo_driver.h | 14 +-
sys/dev/drm/include/drm/ttm/ttm_lock.h | 2 -
sys/dev/drm/include/drm/ttm/ttm_placement.h | 3 +
sys/dev/drm/include/linux/pci.h | 8 +
sys/dev/drm/include/uapi_drm/drm.h | 10 +-
sys/dev/drm/include/uapi_drm/radeon_drm.h | 35 +-
sys/dev/drm/radeon/Makefile | 17 +-
sys/dev/drm/radeon/atombios.h | 127 +-
sys/dev/drm/radeon/atombios_crtc.c | 421 +++++--
sys/dev/drm/radeon/atombios_dp.c | 96 +-
sys/dev/drm/radeon/atombios_encoders.c | 156 ++-
sys/dev/drm/radeon/atombios_i2c.c | 17 +-
sys/dev/drm/radeon/btc_dpm.c | 54 +-
sys/dev/drm/radeon/btcd.h | 4 +
sys/dev/drm/radeon/cayman_reg_safe.h | 2 +-
sys/dev/drm/radeon/ci_dpm.c | 219 ++--
sys/dev/drm/radeon/ci_smc.c | 41 +-
sys/dev/drm/radeon/cik.c | 1811 +++++++++++++++++++++------
sys/dev/drm/radeon/cik_sdma.c | 390 ++++--
sys/dev/drm/radeon/cikd.h | 175 ++-
sys/dev/drm/radeon/clearstate_cayman.h | 8 +-
sys/dev/drm/radeon/clearstate_ci.h | 4 +-
sys/dev/drm/radeon/clearstate_si.h | 4 +-
sys/dev/drm/radeon/cypress_dpm.c | 23 +-
sys/dev/drm/radeon/dce3_1_afmt.c | 244 ++++
sys/dev/drm/radeon/dce6_afmt.c | 124 +-
sys/dev/drm/radeon/evergreen.c | 360 ++++--
sys/dev/drm/radeon/evergreen_cs.c | 215 ++--
sys/dev/drm/radeon/evergreen_dma.c | 16 +-
sys/dev/drm/radeon/evergreen_hdmi.c | 151 ++-
sys/dev/drm/radeon/evergreen_reg.h | 4 +-
sys/dev/drm/radeon/evergreen_reg_safe.h | 2 +-
sys/dev/drm/radeon/evergreen_smc.h | 2 +-
sys/dev/drm/radeon/evergreend.h | 77 +-
sys/dev/drm/radeon/kv_dpm.c | 284 +++--
sys/dev/drm/radeon/ni.c | 367 +++---
sys/dev/drm/radeon/ni_dma.c | 270 +++-
sys/dev/drm/radeon/ni_dpm.c | 72 +-
sys/dev/drm/radeon/nid.h | 2 +
sys/dev/drm/radeon/pptable.h | 4 +-
sys/dev/drm/radeon/r100.c | 212 ++--
sys/dev/drm/radeon/r200.c | 22 +-
sys/dev/drm/radeon/r300.c | 63 +-
sys/dev/drm/radeon/r300_cmdbuf.c | 10 +-
sys/dev/drm/radeon/r420.c | 19 +-
sys/dev/drm/radeon/r500_reg.h | 1 +
sys/dev/drm/radeon/r520.c | 3 +
sys/dev/drm/radeon/r600.c | 356 ++++--
sys/dev/drm/radeon/r600_audio.c | 14 +-
sys/dev/drm/radeon/r600_cp.c | 4 +-
sys/dev/drm/radeon/r600_cs.c | 160 +--
sys/dev/drm/radeon/r600_dma.c | 54 +-
sys/dev/drm/radeon/r600_dpm.c | 103 +-
sys/dev/drm/radeon/r600_dpm.h | 4 +-
sys/dev/drm/radeon/r600_hdmi.c | 420 +++----
sys/dev/drm/radeon/r600_reg_safe.h | 2 +-
sys/dev/drm/radeon/r600d.h | 61 +-
sys/dev/drm/radeon/radeon.h | 564 ++++++---
sys/dev/drm/radeon/radeon_agp.c | 11 +-
sys/dev/drm/radeon/radeon_asic.c | 308 +++--
sys/dev/drm/radeon/radeon_asic.h | 233 +++-
sys/dev/drm/radeon/radeon_atombios.c | 240 +++-
sys/dev/drm/radeon/radeon_benchmark.c | 4 +-
sys/dev/drm/radeon/radeon_bios.c | 12 +-
sys/dev/drm/radeon/radeon_combios.c | 82 +-
sys/dev/drm/radeon/radeon_connectors.c | 437 +++++--
sys/dev/drm/radeon/radeon_cp.c | 16 +-
sys/dev/drm/radeon/radeon_cs.c | 523 ++++----
sys/dev/drm/radeon/radeon_device.c | 406 ++++--
sys/dev/drm/radeon/radeon_display.c | 652 +++++++---
sys/dev/drm/radeon/radeon_drv.c | 231 +++-
sys/dev/drm/radeon/radeon_drv.h | 10 +-
sys/dev/drm/radeon/radeon_encoders.c | 48 +-
sys/dev/drm/radeon/radeon_family.h | 3 +
sys/dev/drm/radeon/radeon_fb.c | 9 +-
sys/dev/drm/radeon/radeon_fence.c | 400 +++---
sys/dev/drm/radeon/radeon_gart.c | 930 +-------------
sys/dev/drm/radeon/radeon_gem.c | 109 +-
sys/dev/drm/radeon/radeon_gem.h | 3 -
sys/dev/drm/radeon/radeon_i2c.c | 3 +
sys/dev/drm/radeon/radeon_ib.c | 321 +++++
sys/dev/drm/radeon/radeon_irq.c | 10 +-
sys/dev/drm/radeon/radeon_irq_kms.c | 18 +-
sys/dev/drm/radeon/radeon_irq_kms.h | 4 +-
sys/dev/drm/radeon/radeon_kms.c | 211 +++-
sys/dev/drm/radeon/radeon_kms.h | 2 -
sys/dev/drm/radeon/radeon_legacy_crtc.c | 49 +
sys/dev/drm/radeon/radeon_legacy_encoders.c | 15 +-
sys/dev/drm/radeon/radeon_mem.c | 2 +-
sys/dev/drm/radeon/radeon_mode.h | 75 +-
sys/dev/drm/radeon/radeon_object.c | 251 +++-
sys/dev/drm/radeon/radeon_object.h | 15 +-
sys/dev/drm/radeon/radeon_pm.c | 367 ++++--
sys/dev/drm/radeon/radeon_prime.c | 2 +-
sys/dev/drm/radeon/radeon_ring.c | 505 ++------
sys/dev/drm/radeon/radeon_sa.c | 17 +-
sys/dev/drm/radeon/radeon_semaphore.c | 160 ++-
sys/dev/drm/radeon/radeon_state.c | 20 +-
sys/dev/drm/radeon/radeon_test.c | 72 +-
sys/dev/drm/radeon/radeon_trace.h | 132 +-
sys/dev/drm/radeon/radeon_ttm.c | 215 +++-
sys/dev/drm/radeon/radeon_ucode.h | 12 +-
sys/dev/drm/radeon/radeon_uvd.c | 122 +-
sys/dev/drm/radeon/radeon_vce.c | 774 ++++++++++++
sys/dev/drm/radeon/radeon_vm.c | 1193 ++++++++++++++++++
sys/dev/drm/radeon/reg_srcs/cayman | 4 +-
sys/dev/drm/radeon/reg_srcs/evergreen | 4 +-
sys/dev/drm/radeon/reg_srcs/r600 | 1 +
sys/dev/drm/radeon/rs400.c | 28 +-
sys/dev/drm/radeon/rs600.c | 132 +-
sys/dev/drm/radeon/rs690.c | 41 +-
sys/dev/drm/radeon/rs780_dpm.c | 21 +-
sys/dev/drm/radeon/rv515.c | 25 +-
sys/dev/drm/radeon/rv6xx_dpm.c | 23 +-
sys/dev/drm/radeon/rv770.c | 100 +-
sys/dev/drm/radeon/rv770_dma.c | 12 +-
sys/dev/drm/radeon/rv770_dpm.c | 58 +-
sys/dev/drm/radeon/rv770_dpm.h | 4 -
sys/dev/drm/radeon/rv770_smc.c | 40 +-
sys/dev/drm/radeon/rv770_smc.h | 2 -
sys/dev/drm/radeon/rv770d.h | 7 +
sys/dev/drm/radeon/si.c | 494 +++++---
sys/dev/drm/radeon/si_dma.c | 184 ++-
sys/dev/drm/radeon/si_dpm.c | 254 ++--
sys/dev/drm/radeon/si_dpm.h | 5 +
sys/dev/drm/radeon/si_smc.c | 59 +-
sys/dev/drm/radeon/sid.h | 108 +-
sys/dev/drm/radeon/sislands_smc.h | 5 +-
sys/dev/drm/radeon/sumo_dpm.c | 31 +-
sys/dev/drm/radeon/sumo_smc.c | 1 -
sys/dev/drm/radeon/trinity_dpm.c | 56 +-
sys/dev/drm/radeon/trinity_smc.c | 3 -
sys/dev/drm/radeon/uvd_v1_0.c | 20 +-
sys/dev/drm/radeon/uvd_v2_2.c | 4 +-
sys/dev/drm/radeon/uvd_v3_1.c | 4 +-
sys/dev/drm/radeon/vce_v1_0.c | 187 +++
sys/dev/drm/radeon/vce_v2_0.c | 181 +++
sys/dev/drm/ttm/ttm_bo.c | 52 +-
sys/dev/drm/ttm/ttm_bo_manager.c | 12 +-
sys/dev/drm/ttm/ttm_bo_util.c | 44 +-
sys/dev/drm/ttm/ttm_lock.c | 8 -
sys/dev/drm/ttm/ttm_page_alloc.c | 2 +-
169 files changed, 13370 insertions(+), 6260 deletions(-)
create mode 100644 sys/dev/drm/radeon/dce3_1_afmt.c
create mode 100644 sys/dev/drm/radeon/radeon_ib.c
create mode 100644 sys/dev/drm/radeon/radeon_vce.c
create mode 100644 sys/dev/drm/radeon/radeon_vm.c
create mode 100644 sys/dev/drm/radeon/vce_v1_0.c
create mode 100644 sys/dev/drm/radeon/vce_v2_0.c
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c6f73aab61fac8c404b25589bb53548913079bc6
--
DragonFly BSD source repository
More information about the Commits
mailing list