[pull] radeon drm-next-3.12

Alex Deucher alexdeucher at gmail.com
Fri Aug 30 14:02:46 PDT 2013


Hi Dave,

This is the radeon drm-next request.  Big changes include:
- support for dpm on CIK parts
- support for ASPM on CIK parts
- support for berlin GPUs
- major ring handling cleanup
- remove the old 3D blit code for bo moves in favor of CP DMA or sDMA
- lots of bug fixes


The following changes since commit 6e4dcff3adbf25acb87e74500a58e3c07bdec40f:

  drm/vmwgfx: Split GMR2_REMAP commands if they are to large (2013-08-30 09:03:39 +1000)

are available in the git repository at:

  git://people.freedesktop.org/~agd5f/linux drm-next-3.12

for you to fetch changes up to 679fe80fbe964ea7f9f71781c2ca65b630949da3:

  drm/radeon/dpm: make sure dc performance level limits are valid (CI) (2013-08-30 16:31:25 -0400)

----------------------------------------------------------------
Alex Deucher (104):
      drm/edid: add quirk for Medion MD30217PG
      drm/radeon: switch r6xx+ to using CP DMA for the blit copy callback
      drm/radeon/kms: remove r6xx+ blit copy routines
      drm/radeon: add UVD->DPM helper function (v5)
      drm/radeon/dpm: use multiple UVD power states (v3)
      drm/radeon/dpm: rework thermal state handling
      drm/radeon: default to 1024M gart size on rv770+
      drm/radeon/dpm: use performance state if no UVD state
      drm/radeon/kms: fix up dce8 display watermark calc for dpm
      drm/radeon/cik: implement some more atom helpers for DPM
      drm/radeon: switch CIK to use radeon_ucode.h
      drm/radeon/cik: add support for pcie gen1/2/3 switching
      drm/radeon: add support for ASPM on CIK asics
      drm/radeon/cik: restructure rlc setup
      drm/radeon: clean up sumo_rlc_init() for code sharing
      drm/radeon: convert SI,CIK to use sumo_rlc functions
      drm/radeon: implement clock and power gating for CIK (v3)
      drm/radeon: add indirect accessors for dift registers on CIK
      drm/radeon/sumo add helper to go from vid7 to vid2
      drm/radeon: switch to pptable.h
      drm/radeon: add structs to store uvd clock voltage deps
      drm/radeon/cik: add rlc helpers for DPM
      drm/radeon: add support for thermal controller on KB/KV
      drm/radeon: add CI to r600_is_internal_thermal_sensor()
      drm/radeon: add KB/KV to r600_is_internal_thermal_sensor
      drm/radeon: add get_temperature() callbacks for CIK (v2)
      drm/radeon: adjust si_dpm function for code sharing
      drm/radeon/dpm: update cac leakage table parsing for CI
      drm/radeon/dpm: add support for parsing the atom powertune table
      drm/radeon/dpm: grab mvdd_dependency_on_mclk info from vbios
      drm/radeon: add structs to store vce clock voltage deps
      drm/radeon: add clock voltage dep tables for acp, samu
      drm/radeon: parse the vce clock voltage deps table
      drm/radeon: parse the uvd clock voltage deps table
      drm/radeon/dpm: clean up the extended table error pathes
      drm/radeon: parse the samu clock voltage deps table
      drm/radeon: parse the acp clock voltage deps table
      drm/radeon: add r600_get_pcie_lane_support helper
      drm/radeon/dpm: add vce clocks to radeon_ps
      drm/radeon/dpm: add a helper to encode pcie lane setting
      drm/radeon/dpm: add helper to fetch the vrefresh of the current mode
      drm/radeon/kms: add dpm support for KB/KV
      drm/radeon: add dpm support for CI dGPUs (v2)
      drm/radeon/dpm: add debugfs support for CI
      drm/radeon/dpm: implement force performance level for CI
      drm/radeon/dpm: implement vblank_too_short callback for CI
      drm/radeon/dpm: add debugfs support for KB/KV
      drm/radeon/dpm: implement force performance level for KB/KV
      drm/radeon/dpm: add new callback for powergating UVD (v4)
      drm/radeon: restructure UVD code to handle UVD PG (v2)
      drm/radeon/dpm: implement UVD powergating for KB/KV
      drm/radeon/dpm: implement UVD powergating for CI
      drm/radeon/dpm: add reclocking quirk for ASUS K70AF
      drm/radeon/dpm: adjust the vblank time checks for eg, ni, si
      drm/radeon: fix endian bugs in hw i2c atom routines
      drm/edid: add a helper function to extract the speaker allocation data block (v3)
      drm/radeon: add audio support for DCE6/8 GPUs (v12)
      drm/radeon: set speaker allocation for DCE4/5 (v2)
      drm/radeon: set speaker allocation for DCE3.2
      drm/radeon: add cg and pg flags
      drm/radeon: use new cg/pg flags for SI
      drm/radeon/si: restructure cg code (v3)
      drm/radeon: fixes for gfx clockgating on SI
      drm/radeon: handle cg in SI dpm code
      drm/radeon: enable mgcg on SI
      drm/radeon/si: properly set up the clearstate buffer for pg (v2)
      drm/radeon/si: enable DMA pg by default
      drm/radeon: restructure cg/pg on cik (v2)
      drm/radeon: fixes for gfx clockgating on CIK
      drm/radeon/cik: properly set up the clearstate buffer for pg (v2)
      drm/radeon: handle cg in CI dpm code
      drm/radeon: handle cg in KB/KV dpm code
      drm/radeon: enable mgcg on CIK
      drm/radeon: update line buffer allocation for dce4.1/5
      drm/radeon: update line buffer allocation for dce6
      drm/radeon: update line buffer allocation for dce8
      drm/radeon: check firmware overrides for mclk/sclk ss
      drm/radeon: fix LCD record parsing
      drm/radeon: atombios hw i2c fixes
      drm/radeon: disable the GRPH block when we disable the crtc
      drm/radeon: enable uvd dpm on CI
      drm/radeon/dpm: track uvd gated state for ci
      drm/radeon/dpm: ungate blocks in dpm disable for kb/kv
      drm/radeon: fill in gpu_init for berlin GPU cores
      drm/radeon: add berlin pci ids
      drm/radeon: fix resume on some rs4xx boards (v2)
      drm/radeon: fix handling of variable sized arrays for router objects
      drm/radeon/audio: set up the sads on DCE3.2 asics
      drm/radeon: split out radeon_uvd_resume from uvd_v4_2_resume
      drm/radeon: check the return value of uvd_v1_0_start in uvd_v1_0_init
      drm/radeon/dpm: only need to reprogram uvd if uvd pg is enabled
      drm/radeon: fix init ordering for r600+
      drm/radeon: gcc fixes for radeon_atombios.c
      drm/radeon: gcc fixes for rv6xx dpm
      drm/radeonn: gcc fixes for rv7xx/eg/btc dpm
      drm/radeon: gcc fixes for sumo dpm
      drm/radeon: gcc fixes for trinity dpm
      drm/radeon: gcc fixes for ni dpm
      drm/radeon: gcc fixes for si dpm
      drm/radeon: gcc fixes for ci dpm
      drm/radeon: gcc fixes for kb/kv dpm
      drm/radeon: gcc fixes for extended dpm tables
      drm/radeon/dpm: make sure dc performance level limits are valid (BTC-SI) (v2)
      drm/radeon/dpm: make sure dc performance level limits are valid (CI)

