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