[pull] radeon drm-next-3.11

alexdeucher at gmail.com alexdeucher at gmail.com
Thu Jun 27 17:15:35 PDT 2013


From: Alex Deucher <alexander.deucher at amd.com>

Hi Dave,

This is the pull request for radeon for 3.11.  Highlights include:

- Support for CIK (Sea Islands) asics: 3D, compute, UVD
- DPM (Dynamic Power Management) support for 6xx-SI
- ASPM support for 6xx-SI
- Assorted bug fixes

DPM is disabled by default for now until it gets further testing.  DPM
on 6xx and NI asics are still a bit problematic, but other asic families
are generally working well.  You can enable DPM by setting the dpm module
parameter to 1.

The following changes since commit 9b1be4dc02bb6b9761fbd8927c1750d75ddd2a8c:

  drm/radeon: fix UVD on big endian (2013-06-12 08:17:21 -0400)

are available in the git repository at:
  git://people.freedesktop.org/~agd5f/linux drm-next-3.11

Alex Deucher (166):
      drm/radeon: fix AVI infoframe generation
      drm/radeon: add backlight quirk for hybrid mac
      drm/radeon: add a reset work handler
      drm/radeon: add CIK chip families
      drm/radeon: add DCE8 macro for CIK
      drm/radeon: adapt to PCI BAR changes on CIK
      drm/radeon: add gpu init support for CIK (v9)
      drm/radeon: Add support for CIK GPU reset (v2)
      drm/radeon: add support for MC/VM setup on CIK (v6)
      drm/radeon/cik: stop page faults from hanging the system (v2)
      drm/radeon: add initial ucode loading for CIK (v5)
      drm/radeon: add support mc ucode loading on CIK (v2)
      drm/radeon: Add CP init for CIK (v7)
      drm/radeon: add IB and fence dispatch functions for CIK gfx (v7)
      drm/radeon: add ring and IB tests for CIK (v3)
      drm/radeon: implement async vm_flush for the CP (v7)
      drm/radeon: Add support for RLC init on CIK (v4)
      drm/radeon: add support for interrupts on CIK (v5)
      drm/radeon/cik: log and handle VM page fault interrupts
      drm/radeon/cik: add support for sDMA dma engines (v8)
      drm/radeon: implement async vm_flush for the sDMA (v6)
      drm/radeon/cik: add support for doing async VM pt updates (v5)
      drm/radeon/cik: fill in startup/shutdown callbacks (v5)
      drm/radeon: upstream ObjectID.h updates (v2)
      drm/radeon: upstream atombios.h updates (v2)
      drm/radeon: atombios power table updates (v2)
      drm/radeon: handle the integrated thermal controller on CI
      drm/radeon: update power state parsing for CI
      drm/radeon/dce8: add support for display watermark setup
      drm/radeon/cik: add hw cursor support (v2)
      drm/radeon/dce8: properly handle interlaced timing
      drm/radeon/dce8: crtc_set_base updates
      drm/radeon/atom: add DCE8 encoder support
      drm/radeon/atom: add support for new DVO tables
      drm/radeon: update DISPCLK programming for DCE8
      drm/radeon: add support pll selection for DCE8 (v4)
      drm/radeon: Handle PPLL0 powerdown on DCE8
      drm/radeon: use frac fb div on DCE8
      drm/radeon: add SS override support for KB/KV
      drm/radeon: Update radeon_info_ioctl for CIK (v2)
      drm/radeon: add get_gpu_clock_counter() callback for cik
      drm/radeon: update CIK soft reset
      drm/radeon: add indirect register accessors for SMC registers
      drm/radeon: add get_xclk() callback for CIK
      drm/radeon/cik: add pcie_port indirect register accessors
      drm/radeon: update radeon_atom_get_clock_dividers() for SI
      drm/radeon: update radeon_atom_get_clock_dividers for CIK
      drm/radeon/cik: add srbm_select function
      drm/radeon: use callbacks for ring pointer handling (v3)
      drm/radeon: implement simple doorbell page allocator
      drm/radeon/cik: Add support for compute queues (v4)
      drm/radeon/cik: switch to type3 nop packet for compute rings (v2)
      drm/radeon: fix up ring functions for compute rings
      drm/radeon/cik: add support for compute interrupts
      drm/radeon/cik: add support for golden register init
      drm/radeon: add radeon_asic struct for CIK (v12)
      drm/radeon: add cik tile mode array query
      drm/radeon: add current Bonaire PCI ids
      drm/radeon: add current KB pci ids
      drm/radeon/kms: add accessors for RCU indirect space
      drm/radeon/evergreen: add indirect register accessors for CG registers
      drm/radeon: make get_temperature functions a callback
      drm/radeon: add support for thermal sensor on tn
      drm/radeon/kms: move ucode defines to a separate header
      drm/radeon: properly set up the RLC on ON/LN/TN (v3)
      drm/radeon/kms: add atom helper functions for dpm (v3)
      drm/radeon/kms: add new asic struct for rv6xx (v4)
      drm/radeon/kms: add common dpm infrastructure
      drm/radeon/kms: fix up rs780/rs880 display watermark calc for dpm
      drm/radeon/kms: fix up 6xx/7xx display watermark calc for dpm
      drm/radeon/kms: fix up dce4/5 display watermark calc for dpm
      drm/radeon/kms: fix up dce6 display watermark calc for dpm
      drm/radeon/kms: add common r600 dpm functions
      drm/radeon/kms: add dpm support for rs780/rs880
      drm/radeon/kms: add dpm support for rv6xx (v3)
      drm/radeon/kms: add dpm support for rv7xx (v4)
      drm/radeon/kms: add dpm support for evergreen (v4)
      drm/radeon/kms: add dpm support for btc (v3)
      drm/radeon/kms: add dpm support for sumo asics (v2)
      drm/radeon/kms: add dpm support for trinity asics
      drm/radeon/dpm: let atom control display phy powergating
      drm/radeon: add dpm UVD handling for r7xx asics
      drm/radeon: add dpm UVD handling for evergreen/btc asics
      drm/radeon: add dpm UVD handling for sumo asics
      drm/radeon: add dpm UVD handling for TN asics (v2)
      drm/radeon/kms: enable UVD as needed (v9)
      drm/radeon/dpm: add helpers for extended power tables (v2)
      drm/radeon/dpm: track whether we are on AC or battery
      drm/radeon/dpm: fixup dynamic state adjust for sumo
      drm/radeon/dpm: fixup dynamic state adjust for TN
      drm/radeon/dpm: fixup dynamic state adjust for btc (v2)
      drm/radeon/kms: add dpm support for cayman (v5)
      drm/radeon/dpm/rs780: restructure code
      drm/radeon/dpm/rv6xx: restructure code
      drm/radeon/dpm/rv7xx: restructure code
      drm/radeon/dpm/evergreen: restructure code
      drm/radeon/dpm/btc: restructure code
      drm/radeon/dpm/cayman: restructure code
      drm/radeon/dpm/sumo: restructure code
      drm/radeon/dpm/tn: restructure code
      drm/radeon/dpm: add new pre/post_set_power_state callbacks
      drm/radeon/dpm: add pre/post_set_power_state callbacks (6xx-eg)
      drm/radeon/dpm: add pre/post_set_power_state callback (sumo)
      drm/radeon/dpm: add pre/post_set_power_state callback (TN)
      drm/radeon/dpm: add pre/post_set_power_state callback (BTC)
      drm/radeon/dpm: add pre/post_set_power_state callback (cayman)
      drm/radeon/dpm: remove broken dyn state remnants
      drm/radeon: add missing UVD clock set in cayman dpm code
      drm/radeon/dpm: remove local sumo_get_xclk()
      drm/radeon: implement apci perf request
      drm/radeon/atom: add helper to calcuate mpll params
      drm/radeon: update radeon_atom_is_voltage_gpio() for SI
      drm/radeon: update radeon_atom_get_voltage_table() for SI
      drm/radeon: implement pcie gen2/3 support for SI
      drm/radeon: add accessors of pif_phy indirect register space
      drm/radeon: add support for ASPM on evergreen asics
      drm/radeon: add support for ASPM on SI asics (v2)
      drm/radeon: enable additional power gating features on trinity
      drm/radeon: update rlc programming sequence on SI
      drm/radeon: add atom get leakage vddc function
      drm/radeon: add indirect accessors for UVD CTX registers
      drm/radeon: initialize save/restore buffer for pg on verde
      drm/radeon: add clearstate init for verde power gating
      drm/radeon: implement clock and power gating for SI
      drm/radeon/dpm: add an enum for pcie gen selection
      drm/radeon/dpm: pull in phase shedding limits from atom
      drm/radeon/dpm: endian fixes for extended power tables
      drm/radeon/dpm: pull in ppm info from atom
      drm/radeon/dpm: save some display parameters for DPM
      drm/radeon: minor sid.h cleanup
      drm: add some additional fixed point helpers (v3)
      drm/radeon/dpm/cayman: use new fixed point functions (v2)
      drm/radeon: fix some memory leaks in extended table parsing
      drm/radeon/dpm: validate voltages against dispclk requirements
      drm/radeon: update radeon_atombios_get_default_voltages for mvdd
      drm/radeon/dpm: add pcie gen helper function
      drm/radeon: fix typo in atom voltage table handling (6xx-ni)
      drm/radeon: fix typo in atom voltage table handling (si+)
      drm/radeon/atom: fix voltage table parsing
      drm/radeon/dpm/ni: properly catch errors in dpm setup
      drm/radeon/dpm/btc: properly catch errors in dpm setup
      drm/radeon/dpm/evergreen: properly catch errors in dpm setup
      drm/radeon/dpm/sumo: properly catch errors in dpm setup
      drm/radeon/dpm/trinity: properly catch errors in dpm setup
      drm/radeon/dpm/r7xx: properly catch errors in dpm setup
      drm/radeon/dpm/r6xx: properly catch errors in dpm setup
      drm/radeon/dpm/rs780: properly catch errors in dpm setup
      drm/radeon: add SI to r600_is_internal_thermal_sensor()
      drm/radeon: switch SI to use radeon_ucode.h
      drm/radeon/kms: add dpm support for SI (v7)
      drm/radeon/dpm: add dpm_enable failure output (7xx-ni)
      drm/radeon/dpm: add dpm_enable failure output (si)
      drm/radeon/dpm: add dpm_set_power_state failure output (7xx-ni)
      add dpm_set_power_state failure output (7xx-ni)
      drm/radeon/dpm: add dpm_set_power_state failure output (si)
      drm/radeon/dpm: fix typo in setting uvd clock
      drm/radeon/si: fix typo in function name
      drm/radeon: fix typo in cik_select_se_sh()
      drm/radeon: fix typo in ni_print_power_state
      drm/radeon/dpm: add support for setting UVD clock on rs780
      drm/radeon/dpm: add support for setting UVD clock on rv6xx
      drm/radeon/dpm: fix UVD clock setting on cayman
      drm/radeon/dpm: fix UVD clock setting on SI
      drm/radeon: fix endian issues in atombios dpm code
      drm/radeon/NI: fix TDP adjustment in set_power_state
      drm/radeon/SI: fix TDP adjustment in set_power_state

Christian König (1):
      drm/radeon: add UVD support for CIK (v3)

 drivers/gpu/drm/radeon/Makefile               |    5 +-
 drivers/gpu/drm/radeon/ObjectID.h             |   40 +
 drivers/gpu/drm/radeon/atombios.h             |  547 ++-
 drivers/gpu/drm/radeon/atombios_crtc.c        |   88 +-
 drivers/gpu/drm/radeon/atombios_encoders.c    |   51 +-
 drivers/gpu/drm/radeon/btc_dpm.c              | 2740 ++++++++++
 drivers/gpu/drm/radeon/btc_dpm.h              |   57 +
 drivers/gpu/drm/radeon/btcd.h                 |  181 +
 drivers/gpu/drm/radeon/cik.c                  | 6987 +++++++++++++++++++++++++
 drivers/gpu/drm/radeon/cik_blit_shaders.c     |  246 +
 drivers/gpu/drm/radeon/cik_blit_shaders.h     |   32 +
 drivers/gpu/drm/radeon/cik_reg.h              |  147 +
 drivers/gpu/drm/radeon/cikd.h                 | 1297 +++++
 drivers/gpu/drm/radeon/clearstate_cayman.h    | 1081 ++++
 drivers/gpu/drm/radeon/clearstate_defs.h      |   44 +
 drivers/gpu/drm/radeon/clearstate_evergreen.h | 1080 ++++
 drivers/gpu/drm/radeon/clearstate_si.h        |  941 ++++
 drivers/gpu/drm/radeon/cypress_dpm.c          | 2176 ++++++++
 drivers/gpu/drm/radeon/cypress_dpm.h          |  160 +
 drivers/gpu/drm/radeon/evergreen.c            |  644 +++-
 drivers/gpu/drm/radeon/evergreen_hdmi.c       |   11 +-
 drivers/gpu/drm/radeon/evergreen_reg.h        |   12 +
 drivers/gpu/drm/radeon/evergreen_smc.h        |   67 +
 drivers/gpu/drm/radeon/evergreend.h           |  389 ++-
 drivers/gpu/drm/radeon/ni.c                   |  198 +-
 drivers/gpu/drm/radeon/ni_dpm.c               | 4316 +++++++++++++++
 drivers/gpu/drm/radeon/ni_dpm.h               |  248 +
 drivers/gpu/drm/radeon/nid.h                  |  561 ++
 drivers/gpu/drm/radeon/nislands_smc.h         |  329 ++
 drivers/gpu/drm/radeon/ppsmc.h                |  113 +
 drivers/gpu/drm/radeon/r600.c                 |  147 +-
 drivers/gpu/drm/radeon/r600_dpm.c             | 1024 ++++
 drivers/gpu/drm/radeon/r600_dpm.h             |  226 +
 drivers/gpu/drm/radeon/r600_hdmi.c            |   11 +-
 drivers/gpu/drm/radeon/r600_reg.h             |    6 +
 drivers/gpu/drm/radeon/r600d.h                |  232 +-
 drivers/gpu/drm/radeon/radeon.h               |  519 ++-
 drivers/gpu/drm/radeon/radeon_acpi.c          |  145 +
 drivers/gpu/drm/radeon/radeon_asic.c          |  698 +++-
 drivers/gpu/drm/radeon/radeon_asic.h          |  178 +
 drivers/gpu/drm/radeon/radeon_atombios.c      |  880 +++-
 drivers/gpu/drm/radeon/radeon_cs.c            |    1 +
 drivers/gpu/drm/radeon/radeon_cursor.c        |   10 +-
 drivers/gpu/drm/radeon/radeon_device.c        |  106 +-
 drivers/gpu/drm/radeon/radeon_display.c       |   21 +-
 drivers/gpu/drm/radeon/radeon_drv.c           |    7 +-
 drivers/gpu/drm/radeon/radeon_family.h        |    3 +
 drivers/gpu/drm/radeon/radeon_irq_kms.c       |   20 +
 drivers/gpu/drm/radeon/radeon_kms.c           |   41 +-
 drivers/gpu/drm/radeon/radeon_mode.h          |   93 +
 drivers/gpu/drm/radeon/radeon_pm.c            |  607 ++-
 drivers/gpu/drm/radeon/radeon_reg.h           |    1 +
 drivers/gpu/drm/radeon/radeon_ring.c          |   51 +-
 drivers/gpu/drm/radeon/radeon_ucode.h         |  129 +
 drivers/gpu/drm/radeon/radeon_uvd.c           |   32 +-
 drivers/gpu/drm/radeon/rs690.c                |  291 +-
 drivers/gpu/drm/radeon/rs780_dpm.c            |  963 ++++
 drivers/gpu/drm/radeon/rs780_dpm.h            |  109 +
 drivers/gpu/drm/radeon/rs780d.h               |  168 +
 drivers/gpu/drm/radeon/rv515.c                |  224 +-
 drivers/gpu/drm/radeon/rv6xx_dpm.c            | 2059 ++++++++
 drivers/gpu/drm/radeon/rv6xx_dpm.h            |   95 +
 drivers/gpu/drm/radeon/rv6xxd.h               |  246 +
 drivers/gpu/drm/radeon/rv730_dpm.c            |  508 ++
 drivers/gpu/drm/radeon/rv730d.h               |  165 +
 drivers/gpu/drm/radeon/rv740_dpm.c            |  416 ++
 drivers/gpu/drm/radeon/rv740d.h               |  117 +
 drivers/gpu/drm/radeon/rv770_dpm.c            | 2462 +++++++++
 drivers/gpu/drm/radeon/rv770_dpm.h            |  288 +
 drivers/gpu/drm/radeon/rv770_smc.c            |  621 +++
 drivers/gpu/drm/radeon/rv770_smc.h            |  209 +
 drivers/gpu/drm/radeon/rv770d.h               |  279 +-
 drivers/gpu/drm/radeon/si.c                   | 1337 +++++-
 drivers/gpu/drm/radeon/si_dpm.c               | 6387 ++++++++++++++++++++++
 drivers/gpu/drm/radeon/si_dpm.h               |  227 +
 drivers/gpu/drm/radeon/si_smc.c               |  284 +
 drivers/gpu/drm/radeon/sid.h                  |  599 ++-
 drivers/gpu/drm/radeon/sislands_smc.h         |  397 ++
 drivers/gpu/drm/radeon/sumo_dpm.c             | 1801 +++++++
 drivers/gpu/drm/radeon/sumo_dpm.h             |  220 +
 drivers/gpu/drm/radeon/sumo_smc.c             |  222 +
 drivers/gpu/drm/radeon/sumod.h                |  372 ++
 drivers/gpu/drm/radeon/trinity_dpm.c          | 1887 +++++++
 drivers/gpu/drm/radeon/trinity_dpm.h          |  131 +
 drivers/gpu/drm/radeon/trinity_smc.c          |  115 +
 drivers/gpu/drm/radeon/trinityd.h             |  228 +
 include/drm/drm_fixed.h                       |   94 +
 include/drm/drm_pciids.h                      |   24 +
 88 files changed, 52960 insertions(+), 561 deletions(-)
 create mode 100644 drivers/gpu/drm/radeon/btc_dpm.c
 create mode 100644 drivers/gpu/drm/radeon/btc_dpm.h
 create mode 100644 drivers/gpu/drm/radeon/btcd.h
 create mode 100644 drivers/gpu/drm/radeon/cik.c
 create mode 100644 drivers/gpu/drm/radeon/cik_blit_shaders.c
 create mode 100644 drivers/gpu/drm/radeon/cik_blit_shaders.h
 create mode 100644 drivers/gpu/drm/radeon/cik_reg.h
 create mode 100644 drivers/gpu/drm/radeon/cikd.h
 create mode 100644 drivers/gpu/drm/radeon/clearstate_cayman.h
 create mode 100644 drivers/gpu/drm/radeon/clearstate_defs.h
 create mode 100644 drivers/gpu/drm/radeon/clearstate_evergreen.h
 create mode 100644 drivers/gpu/drm/radeon/clearstate_si.h
 create mode 100644 drivers/gpu/drm/radeon/cypress_dpm.c
 create mode 100644 drivers/gpu/drm/radeon/cypress_dpm.h
 create mode 100644 drivers/gpu/drm/radeon/evergreen_smc.h
 create mode 100644 drivers/gpu/drm/radeon/ni_dpm.c
 create mode 100644 drivers/gpu/drm/radeon/ni_dpm.h
 create mode 100644 drivers/gpu/drm/radeon/nislands_smc.h
 create mode 100644 drivers/gpu/drm/radeon/ppsmc.h
 create mode 100644 drivers/gpu/drm/radeon/r600_dpm.c
 create mode 100644 drivers/gpu/drm/radeon/r600_dpm.h
 create mode 100644 drivers/gpu/drm/radeon/radeon_ucode.h
 create mode 100644 drivers/gpu/drm/radeon/rs780_dpm.c
 create mode 100644 drivers/gpu/drm/radeon/rs780_dpm.h
 create mode 100644 drivers/gpu/drm/radeon/rs780d.h
 create mode 100644 drivers/gpu/drm/radeon/rv6xx_dpm.c
 create mode 100644 drivers/gpu/drm/radeon/rv6xx_dpm.h
 create mode 100644 drivers/gpu/drm/radeon/rv6xxd.h
 create mode 100644 drivers/gpu/drm/radeon/rv730_dpm.c
 create mode 100644 drivers/gpu/drm/radeon/rv730d.h
 create mode 100644 drivers/gpu/drm/radeon/rv740_dpm.c
 create mode 100644 drivers/gpu/drm/radeon/rv740d.h
 create mode 100644 drivers/gpu/drm/radeon/rv770_dpm.c
 create mode 100644 drivers/gpu/drm/radeon/rv770_dpm.h
 create mode 100644 drivers/gpu/drm/radeon/rv770_smc.c
 create mode 100644 drivers/gpu/drm/radeon/rv770_smc.h
 create mode 100644 drivers/gpu/drm/radeon/si_dpm.c
 create mode 100644 drivers/gpu/drm/radeon/si_dpm.h
 create mode 100644 drivers/gpu/drm/radeon/si_smc.c
 create mode 100644 drivers/gpu/drm/radeon/sislands_smc.h
 create mode 100644 drivers/gpu/drm/radeon/sumo_dpm.c
 create mode 100644 drivers/gpu/drm/radeon/sumo_dpm.h
 create mode 100644 drivers/gpu/drm/radeon/sumo_smc.c
 create mode 100644 drivers/gpu/drm/radeon/sumod.h
 create mode 100644 drivers/gpu/drm/radeon/trinity_dpm.c
 create mode 100644 drivers/gpu/drm/radeon/trinity_dpm.h
 create mode 100644 drivers/gpu/drm/radeon/trinity_smc.c
 create mode 100644 drivers/gpu/drm/radeon/trinityd.h


More information about the dri-devel mailing list