Christian König (6):
      drm/radeon: rework ring function handling
      drm/radeon: rework UVD writeback & [rw]ptr handling
      drm/radeon: remove special handling for the DMA ring
      drm/radeon: separate UVD code v3
      drm/radeon: separate DMA code
      drm/radeon: enable UVD interrupts on CIK

Rafał Miłecki (2):
      drm/radeon: use loop for initializing AFMT blocks
      drm/radeon: set speakers allocation earlier

Sergey Senozhatsky (1):
      radeon kms: fix uninitialised hotplug work usage in r100_irq_process()

Tom Stellard (1):
      drm/radeon/si: Add support for CP DMA to CS checker for compute v2

 drivers/gpu/drm/drm_edid.c                      |   55 +
 drivers/gpu/drm/radeon/Makefile                 |   24 +-
 drivers/gpu/drm/radeon/atombios.h               |  615 +--
 drivers/gpu/drm/radeon/atombios_crtc.c          |    6 +
 drivers/gpu/drm/radeon/atombios_dp.c            |    6 +-
 drivers/gpu/drm/radeon/atombios_encoders.c      |   11 +-
 drivers/gpu/drm/radeon/atombios_i2c.c           |   16 +-
 drivers/gpu/drm/radeon/btc_dpm.c                |    6 +
 drivers/gpu/drm/radeon/cayman_blit_shaders.c    |   54 -
 drivers/gpu/drm/radeon/ci_dpm.c                 | 5239 +++++++++++++++++++++++
 drivers/gpu/drm/radeon/ci_dpm.h                 |  332 ++
 drivers/gpu/drm/radeon/ci_smc.c                 |  262 ++
 drivers/gpu/drm/radeon/cik.c                    | 4383 ++++++++++++-------
 drivers/gpu/drm/radeon/cik_reg.h                |    3 +
 drivers/gpu/drm/radeon/cik_sdma.c               |  785 ++++
 drivers/gpu/drm/radeon/cikd.h                   |  594 ++-
 drivers/gpu/drm/radeon/clearstate_cayman.h      |    2 +-
 drivers/gpu/drm/radeon/clearstate_ci.h          |  944 ++++
 drivers/gpu/drm/radeon/clearstate_evergreen.h   |    2 +-
 drivers/gpu/drm/radeon/cypress_dpm.c            |    3 +-
 drivers/gpu/drm/radeon/dce6_afmt.c              |  278 ++
 drivers/gpu/drm/radeon/evergreen.c              |  532 +--
 drivers/gpu/drm/radeon/evergreen_blit_kms.c     |  729 ----
 drivers/gpu/drm/radeon/evergreen_blit_shaders.c |   54 -
 drivers/gpu/drm/radeon/evergreen_dma.c          |  190 +
 drivers/gpu/drm/radeon/evergreen_hdmi.c         |  100 +-
 drivers/gpu/drm/radeon/evergreend.h             |   11 +
 drivers/gpu/drm/radeon/kv_dpm.c                 | 2645 ++++++++++++
 drivers/gpu/drm/radeon/kv_dpm.h                 |  199 +
 drivers/gpu/drm/radeon/kv_smc.c                 |  207 +
 drivers/gpu/drm/radeon/ni.c                     |  369 +-
 drivers/gpu/drm/radeon/ni_dma.c                 |  338 ++
 drivers/gpu/drm/radeon/ni_dpm.c                 |   14 +-
 drivers/gpu/drm/radeon/ppsmc.h                  |   57 +
 drivers/gpu/drm/radeon/pptable.h                |  682 +++
 drivers/gpu/drm/radeon/r100.c                   |    2 +-
 drivers/gpu/drm/radeon/r600.c                   |  801 +---
 drivers/gpu/drm/radeon/r600_audio.c             |   60 +-
 drivers/gpu/drm/radeon/r600_blit.c              |   31 +
 drivers/gpu/drm/radeon/r600_blit_kms.c          |  785 ----
 drivers/gpu/drm/radeon/r600_blit_shaders.h      |    1 -
 drivers/gpu/drm/radeon/r600_dma.c               |  497 +++
 drivers/gpu/drm/radeon/r600_dpm.c               |  300 +-
 drivers/gpu/drm/radeon/r600_dpm.h               |    6 +
 drivers/gpu/drm/radeon/r600_hdmi.c              |  113 +-
 drivers/gpu/drm/radeon/r600d.h                  |   36 +
 drivers/gpu/drm/radeon/radeon.h                 |  272 +-
 drivers/gpu/drm/radeon/radeon_asic.c            | 1262 +++---
 drivers/gpu/drm/radeon/radeon_asic.h            |  119 +-
 drivers/gpu/drm/radeon/radeon_atombios.c        |  186 +-
 drivers/gpu/drm/radeon/radeon_blit_common.h     |   44 -
 drivers/gpu/drm/radeon/radeon_cs.c              |   13 +-
 drivers/gpu/drm/radeon/radeon_device.c          |   22 +-
 drivers/gpu/drm/radeon/radeon_display.c         |   64 +-
 drivers/gpu/drm/radeon/radeon_drv.c             |    4 +-
 drivers/gpu/drm/radeon/radeon_irq_kms.c         |   10 +-
 drivers/gpu/drm/radeon/radeon_kms.c             |    3 +
 drivers/gpu/drm/radeon/radeon_mode.h            |    3 +-
 drivers/gpu/drm/radeon/radeon_pm.c              |   88 +-
 drivers/gpu/drm/radeon/radeon_ring.c            |   13 +-
 drivers/gpu/drm/radeon/radeon_ucode.h           |   17 +
 drivers/gpu/drm/radeon/radeon_uvd.c             |   58 +-
 drivers/gpu/drm/radeon/rs400.c                  |    9 +-
 drivers/gpu/drm/radeon/rv6xx_dpm.c              |    5 +-
 drivers/gpu/drm/radeon/rv770.c                  |  204 +-
 drivers/gpu/drm/radeon/rv770_dma.c              |  101 +
 drivers/gpu/drm/radeon/rv770_dpm.c              |   15 +-
 drivers/gpu/drm/radeon/rv770d.h                 |   16 +
 drivers/gpu/drm/radeon/si.c                     |  830 ++--
 drivers/gpu/drm/radeon/si_dma.c                 |  235 +
 drivers/gpu/drm/radeon/si_dpm.c                 |   80 +-
 drivers/gpu/drm/radeon/sid.h                    |   71 +
 drivers/gpu/drm/radeon/smu7.h                   |  170 +
 drivers/gpu/drm/radeon/smu7_discrete.h          |  486 +++
 drivers/gpu/drm/radeon/smu7_fusion.h            |  300 ++
 drivers/gpu/drm/radeon/sumo_dpm.c               |   22 +-
 drivers/gpu/drm/radeon/sumo_dpm.h               |    3 +
 drivers/gpu/drm/radeon/trinity_dpm.c            |    7 +-
 drivers/gpu/drm/radeon/uvd_v1_0.c               |  436 ++
 drivers/gpu/drm/radeon/uvd_v2_2.c               |  165 +
 drivers/gpu/drm/radeon/uvd_v3_1.c               |   55 +
 drivers/gpu/drm/radeon/uvd_v4_2.c               |   68 +
 include/drm/drm_edid.h                          |    1 +
 include/drm/drm_pciids.h                        |   18 +
 include/uapi/drm/radeon_drm.h                   |    2 +
 85 files changed, 20894 insertions(+), 6962 deletions(-)
 create mode 100644 drivers/gpu/drm/radeon/ci_dpm.c
 create mode 100644 drivers/gpu/drm/radeon/ci_dpm.h
 create mode 100644 drivers/gpu/drm/radeon/ci_smc.c
 create mode 100644 drivers/gpu/drm/radeon/cik_sdma.c
 create mode 100644 drivers/gpu/drm/radeon/clearstate_ci.h
 create mode 100644 drivers/gpu/drm/radeon/dce6_afmt.c
 delete mode 100644 drivers/gpu/drm/radeon/evergreen_blit_kms.c
 create mode 100644 drivers/gpu/drm/radeon/evergreen_dma.c
 create mode 100644 drivers/gpu/drm/radeon/kv_dpm.c
 create mode 100644 drivers/gpu/drm/radeon/kv_dpm.h
 create mode 100644 drivers/gpu/drm/radeon/kv_smc.c
 create mode 100644 drivers/gpu/drm/radeon/ni_dma.c
 create mode 100644 drivers/gpu/drm/radeon/pptable.h
 delete mode 100644 drivers/gpu/drm/radeon/r600_blit_kms.c
 create mode 100644 drivers/gpu/drm/radeon/r600_dma.c
 delete mode 100644 drivers/gpu/drm/radeon/radeon_blit_common.h
 create mode 100644 drivers/gpu/drm/radeon/rv770_dma.c
 create mode 100644 drivers/gpu/drm/radeon/si_dma.c
 create mode 100644 drivers/gpu/drm/radeon/smu7.h
 create mode 100644 drivers/gpu/drm/radeon/smu7_discrete.h
 create mode 100644 drivers/gpu/drm/radeon/smu7_fusion.h
 create mode 100644 drivers/gpu/drm/radeon/uvd_v1_0.c
 create mode 100644 drivers/gpu/drm/radeon/uvd_v2_2.c
 create mode 100644 drivers/gpu/drm/radeon/uvd_v3_1.c
 create mode 100644 drivers/gpu/drm/radeon/uvd_v4_2.c


More information about the dri-devel mailing list