From: Alex Deucher <alexander.deucher@xxxxxxx> 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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel